On June 11, 2026, Sonatype researchers disclosed the Atomic Arch operation: a supply-chain campaign that hijacked more than 400 Arch User Repository (AUR) packages to inject a malicious npm package, atomic-lockfile, via PKGBUILD. By June 12, the operators had triggered a second wave, expanding the attack surface to roughly 1,500 packages and introducing Bun-based installations. The root cause is not a traditional software vulnerability but a flawed ownership-transfer mechanism that rewards history over actual package custody.
- Attackers exploited the AUR's ownership transfer mechanism for orphaned packages to inherit their name, history, and reputation
- The primary payload is a Rust-based infostealer that steals SSH keys, GitHub tokens, npm credentials, cloud API keys, and browser sessions
- An optional eBPF-based component provides persistence and hides processes, files, and socket inodes when executed with root privileges
- The second wave, observed on June 12, 2026, introduced
js-digestandlockfile-jspackages with Bun-based installation, bringing the estimated total to roughly 1,500 packages
How Package Inheritance Works and Why It Is Lethal
The AUR, Arch Linux's community-managed repository, allows anyone to "adopt" abandoned packages. The mechanism is straightforward: request ownership transfer, and the new identity inherits not only the name but the entire download history, accumulated reviews, and search visibility. The Atomic Arch operators realized this trust inheritance beats typosquatting: no need to deceive with lookalike names, just seize the authentic ones.
According to StepSecurity's analysis, "if a maintainer abandons a package, another user can request to adopt it, inheriting the package name and its reputation." The Hacker News researchers identified a further refinement: attackers forged git commit metadata to make changes appear to originate from a historical maintainer. An Arch Linux Trusted User later confirmed that account had not been compromised; the forgery was purely cosmetic but sufficient to delay detection.
Confirmed compromised packages include alvr and premake-git, both with significant ecosystem history. The community subsequently identified 408 tainted packages via grep on AUR git mirrors, though the exact count remains in flux.
From PKGBUILD to Rootkit: The Technical Chain
Delivery hinges on modifying PKGBUILD scripts — the build files AUR executes locally on users' machines. These scripts contain instructions to fetch dependencies, compile sources, and install components. Attackers inserted a npm install atomic-lockfile directive (or later variants) as a bridge to the actual payload.
The npm package atomic-lockfile@1.4.2, reverse-engineered by independent researcher Whanos, contains a preinstall hook that executes a Linux ELF binary named deps. This is the Rust infostealer proper. Sonatype tracks the campaign internally as Sonatype-2026-003775, with a CVSS score of 8.7. No public CVE identifier has been assigned.
Data exfiltration occurs in two stages: initial HTTP upload to temp.sh, then communication with a C2 server reachable via a Tor onion service, with a local loopback proxy. Targeted data includes SSH keys, GitHub tokens, npm tokens, cloud service API keys, Docker/Podman credentials, and browser sessions. This profiling explicitly targets developer machines and CI/CD runners.
When the payload gains root execution, it activates an additional eBPF-based component. The rootkit uses pinned BPF maps with specific names — hidden_pids, hidden_names, hidden_inodes — to conceal processes, file activity, and socket inodes. Mechanical persistence is achieved via a systemd service with a Restart=always directive.
"Ownership hijacking beats typosquatting. Instead of publishing lookalike packages, the attackers targeted abandoned but trusted packages, inheriting users and reputation in one move." — StepSecurity analysis
The Second Wave and the AUR Shutdown
The operators' adaptation speed surprised analysts. By June 12, 2026, reports emerged of a second wave replacing the npm installation path with bun install js-digest, leveraging the Bun JavaScript runtime to bypass potential npm package filters. SecurityWeek and Sonatype also document the use of lockfile-js as a naming variant. The estimated total of compromised packages thus rises to roughly 1,500, up from the 400+ initially reported by StepSecurity and The Hacker News.
Arch Linux responded by suspending new AUR account registrations, a measure aimed at containing further fraudulent adoptions during cleanup operations. Available sources indicate no packages in the official Arch Linux repositories were compromised; the attack was confined to the AUR.
The Cross-Ecosystem Pattern: Inherited Trust, Not Verified
Atomic Arch's architecture is not confined to Arch Linux. The fundamental problem — transferable ownership that preserves historical trust — replicates in Homebrew (tap and formula abandonment), npm (package transfer and maintainership), PyPI (PEP 541 transfer requests), and GitHub Actions (marketplace action versioning and maintainer changes). In each case, a silent changing of the guard can turn a legitimate artifact into an attack vector without altering its apparent identity.
The dossier does not quantify the number of machines actually compromised, nor identify the campaign operators. Also unresolved are the role of a monero-wallet-gui file detected in some instances — whether functional or a distraction — and the operation's overall duration before disclosure.
Immediate Actions
The following actions derive directly from source guidance:
- Rebuild from clean media any host that executed builds from AUR packages during the campaign's active period: eBPF and systemd persistence render a simple malware scan insufficient
- Rotate all credentials exposed on developer machines or CI runners, including SSH keys, GitHub tokens, npm tokens, and cloud API keys
- Check for installation of Bun packages such as
js-digestorlockfile-jsvariants as a secondary compromise path - Reevaluate adoption policies in community-managed repositories, requiring observation periods or identity verification before transferring ownership of packages with significant history
The Lesson That Goes Beyond Arch
Atomic Arch demonstrates that the supply chain does not begin with source code, but with the system that governs its custody. The attack exploited no buffer overflow or logic flaw; it exploited the assumption, rooted in every packaging ecosystem, that whoever holds a name deserves its trust. As long as transfer mechanisms preserve this unconditional inheritance, the Atomic Arch pattern will remain reproducible — on any platform that lets a newcomer wear a predecessor's mantle.
Information verified against cited sources and current as of publication.
Sources
- https://www.stepsecurity.io/blog/400-aur-packages-hijacked-atomic-arch-campaign
- https://www.securityweek.com/atomic-arch-supply-chain-attack-hits-1500-aur-packages/
- https://thehackernews.com/2026/06/over-400-arch-linux-aur-packages.html
- https://www.sonatype.com/blog/atomic-arch-npm-campaign-adds-malicious-dependency
- https://docs.stepsecurity.io/github-actions/harden-runner
- https://docs.stepsecurity.io/dev-machine-guard
- https://support.sonatype.com/