Alright, but out of curiosity, how would it even be possible? It seems like if you leave no evidence that can be traced to you, then it couldn't be, right?
Are you sure the USB drive hasn't been compromised by some malicious spyware? Were your machines ever nearby speakers? Did you touch the thumb drive? There are probably fingerprints or DNA on it. Were you seen by anybody else delivering the drive to its destination? You seem to be under the impression that distribution via physical means rules out tracking the distribution back to you, but this just rules out some means of doing so. You can still be tracked down the old-school way if somebody cared to (which nobody does).
So you're saying that when you compile, the compiler first searches through all your code, looking for certain attribute definitions, wherever they may be, in order to make certain settings certain ways for compilation? That's a little odd.
It's not odd, that's how compilers work. They scan through the source code you provide them, interpreting the text in various ways that causes them to build up various data structures that represent the program, and then they write an executable to disk based on the information in those data structures. They don't necessarily do this in a "first pass," although they might (modern C# compilers make several passes over the source code).
In the case of these assembly attributes though, they don't really impact compilation much. The compiler sees them, reads them, and stores them for later. Once it is done everything else it writes them out to disk in the executable file with everything else.
And what if you declare that same kind of attribute in two different places, but different ways? Then how would it know which one to use?
For certain attributes, that's an error. For others, it's a warning, or the compiler will simply choose the first one it saw or the last one it saw. Generally this is covered in the documentation. It's not any different than if you wrote code that declared a variable with the same name twice in the same scope. The compiler is more than capable of detecting this and producing an error message and making you fix it.