Skip to main content
Meet us at Black Hat USA 2026— Las Vegas, August 1–6Book a Meeting
Mallory
MalwareUsed by 1 actor

IronWorm

IronWorm is a Rust-based, self-propagating supply-chain malware and infostealer distributed through trojanized npm packages. JFrog reported the campaign affecting 36-37 malicious package versions, including activity tied to the compromised npm account asteroiddao and the Arweave/WeaveDB ecosystem. The malware executes via npm preinstall hooks that launch a hidden Linux ELF binary, including binaries placed under paths such as tools/setup. It is designed to steal high-value developer and CI/CD secrets from Linux environments, including 86 targeted environment variables and more than 20 credential files. Reported targets include SSH keys, npm publishing credentials, GitHub tokens, cloud credentials, Docker and Podman authentication data, Kubernetes and Vault secrets, browser/session data, messaging-platform tokens, AI-service API keys, and Exodus cryptocurrency wallet data. Researchers also reported modules that target Kubernetes service-account tokens and accessible Secrets, and logic to capture Exodus wallet passwords and recovery phrases.

IronWorm uses stolen credentials to propagate further through the software supply chain. Reported propagation mechanisms include modifying accessible GitHub repositories, inserting malicious and backdated commits, adding build-hook changes, and publishing additional trojanized npm packages. JFrog reported 57 malicious commits across nine GitHub organizations and noted spoofed identities such as claude, Dependabot, Renovate, and github-actions. The malware can abuse npm Trusted Publishing by obtaining short-lived publish tokens from CI OIDC workflows, allowing package publication without stored npm credentials. Researchers also identified GitHub Actions-based exfiltration logic that could serialize secrets into a benign-looking file and upload them as build artifacts, although JFrog stated this mechanism was not observed being used in the analyzed campaign.

For stealth and persistence, IronWorm includes an eBPF-based Linux kernel rootkit that hides processes and network activity from standard tools, and multiple reports state it communicates with operators over the Tor network. Reported command-and-control behavior includes beaconing to a Tor hidden service endpoint and support for commands to upload secrets, drop files, and execute remote shells. The malware was described as custom-built and operationally similar to Shai-Hulud or Mini Shai-Hulud, but the available content states that no direct linkage was confirmed. High-confidence indicators mentioned in the content include the fake commit author email claude@users.noreply.github.com, the Tor hidden-service path /api/agent, the onion address olrh4mibs62l6kkuvvjyc5lrercqg5tz543r4lsw3o6mh5qb7g7sneid.onion, rootkit artifacts under /sys/fs/bpf/hidden_*, and the Ethereum address 0x7e28D9889f414B06c19a22A9Bd316f0AC279a4d6 derived from a hardcoded wallet recovery phrase excluded from theft.

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.

THREAT ACTORS

Groups observed using it

1 distinct threat actor attributed by public researchers. Open in Mallory to see the full evidence chain and overlapping campaigns.

View more details
TeamPCP

Специалисты компании JFrog обнаружили инфостилер IronWorm, который успел заразить 36 пакетов и был нацелен на кражу секретов разработчиков, учетных данных для облачных сервисов и ключей доступа.

via xakepxakep.ru
MITRE ATT&CK

Techniques & procedures

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

Initial Access

3 techniques
T1078Valid AccountsEvidence4

It uses those stolen tokens to compromise additional packages... If an attacker gains those credentials, they push malicious code under your name.

T1195Supply Chain CompromiseEvidence3

Экосистема npm пострадала от новой атаки на цепочку поставок... инфостилер IronWorm успел заразить 36 пакетов... Получив доступ к машине разработчика или CI/CD-среде, вредонос использует похищенные учетные данные для публикации новых зараженных пакетов в npm.

T1195.001Compromise Software Dependencies and Development ToolsEvidence1

Multiple software supply chain attacks have hit the npm ecosystem, with threat actors using both malicious and poisoned versions of over 50 legitimate packages to distribute a Rust-based information stealer and a self-spreading worm, respectively.

Execution

3 techniques
T1059Command and Scripting InterpreterEvidence3

The malicious activity has been traced back to a compromised npm account named "asteroiddao," which has been found to publish package versions containing the Rust ELF binary that's executed via a preinstall hook.

T1059.004Unix ShellEvidence1

The package.json gave away the trick: { "scripts" : { "preinstall" : "./tools/setup" } } preinstall runs before npm even starts resolving dependencies.

T1574Hijack Execution FlowEvidence1

...были опубликованы версии пакетов с вредоносным Rust-бинарником, который запускался на этапе preinstall...

Persistence

2 techniques
T1078Valid AccountsEvidence4

It uses those stolen tokens to compromise additional packages... If an attacker gains those credentials, they push malicious code under your name.

T1556Modify Authentication ProcessEvidence1

the malicious payload is equipped to swap existing GitHub Actions workflows for one that's capable of harvesting the secrets, writing it to a harmless-looking file, and uploading it as a build artifact

Privilege Escalation

1 technique
T1078Valid AccountsEvidence4

It uses those stolen tokens to compromise additional packages... If an attacker gains those credentials, they push malicious code under your name.

Stealth

8 techniques
T1014RootkitEvidence4

...маскирует свою активность с помощью eBPF-руткита.

T1027Obfuscated Files or InformationEvidence1

