carousel-controller-mixinnpm
Malicious code in carousel-controller-mixin (npm) Remove it immediately and rotate any exposed credentials.
What this malware does
package.json declares both preinstall and postinstall hooks that execute callback.js on every install. callback.js collects username, uid, hostname, cwd, homedir, local and external IPs (via https.get to api.ipify.org) and probes for CI/cloud credential environment variables (AWS_ACCESS_KEY_ID, GITHUB_TOKEN, NPM_TOKEN, DOCKER_PASSWORD) along with GITHUB_REPOSITORY/GITHUB_ACTOR/BUILD_NUMBER context. The collected data is POSTed to a hardcoded Discord webhook (discord.com/api/webhooks/1516163806559076442/<redacted>) and additionally exfiltrated through a DNS side-channel: base64-encoded host data is prepended as a subdomain and resolved via dns.resolve() to defeat egress HTTP filtering on CI networks. Self-labeled as a dependency-confusion PoC, the version number 999.0.0 is the canonical floating-version bait used to win internal-name resolution. Harmful to any installer regardless of the 'research' framing.
Malicious versions
Indicators of compromise (SHA-256)
Frequently asked questions
Campaign
References
Credits
- Amazon Inspector · finder
Scan your dependencies
O3 Security blocks malicious packages like this at install time and in CI.
Supply-chain protection