ANIMAL trojan replicated across mainframes
ANIMAL was one of the earliest documented examples of a self-replicating "trojan horse" program. Created by John Walker, it presented as a simple "20 questions" game guessing animals but secretly searched the system for other terminals and copies of itself.
Story
ANIMAL began as a guessing game for UNIVAC 1100 systems. The game learned from players, corrected its own animal tree, and was popular enough that users asked John Walker for copies.
Walker added a general subroutine called PERVADE to solve distribution by automation. While the game ran, PERVADE examined directories writable by the current user and copied the current program into places where no copy, or only an older copy, existed.
That made ANIMAL less a prank than an early supply-chain lesson: the useful program was also the distribution mechanism. There was no separate installer, updater, or exploit kit; every trusted run could become a copy operation into another trusted location.
The code did not exploit an operating-system bug. It used normal access and shared directories. When a privileged user ran it, ANIMAL could reach system libraries; when users exchanged tapes, the program moved between installations.
The payload was benign, but the lesson was not. ANIMAL showed that a useful program could carry quiet replication logic, cross trust boundaries through ordinary use, and spread faster than policy could reason about it.
Affected Artifacts
- Observed
- 1975-01-01 to 1976-01-01
- Compromised Versions
- Unknown
- Fixed
- Not listed
- Hashes
-
- md5:45ad4d25c049b3dc75efc0a725bb8a4f
- Evidence
- distribution: fourmilab.ch/documents/univac/animalsrc.html, mirror: fourmilab.ch/documents/univac/animal.html, Original code had no version control system
- Affected artifact was described as the 1975 UNIVAC 1100 Series version; no precise package version is known.
Incident Context
- Motive
- Experimentation Notoriety
- Attribution
- Maintainer
- Cause
- Sabotage
- Transitive
- No
- Actor
- Author
External References
- The Animal Episodefourmilab.ch
- ANIMAL Source Codefourmilab.ch
Source record: oss/attacks/animal/meta.yaml