ProBackend
cybersecurity
3 hours ago4 min read

IronWorm Malware Hits 36 npm Packages in Supply Chain Attack

A new infostealer malware named IronWorm has compromised 36 packages on the npm index, targeting 86 environment variables and 20 credential files—including OpenAI, AWS, Anthropic, npm credentials, vault configs, SSH keys, and Exodus wallet files. The Rust-based malware hides behind an eBPF rootkit, uses Tor for C2, self-propagates via stolen npm credentials (including Trusted Publishing secrets), and can leverage GitHub Actions to upload exfiltrated data as build artifacts.

Cypress Moretti

A new malware campaign has been uncovered targeting developers and organizations worldwide through the Node Package Manager (npm) ecosystem. Security researchers have identified a sophisticated infostealer malware named IronWorm that has infected 36 malicious packages currently active on the npm public registry. This supply chain attack represents one of the most comprehensive efforts to harvest sensitive credentials and configuration data from developer environments in recent memory.

The IronWorm campaign demonstrates a disturbing evolution in supply chain attack methodology. Rather than relying on zero-day vulnerabilities or sophisticated obfuscation, the attackers used a combination of typosquatting and compromised package credentials to distribute their malware. Once installed, the malicious packages silently scan for and exfiltrate data from 86 distinct environment variables commonly used in development and deployment environments.

This article examines the IronWorm attack vector, technical analysis of the malware's behavior, and practical mitigation steps organizations can take to protect their developer infrastructure.

Why This Matters for Modern Software Development

The discovery of IronWorm comes at a critical time as organizations increasingly rely on third-party dependencies to accelerate development timelines. The npm registry alone hosts over 2 million packages, making comprehensive security coverage an immense challenge for maintainers and users alike.

What makes IronWorm particularly concerning is its precision targeting of environment variables. Unlike generic malware that scours file systems for any credential it can find, IronWorm is engineered to extract highly specific values that developers and DevOps engineers commonly use in their workflows. This targeted approach suggests the attackers have done extensive reconnaissance to identify which variables are most likely to yield valuable credentials in real-world environments.

For development teams, this means that even if they're using reputable CI/CD platforms and implementing security best practices, their applications remain vulnerable if malicious packages slip into their dependency trees. The campaign underscores a fundamental truth about modern software development: in an era of complex supply chains, every dependency represents a potential attack surface.

Key Technical Insights from BleepingComputer

According to JFrog researchers, IronWorm is written in Rust and hides behind an eBPF kernel rootkit, communicating with operators over the Tor network. The Rust-based malware self-propagates by using stolen credentials to publish on npm—including secrets associated with npm's Trusted Publishing workflow.

Once it compromises a developer or CI environment, IronWorm can publish trojanized versions of packages owned by the victim, which then infect additional developers and CI systems. This behavior is conceptually similar to Shai Hulud, which was published on GitHub recently, though JFrog researchers did not find a clear connection between IronWorm and Shai Hulud, they observed the same commit names in both supply-chain attacks.

The attack started from a compromised account named ‘asteroiddao,’ which published package versions containing the Rust ELF binary executed via preinstall hooks, pushing malicious commits into repositories. The commit author appeared as “claude,” and timestamps pointed to several years ago—even though the commits were pushed in the past few days—likely to evade investigation.

Exfiltration Mechanisms

While the current analyzed IronWorm attack did not utilize external command-and-control (C2) infrastructure, JFrog researchers identified a sophisticated exfiltration mechanism that leverages GitHub Actions.

The malware serializes stolen secrets into a single value and writes them to a file with a harmless-looking name, masquerading as lint or formatting output. In theory, this file can be uploaded as a build artifact in GitHub Actions workflows. Anyone with access to the repository—including the attacker—can then download the artifact, avoiding the need for external C2 entirely.

This approach is notable because it repurposes legitimate CI/CD infrastructure as a data exfiltration channel, making detection significantly more difficult.

Comparison to Similar Attacks

A related supply-chain attack, the HTTP/2 Rapid Reset Vulnerability, shares conceptual similarities with IronWorm. While JFrog researchers did not find a clear connection between IronWorm and the HTTP/2 Rapid Reset attack, they observed coordinated campaigns exploiting trusted publishing workflows and aiming to compromise CI environments. Both underscore the critical need for stronger artifact signing and pipeline integrity checks.

Prevention and Mitigation

Organizations should:

  • Enable npm two-factor authentication (2FA) for all maintainers.
  • Audit installed dependencies using npm ls and rotate exposed credentials immediately.
  • Review CI/CD pipeline logs for unauthorized modifications or suspicious build artifacts.
  • Implement strict access controls on GitHub Actions workflows and artifact permissions.

Introduction

More blogs