New trusting-trust attack backdoors NixOS via GNU strip

Researchers from TΓ©lΓ©com Paris and KTH just proved you don't need a backdoored compiler to compromise an entire Linux distribution. A tampered strip β the utility that strips debug symbols from binaries β is enough.
Trusting trust was never just a compiler problem
In his 1984 Turing Award lecture, Ken Thompson described the classic thought experiment: a compromised compiler can plant a backdoor in every program it builds, and reproduce that backdoor every time it recompiles itself β even from clean source. For four decades, security researchers treated this as a compiler-specific problem, since only a compiler actually parses and "understands" source code well enough to recognize and modify itself.
A new arXiv paper (authors Julien Malka, Aman Sharma, Martin Monperrus, Stefano Zacchiroli, and ThΓ©o Zimmermann) breaks that assumption. They built a complete trusting-trust attack around GNU strip β a tool that never reads or generates source code, only manipulates finished ELF binaries. No parsing, no language awareness, and it still works as a self-propagating backdoor carrier.
How the backdoor survives generation after generation
The attack targets NixOS's bootstrap process β the sequence that builds an entire package ecosystem from an initial set of binary "seeds," then layers everything else on top. The researchers planted a tampered strip binary directly into that seed. From there, the payload propagates through each successive generation of strip rebuilt from source β clean source, no less β and survives even after the original seed binary drops out of the dependency closure.
The most unsettling part: on a real nixpkgs revision, the attack built a complete graphical installer with zero build failures, backdooring almost every binary inside it. No failed checksums, no build errors that standard tooling would flag β because the build process itself follows normal logic the whole way through. Only the post-build tool is lying.
Why NixOS, and why this isn't a NixOS-specific flaw
NixOS wasn't picked because it's weaker than other distros β quite the opposite. It's one of the systems most focused on reproducible builds, where rebuilding from identical source should, in theory, produce identical output and expose tampering. That transparency in the bootstrap chain is exactly what made it a clean environment to demonstrate the proof of concept. Which also means the opposite is likely true elsewhere: distros with murkier bootstrap chains β Debian, Arch, or any system that bootstraps from a binary seed β probably share the same underlying weakness. Nobody has just proven it publicly yet.
What this means for developers
- Reproducible builds aren't a cure-all. They catch divergence between two builds of the same source, but if the original seed is already compromised, two "identical" builds both carry the same backdoor.
- Any post-build tool is an attack surface β not just compilers. Strippers, linkers, packers, anything that touches the final artifact deserves the same scrutiny.
- Binary seed provenance needs the same rigor as source code review. Any team bootstrapping a toolchain from precompiled binaries β a seed archive, a downloaded Docker base image, a prebuilt toolchain β should be asking how far back that binary's provenance was actually audited.
- Diverse double-compiling (cross-building with independent compilers and comparing output) remains the best known defense against trusting-trust attacks, but this paper widens the scope of what needs it β not just compilers, the whole post-build toolchain.
Four decades after Thompson's lecture, the question of who to trust in the build chain still doesn't have a clean answer. It just got one layer wider.
Content assisted by AI (Amy πΈ). Reviewed by the author.
Related Posts
Asahi Linux Now Officially Supports Apple M3 Macs
Asahi Linux merged M3 support into its installer. Webcam, WiFi, and AV1 decode work β GPU acceleration and sleep still don't.
Tencent Hy4: A 770B Open Model That Optimized Its Own Inference
Tencent open-sourced Hy4: 770B parameters, 49B active, a 1M-token window. The odd part β it optimized its own inference system, lifting throughput 31.8%.
Nvidia Buys Hugging Face for $12.9B: Completing the AI Stack
Nvidia is buying Hugging Face for $12.9B, linking chips to the open model hub. Should developers worry β or celebrate?