Skip to main content
Mallory
Back to malware
Malware

atomic-lockfile

atomic-lockfile is a malicious npm package used in the June 2026 "Atomic Arch" supply-chain campaign targeting the Arch User Repository (AUR). Attackers adopted orphaned AUR packages and modified PKGBUILD or install scripts to fetch and install the rogue npm package atomic-lockfile, including via npm install of version 1.4.2. The package’s package.json contained a preinstall lifecycle hook that executed an embedded Linux ELF payload at ./src/hooks/deps. Researchers described deps as a stripped 64-bit Rust ELF credential stealer with optional root-only eBPF rootkit capabilities. Reported targets include developer workstations and build environments, with theft focused on SSH keys, GitHub tokens, npm credentials, Docker and Podman authentication data, HashiCorp Vault tokens, browser cookies and local storage, Slack, Discord, Microsoft Teams, Telegram data, VPN configuration files, and shell histories. The payload can validate stolen credentials against legitimate APIs, establish persistence via systemd services in system or user contexts, and when run with sufficient privileges load an eBPF rootkit that hides processes and socket inodes from tools such as ps, top, htop, netstat, and ss. Reported network behavior includes communication with the Tor onion service olrh4mibs62l6kkuvvjyc5lrercqg5tz543r4lsw3o6mh5qb7g7sneid.onion via POST requests to /api/agent and separate uploads to temp.sh via /upload. The campaign was associated with AUR accounts including arojas, custodiatovar, and veramagalhaes, and the malicious npm publisher herbsobering. A reported SHA-256 for the deps sample delivered via atomic-lockfile is 6144D433F8A0316869877B5F834C801251BBB936E5F1577C5680878C7443C98B.

Share:
For your environment

Hunt this family in your stack

Mallory pivots from this family to the IOCs, detections, and named campaigns that touch your stack, and pages you when something new lands.

MITRE ATT&CK

Techniques & procedures

22 distinct techniques documented for this family, organized by ATT&CK tactic.

Initial Access

3 techniques
T1195Supply Chain CompromiseEvidence6

Attackers took over more than 400 packages in the Arch User Repository (AUR) this week and rewrote their build scripts to install a credential stealer on any machine that built them.

T1195.001Compromise Software Dependencies and Development ToolsEvidence3

The attackers adopted abandoned packages, edited the build files, and let users run the payload for them.

T1199Trusted RelationshipEvidence1

This attack goes after the trust model, not a software flaw. The compromised packages kept their names, their histories, and the trust that came with them. Only the build instructions changed.

Execution

7 techniques
T1059Command and Scripting InterpreterEvidence6

Once a package was adopted, its PKGBUILD or .install script was edited to run npm install atomic-lockfile during the build... A second wave used bun install js-digest

T1059.004Unix ShellEvidence1

Sonatype researchers say that the threat actor hijacked at least 20 orphaned packages on AUR and pushed atomic-lockfile by modifying the PKGBUILD file - a Bash script with the build information needed by Arch Linux packages.

T1059.007JavaScriptEvidence1

atomic-lockfile ‘s package.json contains a preinstall lifecycle hook: "preinstall": "./src/hooks/deps"

T1106Native APIEvidence1

Analysis identified references to an eBPF program ( scales.bpf.c ) and to libbpf APIs including: bpf_object__load bpf_program__attach bpf_map__pin

T1127Trusted Developer Utilities Proxy ExecutionEvidence1

A user runs their AUR helper ( yay , paru , or raw makepkg ) to install or update a package.

T1574Hijack Execution FlowEvidence1

They modified the packages' PKGBUILD to introduce a post-install script that executes npm install atomic-lockfile minimist chalk during package installation, causing affected systems to retrieve and install the npm package atomic-lockfile.

T1574.006Dynamic Linker HijackingEvidence1

the compromised packages are modified with preinstall scripts that download and execute a malicious npm package called atomic-lockfile.

Privilege Escalation

1 technique
T1055.013Process DoppelgängingEvidence1

Beyond data theft, the malware employed rootkit-style persistence techniques, disguising its active processes as legitimate kernel threads to evade detection by standard process monitors like ps and htop.

Stealth

9 techniques
T1014RootkitEvidence3

Static analysis identified functionality associated with process, file, and network hiding. The eBPF-related functionality references hooks for getdents64(), the system call used to enumerate directory entries, and maintains structures named hidden_pids, hidden_names, and hidden_inodes.

T1036MasqueradingEvidence1

