# Miasma Supply Chain Attack Expands to 24+ npm Packages and GitHub Actions Infrastructure
Cybersecurity researchers have identified a significant new wave of supply chain attacks leveraging compromised npm packages and GitHub Actions infrastructure. The campaign, linked to the established Miasma/Mini Shai-Hulud malware family, has compromised at least 24 npm packages and a Go module, with the ultimate goal of harvesting developer credentials and establishing persistence in trusted CI/CD pipelines.
## The Threat
Security researchers at Socket detected malicious releases across a coordinated set of npm packages primarily targeting the LeoPlatform and RStreams ecosystems. The latest wave demonstrates an evolution in sophistication—combining traditional supply chain poisoning techniques with advanced GitHub Actions exploitation and OIDC token theft.
The affected npm packages include:
| Package Name | Version | Ecosystem |
|---|---|---|
| leo-auth | 4.0.6 | npm |
| leo-sdk | 6.0.19 | npm |
| leo-cli | 3.0.3 | npm |
| leo-connector-elasticsearch | 2.0.6 | npm |
| leo-connector-mongo | 3.0.8 | npm |
| rstreams-metrics | 2.0.2 | npm |
| serverless-leo | 3.0.14 | npm |
| github.com/verana-labs/verana-blockchain | v0.10.1-dev.20 | Go |
An additional 21 packages across both registries were compromised. Beyond npm, the attack has propagated to the Go ecosystem, indicating the threat actors' capability and intent to maintain cross-platform persistence.
## Background and Context
The Miasma malware family—also associated with the Mini Shai-Hulud and Hades variants—has been evolving since early 2024. This latest campaign represents a maturation of tactics previously documented in earlier supply chain attacks.
Initial Compromise Vector: Researchers believe the attack began with a compromised npm maintainer account associated with LeoPlatform. The account belonging to developer "czirker" was likely breached through leaked credentials, enabling attackers to gain direct access to the npm registry. Critically, the threat actors exploited a 6-second window to push malicious versions before detection—a window that suggests advance preparation and knowledge of publishing workflows.
This incident aligns with a broader pattern of targeting developer infrastructure at its weakest points: compromised credentials, unmonitored CI/CD systems, and the inherent trust placed in packages from established maintainers.
## Technical Details: Attack Chain and Methodology
Unlike typical npm supply chain attacks that rely on package.json lifecycle hooks, this campaign employs a more sophisticated evasion approach using the binding.gyp file—a native module compilation configuration file that many security tools overlook.
### Installation-Time Execution
When developers install the malicious packages, the binding.gyp file triggers arbitrary code execution during the npm install phase, before any application code runs. This is particularly dangerous because:
binding.gyp files for malicious code### Payload Delivery: Bun Runtime and JavaScript Stealer
The injected code performs the following actions:
1. Downloads and installs the Bun JavaScript runtime (if not already present)
2. Executes a JavaScript malware loader embedded within the package
3. Activates a credential harvesting stealer targeting:
- GitHub Personal Access Tokens (PATs)
- GitHub OIDC tokens from CI/CD environment memory
- AWS credentials
- API keys and secrets exposed in environment variables
- IDE and AI assistant authentication tokens (e.g., GitHub Copilot credentials)
### Anti-Detection Features
The malware includes defensive mechanisms:
### GitHub Actions Exploitation
A particularly insidious tactic involves injecting a malicious workflow file named "Run Copilot" into compromised repositories. This workflow:
### Connection to semantic-release-action Compromise
Researchers at StepSecurity linked this campaign to a recent compromise of the popular codfish/semantic-release-action GitHub Action. On June 24, 2026, at 15:39:06 UTC, an attacker force-pushed malicious commits and redirected version tags to the malicious code. Any workflow referencing those tags after that timestamp executed the attacker's payload directly in the GitHub Actions runner. The use of identical token relay markers ("RevokeAndItGoesKaboom") across both attacks confirms they are operated by the same threat actor or tooling lineage.
## Implications: The Scale and Severity
### Developer and Enterprise Risk
The scope of this attack extends far beyond the immediate package consumers. Because LeoPlatform and RStreams packages are dependencies in larger applications, the blast radius is potentially massive:
The attackers achieve persistent, authenticated access to developer infrastructure—the holy grail of supply chain attacks.
### Cross-Ecosystem Propagation
The presence of compromised Go modules (Verana Blockchain) alongside npm packages indicates the threat actors are intentionally expanding across ecosystems, suggesting this is a campaign with significant resources and operational capability.
## Recommendations for Defenders
### For Developers and Teams
### For npm and Go Module Maintainers
### For Organizations
- Regular audits of critical dependencies
- Vendor assessments based on security maturity
- Incident response playbooks for compromised dependencies
---
## HackWire Analysis
This attack represents a watershed moment in supply chain security: the threat actors have evolved from simple credential theft to full operational infrastructure compromise. Previous campaigns relied on stealing credentials, but this iteration demonstrates that owning the developer's credentials is just the entry point—the real payload is automated propagation and CI/CD infiltration.
The use of binding.gyp and Bun runtime evasion is particularly alarming because it shows attackers are actively circumventing the detection strategies that worked against earlier campaigns. Five months ago, security teams learned to hunt for package.json hooks; now the malware has moved to compilation-phase execution that bypasses those detections entirely.
What's also notable: the 6-second deployment window. This wasn't opportunistic—the attackers had prior knowledge of the maintainer's publishing workflow, suggesting either a long-term reconnaissance phase or compromised credentials obtained weeks or months earlier. This implies organizations may already be running versions of these packages without knowing it, as the poisoned versions were live before detection.
The most underreported risk is OIDC token abuse. GitHub Actions now defaults to issuing OIDC tokens that can be exchanged for credentials in AWS, Google Cloud, and other platforms. A stolen OIDC token from a compromised CI/CD runner isn't just a "GitHub token"—it's a key to your entire infrastructure. The fact that this attack specifically targets OIDC harvesting suggests attackers are no longer interested in just github.com access; they're weaponizing CI/CD to reach cloud platforms.
The connection to semantic-release-action shows this isn't isolated to any single compromised package—the operational cluster is actively hunting for and compromising popular, trusted GitHub Actions used by thousands of enterprises. If you're using GitHub Actions for deployment, assume your supply chain is in scope.
What defenders are missing: Most incident response teams are taught to "rotate credentials after a breach." But in supply chain attacks, rotation is insufficient. The attacker still owns the npm account, the GitHub repository, or the Action. Defenders need to assume that *any package downloaded in the last 72 hours from these registries is potentially malicious* and should be quarantined, analyzed, and replaced with builds from source.
— HackWire Editorial
---
## Related Coverage