Malicious code in @redhat-cloud-services/hcc-pf-mcp (npm)
Part of the "Mini Shai-Hulud" supply chain worm campaign that compromised the GitHub Actions OIDC trusted publisher shared by Red Hat Cloud Services npm packages. The attacker injected a `preinstall` hook into this and 31 other packages in the `@redhat-cloud-services` scope. The hook delivers a three-layer obfuscated payload (ROT-9 Caesar cipher over a 1.27M-entry character-code array -> AES-128-GCM decryption with hardcoded keys -> stacked obfuscator.io encoding with PBKDF2+SHA-256 keystream S-box substitution) that downloads a pinned Bun runtime (v1.3.13) from GitHub to execute the worm outside the victim's Node installation. **Credential theft:** Harvests AWS credentials (IMDS, ECS, Secrets Manager, SSM), Azure managed identities, GCP service account tokens, HashiCorp Vault tokens, Kubernetes service account tokens (`/var/run/secrets/kubernetes.io/serviceaccount/token`), GitHub PATs, npm publish tokens, environment variables from ~40 CI platforms (CircleCI, Travis CI, Jenkins, and others), password manager stores (Bitwarden, gopass), and local files (`~/.npmrc`, `~/.netrc`, shell history, database history). Collected data is exfiltrated to attacker-controlled public GitHub repositories. **Privilege escalation:** Exploits Docker socket access to escape containers and modify `/etc/sudoers.d`, granting passwordless sudo to CI runner user accounts. **Self-propagation:** Uses stolen npm credentials to republish tampered tarballs of target packages. Injects a malicious CodeQL workflow into accessible GitHub repositories via the GraphQL `createCommitOnBranch` mutation, exchanges GitHub Actions OIDC tokens for npm publish tokens, and signs the resulting artifacts through Sigstore (Fulcio/Rekor) to appear legitimate. **Persistence and evasion:** Installs a daemon at `/tmp/kitty-<random>`, hijacks `.claude/settings.json` for AI agent persistence, and hijacks `.vscode/tasks.json` for editor task execution. Detects sandbox environments via `__FAKE_PLATFORM__`, `TESTING_TAR_FAKE_PLATFORM__`, and `__IS_DAEMON` environment variables, and probes for EDR tools (CrowdStrike, SentinelOne, Carbon Black, StepSecurity Harden-Runner). --- _-= Per source details. Do not edit below this line.=-_ ## Source: ghsa-malware (b0b2e052c7a68bbb7e62dc237f6f8b0e52df18a51d7f2bf3328020b7f431a0b6) Any computer that has this package installed or running should be considered fully compromised. All secrets and keys stored on that computer should be rotated immediately from a different computer. The package should be removed, but as full control of the computer may have been given to an outside entity, there is no guarantee that removing the package will remove all malicious software resulting from installing it.
AI Analysis
Technical Summary
This threat involves malicious code injected into the @redhat-cloud-services/hcc-pf-mcp npm package (versions 0.6.1, 0.6.2, 0.6.4) as part of a supply chain worm campaign leveraging compromised GitHub Actions OIDC trusted publisher credentials. The injected preinstall hook delivers a three-layer obfuscated payload that downloads and runs a Bun runtime to execute the worm outside the Node environment. The malware harvests a broad spectrum of credentials including AWS, Azure, GCP tokens, Kubernetes service account tokens, GitHub PATs, npm publish tokens, and environment variables from approximately 40 CI platforms, as well as password manager stores and local sensitive files. It exfiltrates stolen data to public GitHub repositories controlled by the attacker. Privilege escalation is achieved by exploiting Docker socket access to escape containers and modify sudoers for passwordless sudo access. The worm self-propagates by republishing tampered npm packages using stolen credentials, injecting malicious CodeQL workflows into GitHub repositories, exchanging OIDC tokens for npm publish tokens, and signing artifacts via Sigstore to appear legitimate. Persistence mechanisms include installing daemons and hijacking AI agent and editor configuration files. The malware detects sandbox environments and probes for EDR tools to evade detection. Due to the extensive compromise, any system with this package installed should be considered fully compromised, and all secrets should be rotated from a clean system.
Potential Impact
Systems with the affected package versions installed are fully compromised. The attacker gains access to a wide range of sensitive credentials and tokens across multiple cloud providers, CI platforms, password managers, and local files, enabling extensive credential theft. Privilege escalation allows container escape and passwordless sudo access, increasing control over the system. The worm self-propagates by republishing malicious packages and injecting workflows into GitHub repositories, potentially spreading the compromise further. Persistence and evasion techniques make detection and removal difficult. The compromise undermines trust in affected packages and can lead to widespread credential leakage and system takeover.
Mitigation Recommendations
No official patch or remediation is currently provided. Immediate removal of the affected package versions (=0.6.1, =0.6.2, =0.6.4) is recommended. Due to the full compromise, all secrets and keys stored on affected systems should be rotated immediately from a different, clean computer. Consider the affected systems fully compromised and perform thorough incident response and forensic analysis. Monitor for signs of persistence and unauthorized access. Follow vendor advisories and trusted security sources for updates on remediation or patches.
Malicious code in @redhat-cloud-services/hcc-pf-mcp (npm)
Description
Part of the "Mini Shai-Hulud" supply chain worm campaign that compromised the GitHub Actions OIDC trusted publisher shared by Red Hat Cloud Services npm packages. The attacker injected a `preinstall` hook into this and 31 other packages in the `@redhat-cloud-services` scope. The hook delivers a three-layer obfuscated payload (ROT-9 Caesar cipher over a 1.27M-entry character-code array -> AES-128-GCM decryption with hardcoded keys -> stacked obfuscator.io encoding with PBKDF2+SHA-256 keystream S-box substitution) that downloads a pinned Bun runtime (v1.3.13) from GitHub to execute the worm outside the victim's Node installation. **Credential theft:** Harvests AWS credentials (IMDS, ECS, Secrets Manager, SSM), Azure managed identities, GCP service account tokens, HashiCorp Vault tokens, Kubernetes service account tokens (`/var/run/secrets/kubernetes.io/serviceaccount/token`), GitHub PATs, npm publish tokens, environment variables from ~40 CI platforms (CircleCI, Travis CI, Jenkins, and others), password manager stores (Bitwarden, gopass), and local files (`~/.npmrc`, `~/.netrc`, shell history, database history). Collected data is exfiltrated to attacker-controlled public GitHub repositories. **Privilege escalation:** Exploits Docker socket access to escape containers and modify `/etc/sudoers.d`, granting passwordless sudo to CI runner user accounts. **Self-propagation:** Uses stolen npm credentials to republish tampered tarballs of target packages. Injects a malicious CodeQL workflow into accessible GitHub repositories via the GraphQL `createCommitOnBranch` mutation, exchanges GitHub Actions OIDC tokens for npm publish tokens, and signs the resulting artifacts through Sigstore (Fulcio/Rekor) to appear legitimate. **Persistence and evasion:** Installs a daemon at `/tmp/kitty-<random>`, hijacks `.claude/settings.json` for AI agent persistence, and hijacks `.vscode/tasks.json` for editor task execution. Detects sandbox environments via `__FAKE_PLATFORM__`, `TESTING_TAR_FAKE_PLATFORM__`, and `__IS_DAEMON` environment variables, and probes for EDR tools (CrowdStrike, SentinelOne, Carbon Black, StepSecurity Harden-Runner). --- _-= Per source details. Do not edit below this line.=-_ ## Source: ghsa-malware (b0b2e052c7a68bbb7e62dc237f6f8b0e52df18a51d7f2bf3328020b7f431a0b6) Any computer that has this package installed or running should be considered fully compromised. All secrets and keys stored on that computer should be rotated immediately from a different computer. The package should be removed, but as full control of the computer may have been given to an outside entity, there is no guarantee that removing the package will remove all malicious software resulting from installing it.
Affected software
Run on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
This threat involves malicious code injected into the @redhat-cloud-services/hcc-pf-mcp npm package (versions 0.6.1, 0.6.2, 0.6.4) as part of a supply chain worm campaign leveraging compromised GitHub Actions OIDC trusted publisher credentials. The injected preinstall hook delivers a three-layer obfuscated payload that downloads and runs a Bun runtime to execute the worm outside the Node environment. The malware harvests a broad spectrum of credentials including AWS, Azure, GCP tokens, Kubernetes service account tokens, GitHub PATs, npm publish tokens, and environment variables from approximately 40 CI platforms, as well as password manager stores and local sensitive files. It exfiltrates stolen data to public GitHub repositories controlled by the attacker. Privilege escalation is achieved by exploiting Docker socket access to escape containers and modify sudoers for passwordless sudo access. The worm self-propagates by republishing tampered npm packages using stolen credentials, injecting malicious CodeQL workflows into GitHub repositories, exchanging OIDC tokens for npm publish tokens, and signing artifacts via Sigstore to appear legitimate. Persistence mechanisms include installing daemons and hijacking AI agent and editor configuration files. The malware detects sandbox environments and probes for EDR tools to evade detection. Due to the extensive compromise, any system with this package installed should be considered fully compromised, and all secrets should be rotated from a clean system.
Potential Impact
Systems with the affected package versions installed are fully compromised. The attacker gains access to a wide range of sensitive credentials and tokens across multiple cloud providers, CI platforms, password managers, and local files, enabling extensive credential theft. Privilege escalation allows container escape and passwordless sudo access, increasing control over the system. The worm self-propagates by republishing malicious packages and injecting workflows into GitHub repositories, potentially spreading the compromise further. Persistence and evasion techniques make detection and removal difficult. The compromise undermines trust in affected packages and can lead to widespread credential leakage and system takeover.
Mitigation Recommendations
No official patch or remediation is currently provided. Immediate removal of the affected package versions (=0.6.1, =0.6.2, =0.6.4) is recommended. Due to the full compromise, all secrets and keys stored on affected systems should be rotated immediately from a different, clean computer. Consider the affected systems fully compromised and perform thorough incident response and forensic analysis. Monitor for signs of persistence and unauthorized access. Follow vendor advisories and trusted security sources for updates on remediation or patches.
Technical Details
- Gcve Source
- db.gcve.eu
- Osv Id
- MAL-2026-5140
- Osv Schema Version
- 1.7.4
- Aliases
- ["GHSA-gw27-332x-rf3r"]
- Ecosystems
- ["npm"]
- Database Specific Severity
- null
- Cvss Version
- null
Threat ID: 6a520ee368715ace4391ad93
Added to database: 07/11/2026, 09:37:39 UTC
Last enriched: 07/11/2026, 10:07:27 UTC
Last updated: 07/23/2026, 22:53:35 UTC
Views: 23
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
External Links
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.