Your RSA-2048 keys break in 2030. Find every one of them before attackers do.
Malicious package

qa-handoffnpm

Malicious code in qa-handoff (npm) Remove it immediately and rotate any exposed credentials.

MAL-2026-5571
Immediate action
Remove the package, then rotate any secrets the build/runtime could reach.
npm uninstall qa-handoff

What this malware does

On npm install, the package automatically executes lib/_setup.js via the postinstall lifecycle hook. The script spawns a detached Node process that collects host identifiers (hostname, username, platform, architecture, IPv4 addresses, current working directory, npm registry) and the names of environment variables matching /NPM|NODE|CI|JENKINS|GIT|BUILD|RUNNER|DOCKER|KUBE|REGISTRY/, then HTTPS POSTs that payload to a hardcoded DingTalk bot webhook (oapi.dingtalk.com/robot/send) using an embedded access token. Before sending, the script checks whether the username or hostname contains any of 'sandbox', 'malware', 'analyst', 'cuckoo', 'analysis', 'sample' and silently skips the beacon if so — explicit sandbox/analyst evasion that confirms malicious intent. The pattern matches the canonical dependency-confusion reconnaissance beacon used to fingerprint internal CI/build environments for follow-on attacks.

Malicious versions

1 flagged
0.13.0

Indicators of compromise (SHA-256)

4939e56124668b7d03f9e2a96dfbfedba53e24aaa5d2190e298547e724b1f851

Frequently asked questions

No. qa-handoff on npm has been identified as a malicious package (version 0.13.0 flagged). It should be removed immediately — do not install or keep it in your dependency tree.

Campaign

IN-MAL-2026-005459

References

Credits

  • Amazon Inspector · finder

Scan your dependencies

O3 Security blocks malicious packages like this at install time and in CI.

Supply-chain protection
qa-handoff (npm) malicious package — MAL-2026-5571 | O3 Security