The sample was a Linux ELF executable packed with a lightly modified UPX stub... The sample also hid most of its useful strings... each call site used its own parameters.

T1036MasqueradingEvidence2

The payload was placed under an innocuous-looking path such as tools/setup or .github/scripts/precheck . This was committed under the author name claude <claude@users.noreply.github.com> ... Workflow commits are using a rotating cast of familiar automation identities - dependabot , renovate , github-actions.

T1078Valid AccountsEvidence4

It uses those stolen tokens to compromise additional packages... If an attacker gains those credentials, they push malicious code under your name.

T1564Hide ArtifactsEvidence3

This component works as a Linux kernel rootkit that helps to hide the malware’s processes and network activity.

T1564.001Hidden Files and DirectoriesEvidence1

When anything in /proc was listed , the rootkit rewrote the results in place, removing hidden PIDs before userland tools could see them.

T1564.008Email Hiding RulesEvidence1

The rootkit parsed /proc/net/tcp as it was read and removed rows belonging to hidden sockets. It also applied similar filtering to the netlink interface used by tools like ss

T1574Hijack Execution FlowEvidence1

...были опубликованы версии пакетов с вредоносным Rust-бинарником, который запускался на этапе preinstall...

Defense Impairment

1 technique
T1556Modify Authentication ProcessEvidence1

the malicious payload is equipped to swap existing GitHub Actions workflows for one that's capable of harvesting the secrets, writing it to a harmless-looking file, and uploading it as a build artifact

Credential Access

5 techniques
T1528Steal Application Access TokenEvidence3

The credential sweep is exhaustive. The binary reaches for 86 environment variables spanning every major platform... source-control and package-registry tokens, CI/CD systems, messaging platforms, Vault and Kubernetes.

T1552.001Credentials In FilesEvidence2

Малварь нацелена на кражу... SSH-ключи, конфигурации хранилищ и файлы криптовалютных кошельков Exodus.

T1555Credentials from Password StoresEvidence4

It harvests high-value Linux development secrets—SSH keys, cloud tokens, package publishing credentials.

T1556Modify Authentication ProcessEvidence1

the malicious payload is equipped to swap existing GitHub Actions workflows for one that's capable of harvesting the secrets, writing it to a harmless-looking file, and uploading it as a build artifact

T1649Steal or Forge Authentication CertificatesEvidence3

Малварь нацелена на кражу 86 переменных окружения... учетные данные от сервисов OpenAI, AWS, Anthropic и npm, SSH-ключи, конфигурации хранилищ... Среди украденных данных встречаются и секреты, используемые механизмом Trusted Publishing.

Discovery

1 technique
T1082System Information DiscoveryEvidence1

Малварь нацелена на кражу 86 переменных окружения (пары key-value)...

Collection

1 technique
T1119Automated CollectionEvidence1

The ${{ toJSON(secrets) }} expression serializes the secrets available to the workflow run into a single value; the next step writes it to a file with a harmless-looking name.

Command and Control

6 techniques
T1071Application Layer ProtocolEvidence1

The malware was also found to accept commands for uploading secrets, dropping files and running remote shells through a Tor-based command-and-control (C2) setup.

T1071.001Web ProtocolsEvidence1

Then it beacons out to an endpoint called /api/agent ... The conversation itself is plain HTTP wrapped inside the Tor tunnel

T1090ProxyEvidence1

the information stealer "scrapes every secret it can find on a developer's machine, hides behind an eBPF kernel rootkit, and answers to its operator over Tor."

T1090.003Multi-hop ProxyEvidence1

IronWorm написан на Rust, взаимодействует со своими операторами через Tor...

T1105Ingress Tool TransferEvidence2

The malware was also found to accept commands for uploading secrets, dropping files and running remote shells through a Tor-based command-and-control (C2) setup.

T1219Remote Access ToolsEvidence1

The malware was also found to accept commands for uploading secrets, dropping files and running remote shells through a Tor-based command-and-control (C2) setup.

Exfiltration

3 techniques
T1041Exfiltration Over C2 ChannelEvidence1

The malware was also found to accept commands for uploading secrets... through a Tor-based command-and-control (C2) setup. ... the attacks share similarities including self-propagation and exfiltration of data to GitHub.

T1567Exfiltration Over Web ServiceEvidence1

the final step uploads that file as a build artifact, where it can be downloaded by anyone with sufficient access... Another piece of code suggests a possible fallback path... The agent uploads it to temp.sh , a public file host

T1567.002Exfiltration to Cloud StorageEvidence1

...механизм эксфильтрации данных через GitHub Actions... вредонос способен собирать похищенные секреты в единый файл... а затем загружать как build artifact.

INDICATORS OF COMPROMISE

IOCs tracked for this family

11 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
9 tracked

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

Other
1 tracked

Other indicator types observed in public reporting.

TypeValueLatest sighting
hash.sha1●●●●●●●●●●●●View more in app3 days ago
hash.sha1●●●●●●●●●●●●View more in app3 days ago
domain●●●●●●●●●●●●View more in app15 days ago
email●●●●●●●●●●●●View more in app20 days ago
hash.md5●●●●●●●●●●●●View more in app21 days ago
hash.sha1●●●●●●●●●●●●View more in app21 days ago
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 matching11

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

Threat actor attribution1

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 mapping28

Every documented technique, ranked by evidence weight.

Researcher chatter

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