Offline wallets are not threatened by the physical security of the data moving back and forth. I don't care if an attacker has access to the data I'm moving back and forth between the computers because it's only raw transaction data, which is all going to end up in the public blockchain anyway. What I'm concerned about is what nasty things an attacker can do to a USB key to "autorun" and compromise the offline system when it is plugged in. While autorun.inf is the most vulnerable way to induce arbitrary code execution, there's other creative ways attackers have been able to compromise system.
In Windows, there was a vulnerability in the ...png?...library that is used to render the icons embedded in files to be displayed in the file explorer next to the file name (for instance, you always see .exe files that have custom icons when displayed in file browser or on the desktop). An attacker only needed to modify the icon header of the file to exploit that vulnerability which gives it root access to your system. And simply the act of viewing the file in a file browser--you don't even click on it--will cause the malicious icon code to be executed and compromise your system. This is not USB-specific, as it could be easily executed via email if you can get the person to simply download the file... compromised as soon as the download directory is viewed in a file explorer)
And to do this, the attacker wouldn't even be adding any files to the key: it would simply be bloating one of the existing files with a new icon header. In the same way, he could pull a private key off the system by embedding it in slack space in one of the existing files, or injecting it into the icon header, or using steganography to hide it in an existing image file (if there were any on the USB key). Unfortunately, private keys are small enough that they could be embedded just about anywhere.
EDIT: How could I forget
NTFS alternate data streams!. Windows was trying to improve compatibility using them, but opened up a
massive security hole in their filesystem: the ability to embed data and even executables in files in such a way that it doesn't even show up in file explorer!
I'm not suggesting any of this is likely -- it requires very resourceful attacker. But these things are
possible. I'd rather come up with a 100% solution now and never think about it again. That's why I started
this thread. It seems that USB-serial port cables are good way to move raw ASCII back and forth without any risk of the online computer inducing remote code execution on the offline system. i.e. the offline system doesn't even receive a
file via serial, it listens on the serial port for an ASCII-only stream of bytes that can be parsed successfully as a BIP 0010 packet. The only potential vulnerability there would be if the "unserializeAscii" method in Armory had an exploitable vulnerability in it -- but that is ludicrously far-fetched for an text-parsing-only method that fails to do anything else unless the received data passes a sha256 checksum and matches the BIP 0010 format.
EDIT: On that last note, anything that will be processing the BIP 10 "packet" would be vulnerable, not just the BIP validation method. If for instance, I had an "eval(packet[i:i+j])" as part of the BIP 10 parser, an attacker might be able to construct a valid BIP 0010 packet that has malicious executable [python] code between byte i and byte i+j. This is one reason I avoid "eval()" function at all costs in all python programs. But as you can see, the available attack vectors are cut down to virtually nothing with a few precautions.