Counte-rmeasures
https://obsidian.md/blog/less-is-safer/
- choosing fewer dependencies
- shallow graphs
- exact version pins
- no postinstall
- a slow, review-heavy upgrade cadence
Examples
- xzutils example
- other attempts
- ways to defend your project
https://luj.fr/blog/how-nixos-could-have-detected-xz.html
- xz example and how it affected Nixpkgs bootstrap
- countermeasures
Attempted attacks
https://blog.pypi.org/posts/2025-09-16-github-actions-token-exfiltration/
- attack tp steal GitHub access tokens
- target: PyPI
- replace long-lived tokens with Trusted Publisher’s short-lived ones
Package repository security
https://repos.openssf.org/principles-for-package-repository-security.html
Tools
Examples
Go - Typosquatting + persistent module cache
https://socket.dev/blog/malicious-package-exploits-go-module-proxy-caching-for-persistence