- Trigger
cook.pth(one line:import cook) andsitecustomize.pyrun at every Python start - FingerprintRecords host and network info; a
/tmp/.pc_once_*marker andPRIVCOLLECT_ACTIVEstop repeat collection - Collect16 modules: cloud and Kubernetes, SSH and GPG keys, npm and PyPI config, browser databases, Claude, Codex, Gemini, and Cursor auth files
- PackageJSON encrypted with AES-256-CBC; key wrapped with RSA-4096
- ExfiltrateHTTP POST to
www.litellm[.]dev/healthcheck - ExtraDetached loader fetches and runs remote Python, retrying hourly
- TriggerObfuscated code appended to
node-ipc.cjsruns onrequire("node-ipc"); no install script - Fingerprint
uname -a,/etc/hosts, Node.js OS details - Collect127 path patterns on Linux, 113 on macOS, plus every environment variable
- PackageIn-memory tar, gzip, HMAC-SHA256 signed chunks
- ExfiltrateDNS TXT queries under
bt.node.js; about 29,400 queries per 500 KiB archive - ExtraNone observed: no persistence, no second stage
- TriggerAdds
router_init.jsplus an optional git dependency,@tanstack/setup, whosepreparescript runs a second payload at install - FingerprintCI platform, operating system, and JavaScript runtime gate what it collects
- CollectGitHub Actions secrets, AWS IMDSv2, Secrets Manager and SSM, Vault, Kubernetes service account tokens
- PackageSession messenger protocol, embedded in a 2.3 MB obfuscated file
- ExfiltrateSession P2P network, which resembles encrypted chat traffic
- ExtraRepublishes itself with a stolen OIDC token; persists in
.claude/hooks and.vscode/tasks.json
