If this package is installed
Remove it, treat the machine (or CI runner) as compromised, and rotate every secret, token and key it could access — from a different, clean machine.
Details
The `leo-connector-redshift` npm package was compromised as part of the Miasma worm campaign targeting the LeoPlatform npm ecosystem. On June 24, 2026, 20 LeoPlatform packages were published within a 3-second window by a threat actor who had taken over the npm account `czirker` belonging to the LeoPlatform organization.
The malicious payload is triggered automatically during `npm install` via a `binding.gyp` file using node-gyp command expansion (`<!(node index.js > /dev/null 2>&1 && echo stub.c)`), which bypasses lifecycle script scanners. The replaced `index.js` (~5.2 MB, obfuscated with ROT-N + AES-128-GCM encryption) deploys a multi-stage worm with the following capabilities:
- Credential theft: Targets npm, GitHub, PyPI, RubyGems, Kubernetes, HashiCorp Vault, AWS (IAM keys, Secrets Manager, IMDS), 1Password, JFrog Artifactory, and SSH keys.
- AI tool targeting: Exfiltrates configuration files for Claude, Cursor, Gemini, and VS Code.
- Worm propagation: Enumerates npm packages and auto-publishes version bumps to spread to other maintainers in the ecosystem.
- GitHub persistence: Creates orphan `snapshot-<hex>` branches with fake "Dependabot Updates" workflows to maintain access after initial compromise.
Any system that installed this version should be considered fully compromised. Rotate all secrets immediately from a separate, clean machine. See the linked SafeDep report for full payload analysis, indicators of compromise, and remediation guidance.
---
_-= Per source details. Do not edit below this line.=-_
Source: amazon-inspector (808b84100db5bf11527a7c9f406522f24c4dd9a1ff25f71f0068c1b672da3cbb)
The package ships a binding.gyp at the package root that contains GYP command-expansion syntax (`<!(...)`) at line 6. Because a binding.gyp is present, npm implicitly invokes `node-gyp rebuild` during install, and node-gyp/GYP evaluates `<!(...)` expressions as shell commands during the configure step. This causes the embedded command to execute automatically on `npm install` with no declared lifecycle script in package.json and no explicit user action. The construct fires on default install and provides the maintainer of this version a generic mechanism to run arbitrary shell on every installer's machine.
Indicators of compromise
Shown defanged and not clickable. Search any indicator to find other packages using it.
URLs
- hxxps://safedep[.]io/miasma-worm-hits-leoplatform-20-npm-packages/ other packages →