The outer package is a largely functional TypeScript npm package (legitimate atomic-lockfile project) with the ELF binary inserted into its source tree.

T1055.013Process DoppelgängingEvidence1

Beyond data theft, the malware employed rootkit-style persistence techniques, disguising its active processes as legitimate kernel threads to evade detection by standard process monitors like ps and htop.

T1127Trusted Developer Utilities Proxy ExecutionEvidence1

A user runs their AUR helper ( yay , paru , or raw makepkg ) to install or update a package.

T1218System Binary Proxy ExecutionEvidence1

This means a developer workstation, maintainer machine, or CI/build host could execute the malware as a side effect of building or installing the compromised AUR package.

T1564Hide ArtifactsEvidence1

the npm package installed a Linux executable with references to an eBPF rootkit that could hide processes, files, and network interfaces.

T1574Hijack Execution FlowEvidence1

They modified the packages' PKGBUILD to introduce a post-install script that executes npm install atomic-lockfile minimist chalk during package installation, causing affected systems to retrieve and install the npm package atomic-lockfile.

T1574.006Dynamic Linker HijackingEvidence1

the compromised packages are modified with preinstall scripts that download and execute a malicious npm package called atomic-lockfile.

T1622Debugger EvasionEvidence1

The executable also contains functionality associated with Linux socket diagnostics interfaces, including NETLINK_SOCK_DIAG, and logic related to debugger detection through PTRACE_ATTACH and PTRACE_SEIZE, suggesting efforts to reduce visibility and hinder analysis.

Credential Access

4 techniques
T1539Steal Web Session CookieEvidence2

The binary contains references to GitHub credentials, SSH artifacts, HashiCorp Vault tokens, browser cookie databases, Slack, Discord, Microsoft Teams, and Telegram data stores.

T1552Unsecured CredentialsEvidence1

SSH private keys — enabling attackers to pivot to remote servers and infrastructure System environment variables — potentially exposing API tokens, cloud credentials, and application secrets Cryptocurrency wallet data — targeting local wallet files and seed phrases.

T1555Credentials from Password StoresEvidence2

The binary contains references to GitHub credentials, SSH artifacts, HashiCorp Vault tokens, browser cookie databases, Slack, Discord, Microsoft Teams, and Telegram data stores. Taken together, these references strongly indicate credential and token harvesting functionality.

T1649Steal or Forge Authentication CertificatesEvidence2

A report ... notes that more than 400 packages ... are distributing a Linux rootkit and infostealer malware targeting credentials and access tokens.

Discovery

1 technique
T1622Debugger EvasionEvidence1

The executable also contains functionality associated with Linux socket diagnostics interfaces, including NETLINK_SOCK_DIAG, and logic related to debugger detection through PTRACE_ATTACH and PTRACE_SEIZE, suggesting efforts to reduce visibility and hinder analysis.

Command and Control

1 technique
T1105Ingress Tool TransferEvidence4

its PKGBUILD or .install script was edited to run npm install atomic-lockfile during the build, pulling the malicious npm package alongside a couple of legitimate ones for cover.

Exfiltration

1 technique
T1567Exfiltration Over Web ServiceEvidence1

The executable also includes archive support, multipart form-data handling, and HTTP upload functionality, including references to POST /upload, indicating potential data collection and exfiltration capabilities.

INDICATORS OF COMPROMISE

IOCs tracked for this family

2 indicators attributed across vendor reports, sandbox runs, and researcher write-ups. Full values are available in Mallory.

View more in app
Network
1 tracked

IPs, domains, and DNS infrastructure linked to this family.

Hashes
1 tracked

File hashes (MD5, SHA-1, SHA-256) from samples and reports.

TypeValueLatest sighting
domain●●●●●●●●●●●●View more in apptoday
hash.sha256●●●●●●●●●●●●View more in apptoday
What this page doesn’t show

The version that knows your environment.

This page is what’s public. Mallory adds the parts that aren’t: which of your assets match these IOCs, which detections are missing, which campaigns to expect next, and what to do in the next 30 minutes.
IOC matching2

Match every observed IP, domain, and hash against your live telemetry.

Threat actor attribution

Named campaigns wielding this family, with evidence pinned to each claim.

Exploited vulnerabilities

CVEs this family uses for access and lateral movement.

Detection signatures

YARA, Sigma, Snort, and vendor rules, auto-deployed to your SIEM.

MITRE ATT&CK mapping22

Every documented technique, ranked by evidence weight.

Researcher chatter

Reddit, Mastodon, and CTI community discussion around this family.