3 ms·
Yes, it's worrisome. An issue like this was brought up on golang-nuts in 2014 [1]; the response from the devs was that this behavior is intentional [2], and the
by niftich 10y ago
Yes, it's worrisome. An issue like this was brought up on golang-nuts in 2014 [1]; the response from the devs was that this behavior is intentional [2], and they note that this happens with other compilers as well.
I'm attempting to say this without sounding facetious: it's generally bad for privacy if you install tools and compilers to a personally-identifiable path, compile programs from personally-identifiable directories, perhaps using personally-identifiable accounts. Using generic paths (which is in this case the Go default), generically-named work directories, and generic-sounding user accounts is a viable mitigation, that has been used by many programmers who get burned by this from various environments.
As you suggest, perhaps there's an education gap here, because this is well-known by security professionals and intelligence services (like the CIA [3]), and less well-known by developers. Furthermore, most of these privacy-leaking behaviors are being (re-)discovered or discussed as a part of the 'reproducible builds' movement (like this one) to attempt to identify context-specific behavior, rather than a concentrated approach about privacy in particular.
[1] https://groups.google.com/forum/#!topic/golang-nuts/oVDD8oPvDIY https://groups.google.com/forum/#!topic/golang-nuts/oVDD8oPv...
[2] https://groups.google.com/d/msg/golang-nuts/oVDD8oPvDIY/fQ_r_gECFbUJ https://groups.google.com/d/msg/golang-nuts/oVDD8oPvDIY/fQ_r...
[3] https://wikileaks.org/ciav7p1/cms/page_27721733.html https://wikileaks.org/ciav7p1/cms/page_27721733.html
- rainbowmverse 10y agoI used to enjoy digging into strings buried in binaries trying to find paths from the development environment.
- AdamJacobMuller 10y agoAt least for Go, I feel like this should be quite obvious to most developers. The first time I saw a go stack trace I strings-d the binary to confirm, as I suspected, that they embedded this information in the binary. I filed it away and didn't think about it much since then (I'm not saying nobody could care, I just don't do things that require that kind of privacy)
- laumars 10y agoThe devs were right that this does happen with other compilers as well and has been an issue with a great many compilers across a great many languages for as long as I can recall (I remember tearing Windows binaries apart in the 90s to glean information about the developers environment). Thankfully this is less of an issue these days due to the proliferation of containerisation technologies and automated build pipelines, meaning the build system can be completely separated from developers working environment (eg a Jenkins box)