Skip to main content
Mallory
Malware

deps

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

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

Initial Access

2 techniques
T1195Supply Chain CompromiseEvidence3

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 ToolsEvidence2

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

Execution

4 techniques
T1059.007JavaScriptEvidence1

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

T1106Native APIEvidence1

npm automatically runs that hook before installing the package which directly executes the malicious ELF binary.

T1127Trusted Developer Utilities Proxy ExecutionEvidence1

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

T1204User ExecutionEvidence1

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

Persistence

3 techniques
T1543Create or Modify System ProcessEvidence2

For persistence, it installs a systemd service with Restart=always. With root it copies itself under /var/lib/ and writes a unit under /etc/systemd/system/; as a normal user it uses the home directory and a per-user unit under ~/.config/systemd/user/.

T1543.002Systemd ServiceEvidence2

For persistence, it installs a systemd service with Restart=always. With root it copies itself under /var/lib/ and writes a unit under /etc/systemd/system/; as a normal user it uses the home directory and a per-user unit under ~/.config/systemd/user/.

T1547Boot or Logon Autostart ExecutionEvidence1

Persistence depends on privilege level at execution time: Root: Copies itself to a generated path under /var/lib/ , installs a systemd service unit under /etc/systemd/system/ Non-root: Uses the current user’s home directory and installs a per-user systemd unit under ~/.config/systemd/user/

Privilege Escalation

3 techniques
T1543Create or Modify System ProcessEvidence2

For persistence, it installs a systemd service with Restart=always. With root it copies itself under /var/lib/ and writes a unit under /etc/systemd/system/; as a normal user it uses the home directory and a per-user unit under ~/.config/systemd/user/.

T1543.002Systemd ServiceEvidence2

For persistence, it installs a systemd service with Restart=always. With root it copies itself under /var/lib/ and writes a unit under /etc/systemd/system/; as a normal user it uses the home directory and a per-user unit under ~/.config/systemd/user/.

T1547Boot or Logon Autostart ExecutionEvidence1

Persistence depends on privilege level at execution time: Root: Copies itself to a generated path under /var/lib/ , installs a systemd service unit under /etc/systemd/system/ Non-root: Uses the current user’s home directory and installs a per-user systemd unit under ~/.config/systemd/user/

Stealth

6 techniques
T1014RootkitEvidence4

When it does activate, it hides the malware's own processes, process names, and socket inodes from standard tools, using pinned BPF maps named hidden_pids, hidden_names, and hidden_inodes, and it kills attempts to attach a debugger.

T1036MasqueradingEvidence1

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

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 ArtifactsEvidence2

When deps runs with CAP_BPF (i.e., as root), it loads a kernel-level eBPF program that hides its own processes, process names, and socket inodes from userspace.

T1622Debugger EvasionEvidence2

it kills attempts to attach a debugger.

Credential Access

7 techniques
T1528Steal Application Access TokenEvidence1

It collects: GitHub, npm, and HashiCorp Vault tokens, plus OpenAI/ChatGPT bearer material and account metadata

T1539Steal Web Session CookieEvidence2

It collects: Cookies, tokens, and local storage from Chromium-based browsers (Chrome, Edge, Brave, and many more)

T1552Unsecured CredentialsEvidence2

It collects: SSH keys, known_hosts, and shell histories Docker and Podman credentials and VPN profiles

T1552.001Credentials In FilesEvidence2

It collects... GitHub, npm, and HashiCorp Vault tokens... SSH keys, known_hosts, and shell histories Docker and Podman credentials and VPN profiles

T1555Credentials from Password StoresEvidence1

The payload targets SSH keys, GitHub tokens, npm credentials, Docker and Podman auth, HashiCorp Vault tokens, browser session data, Slack, Discord, Microsoft Teams, Telegram, VPN config files, and shell histories.

T1555.003Credentials from Web BrowsersEvidence1

It also enumerates Chromium-family browser profiles – reading SQLite cookie databases and LevelDB local storage

T1649Steal or Forge Authentication CertificatesEvidence2

The payload targets SSH keys

Discovery

3 techniques
T1057Process DiscoveryEvidence1

When deps runs with CAP_BPF (i.e., as root), it loads a kernel-level eBPF program that hides its own processes, process names, and socket inodes from userspace.

T1083File and Directory DiscoveryEvidence1

The payload targets SSH keys, GitHub tokens, npm credentials, Docker and Podman auth, HashiCorp Vault tokens, browser session data, Slack, Discord, Microsoft Teams, Telegram, VPN config files, and shell histories.

T1622Debugger EvasionEvidence2

it kills attempts to attach a debugger.

Collection

1 technique
T1560Archive Collected DataEvidence1

Collector results are serialized into shared output objects and sent as POST /api/agent to the onion C2

Command and Control

5 techniques
T1071Application Layer ProtocolEvidence2

Command and control runs through a Tor onion service via a local loopback proxy.

T1071.001Web ProtocolsEvidence1

Collector results are serialized into shared output objects and sent as POST /api/agent to the onion C2 through a local loopback/SOCKS transport.

T1090ProxyEvidence3

Command and control runs through a Tor onion service via a local loopback proxy.

T1090.003Multi-hop ProxyEvidence1

The local loopback traffic is just an intermediate relay layer – the actual destination is that Tor hidden service, making the C2 highly resistant to takedown.

T1105Ingress Tool TransferEvidence2

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

2 techniques
T1041Exfiltration Over C2 ChannelEvidence1

Collector results are serialized into shared output objects and sent as POST /api/agent to the onion C2 through a local loopback/SOCKS transport.

T1048Exfiltration Over Alternative ProtocolEvidence2

Stolen files go out over HTTP to temp.sh.

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 mapping31

Every documented technique, ranked by evidence weight.

Researcher chatter

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