### Threat Model Change The threat model now **explicitly includes self-reproducing programs** (a “Trog”-like structure) as a form of Trojan horse, moving beyond mere code checks to recognize that *even “free of Trojan horses” code can be manipulated* to self-reproduce. Prior to this paper, the threat model assumed code was “free of” Trojans, but the author reveals a critical flaw: the code’s *source* is not the sole vulnerability; the *people* who wrote it could be compromised (e.g., a program could be “bugged” to reproduce itself). This shift means **threats arise from both code and the people who wrote it**, not just the code alone. ### Defense Strategy **Trust the people who wrote the code**, but *rigorously verify their credibility*. The author demonstrates this with the “Trog” example: if you cannot trust the code alone (as the paper says), you must trust the people who wrote it. Specifically: - **Validate source code**: Check for self-reproducing structures (e.g., via compiler diagnostics). - **Verify author intent**: Confirm the author’s technical background (e.g., Dennis Ritchie’s work). - **Audit source code**: Look for signs of “excess baggage” (e.g., arbitrary code that self-reproduces, as shown in the paper’s example). **Do not rely solely on source-level checks**—trust the *people* who created the code. This is the core lesson: *“You can’t trust code you did not totally create yourself.”* ### Short & Efficient Summary The threat model now accounts for self-reproducing programs (a Trojan horse), shifting from code checks to people’s credibility. Defense: Trust the people who wrote the code. Verify source code for self-reproducing structures; audit author background. No amount of source-level scrutiny protects you from untrusted code.