Incident CVE-2024-Yikes

· security coding · Source ↗

TLDR

  • A stolen YubiKey and an AI-generated phishing link triggered a 73-hour supply chain cascade compromising an estimated 4.2 million developer machines, resolved accidentally by a cryptocurrency worm.

Key Takeaways

  • Root cause: left-justify maintainer (847M weekly downloads) lost hardware 2FA, then entered nmp credentials on a phishing site surfaced by a Google AI Overview.
  • Malware spread through vulpine-lz4 (Rust) -> snekpack (Python build tool, vendored for “memory safety”) to ~4.2M developers; payload included an SSH backdoor and reverse shell active only on Tuesdays.
  • cryptobro-9000, an unrelated crypto mining worm, accidentally patched the incident by running pip install --upgrade, upgrading snekpack to a clean release before any official fix landed.
  • Dependabot auto-merged the malicious PR after CI passed because the malware installed the volkswagen package to fake green CI.
  • The nmp registry permits password-only auth for packages under 10M weekly downloads; mandatory 2FA was already policy but did not prevent credential theft via phishing.

Hacker News Comment Review

  • Commenters agree the supply chain model itself is broken but resist removing package registries like crates.io or npm, viewing them as net positives worth hardening rather than abandoning.
  • Proposed mitigation: Rust Foundation-backed auditing of a curated set of core crates, analogous to how the Rust language itself is audited, paired with cultural pressure toward fewer, larger dependencies rather than micro-crate proliferation (tokio cited as a model).

Original | Discuss on HN