Miasma worm compromises 73 Microsoft GitHub repositories in escalating supply chain attack

3 Sources

Share

The self-replicating Miasma worm has infiltrated 73 Microsoft GitHub repositories across Azure, Azure-Samples, Microsoft, and MicrosoftDocs organizations. The malware exploits AI coding tools like Claude Code and Cursor to harvest developer credentials and spread autonomously. GitHub disabled the affected repositories within 105 seconds, but the incident marks a significant escalation in ongoing supply chain attacks targeting open-source ecosystems.

Miasma Worm Breaches Microsoft's GitHub Infrastructure

Microsoft has become the latest high-profile victim of the Miasma worm, a self-replicating malware campaign that compromised 73 Microsoft GitHub repositories across four organizations including Azure, Azure-Samples, Microsoft, and MicrosoftDocs

1

. GitHub disabled access to the affected repositories within 105 seconds of detection, displaying violation notices to users attempting to access projects like "Azure/azure-functions-host"

2

. This supply chain attack represents the most significant escalation yet in a campaign that has been spreading across open-source platforms for weeks, exposing critical vulnerabilities in how developers trust and interact with code repositories.

Source: Hacker News

Source: Hacker News

The incident impacted critical Azure infrastructure projects including azure-search-openai-demo-purviewdatasecurity, durabletask and its implementations across .NET, Go, Java, JS, and MSSQL, functions-container-action, llm-fine-tuning, and windows-driver-docs . What makes this breach particularly concerning is the re-compromise of the "durabletask" PyPI package, which was previously infected by TeamPCP last month to deliver an information stealer on Linux systems.

Exploiting AI Coding Agents for Credential Theft

The Miasma worm employs a novel attack vector that specifically targets AI coding agents, marking a dangerous evolution in supply chain malware. The attacker planted a 4.3 MB payload runner wired to execute automatically through five developer tools: Claude Code, Gemini CLI, Cursor, VS Code, and the npm test script

2

. The payload detonates when a developer simply clones an affected repository and opens it in an AI coding assistant—a common workflow that didn't exist a year ago.

Once triggered, the Bun-based worm harvests compromised developer credentials for AWS, Azure, GCP, Kubernetes, npm, and GitHub . The credential theft mechanism enables the malware to commit itself into any repository the victim can write to, spreading autonomously across the ecosystem. Security researcher Paul McCarty noted that "when the repo at the root of last month's compromise is the hub of this month's takedown, that is not a coincidence—that is the same wound reopening"

1

. This suggests whoever held those credentials in May never fully lost access.

IronWorm and the Expanding npm Ecosystem Threat

Parallel to the Miasma worm attacks, a new threat called IronWorm has emerged targeting the npm ecosystem with trojanized npm packages

3

. JFrog researchers discovered this Rust-based information stealer that scrapes every secret on a developer's machine, hides behind an eBPF kernel rootkit, and communicates with operators over Tor. The malware targets 86 environment variables and various files containing credentials for OpenAI Codex, Anthropic, Claude, Google Gemini, Cursor, Amazon Web Services, Docker, Kubernetes, npm, vault configurations, and Exodus cryptocurrency wallet files.

Source: Hacker News

Source: Hacker News

The malicious activity traces back to a compromised npm account named "asteroiddao," which published package versions containing the Rust ELF binary executed via a preinstall hook

3

. IronWorm functions as "a supply chain weapon built to find secrets, modify projects, and inject malicious code to self-propagate across GitHub," according to JFrog. The malicious commits span nine GitHub organizations and were introduced under the author name "claude" in an attempt to mimic Anthropic's AI chatbot.

New Miasma Variant Uses Phantom Gyp Technique

Endor Labs and StepSecurity identified a distinct campaign that compromised 57 npm packages across more than 286 malicious versions to serve a new variant of the Miasma worm

3

. This wave employs a technique called "Phantom Gyp"—instead of preinstall or postinstall lifecycle scripts that security tools typically monitor, the attacker abuses a 157-byte binding.gyp file to trigger code execution during npm install, bypassing most install-script security checks entirely.

Affected packages include ai-sdk-ollama, autotel, awaitly, effect-analyzer, eslint-plugin-awaitly, executable-stories-cypress, http-uploader-dev, mountly, node-env-resolver, and node-env-resolver-aws

3

. The stolen data was exfiltrated to a now-inaccessible GitHub account "liuende501," which staged 236 repositories as an exfiltration point before being removed.

Exploiting Trust Models in Open-Source Ecosystems

These coordinated attacks expose fundamental weaknesses in the trust model underpinning software delivery in open-source ecosystems. As FalconFeeds.io explained, "The worm's genius and the reason conventional defences largely failed is that it operates entirely within legitimate channels. It does not exploit a vulnerability in npm or GitHub. It exploits the trust model those platforms are built on: the assumption that if a package is signed with a valid key and published by an authenticated maintainer, it is safe"

1

.

The Miasma worm compromises the key and the maintainer, then proceeds to act exactly as a legitimate publisher would. From the registry's perspective, every malicious publish event is indistinguishable from a routine update. This represents one of the most significant and sustained campaigns observed to date, with self-replicating malware designed specifically for the age of AI-assisted development

2

. As of writing, more than 80 public repositories on GitHub carry the Miasma campaign's naming patterns including "Miasma: The Spreading Blight" and "Hades - The End for the Damned"

1

.

Today's Top Stories