exxpress-utilsnpm
exxpress-utils is a confirmed malicious npm package (MAL-2026-3763) that steals credentials and exfiltrates sensitive data (malicious versions 1.0.2, 1.0.3, 1.0.5…). Do not install it — remove it immediately and rotate any exposed credentials.
Malicious code in exxpress-utils (npm)
What this malware does
The package declares scripts.postinstall pointing at postinstall.js, which runs automatically on npm install. The script performs three attacker-benefit actions concurrently: (1) reads ~/.npmrc, ~/.env, and ~/.git-credentials and extracts npm _authToken / npm_<36> tokens, NPM_TOKEN, NPM_AUTH_TOKEN, AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, GITHUB_TOKEN, and git URLs with embedded credentials; (2) enumerates Chrome / Brave / Edge / Chromium / Vivaldi / Opera profile directories under Local Extension Settings/<walletId> for 71 hardcoded crypto-wallet extension IDs (MetaMask nkbihfbeogaeaoehlefnkodbefgpgknn, Phantom, Coinbase Wallet, Trust Wallet, Ledger, Trezor, etc.) and regex-scans their logs for vault/seed/mnemonic/privateKey/password patterns; (3) walks ~/Documents, ~/Desktop, ~/Downloads for files matching crypto-keyword names and reads their contents. Harvested JSON is POSTed to the hardcoded C2 http://149.28.127.35:8888 over plain HTTP via http.request. The package name is a double-x typosquat of express; the advertised purpose is 'utility helpers', index.js is a no-op stub whose description contradicts the package name ('Lodash JavaScript utilities bundle'), and postinstall.js contains self-incriminating header comments ('Token harvester + Crypto wallet scanner', 'Silent. Zero trace.'). Every structural fingerprint of a credential/wallet stealer is present: hardcoded C2 bound to http.request in a lifecycle hook, browser wallet-extension-ID lookup, seed-phrase directory scanner, and token-regex extraction from ~/.npmrc / ~/.env / ~/.git-credentials.
Malicious versions
Indicators of compromise (SHA-256)
Detection & response playbook
Credential / info stealerFind it
Scan your lockfiles (package-lock.json, pnpm-lock.yaml, yarn.lock, requirements.txt, poetry.lock, etc.) and build artifacts for exxpress-utils (4 malicious versions). O3 Security's supply-chain scanner checks every dependency against known-malicious package intelligence at install time and in CI, flagging exxpress-utils across your stack and pipelines.
If you installed it — respond
exxpress-utils is built to steal secrets, so assume every credential the build or runtime could read is compromised. Remove it from your project and lockfile, then rotate ALL exposed secrets — npm/registry tokens, cloud keys, CI/CD secrets, SSH keys, and any .env values — from a known-clean machine. Audit logs for unauthorized use of those credentials.
Did it already run?
If exxpress-utils was ever installed, its post-install/runtime payload may have already executed. O3's L7 egress monitoring and runtime eBPF sensors detect the credential exfiltration or command-and-control callback after install and block the malicious outbound channel, so you catch and contain the actual compromise — not just the presence of the package.
How O3 protects you
O3 blocks exxpress-utils before install through its supply-chain scanner, and if it has already run, detects and severs the exfiltration or C2 callback at runtime through L7 egress monitoring and eBPF.
Frequently asked questions
Campaign
References
Credits
- Amazon Inspector · finder
Detect & block this
O3 blocks exxpress-utils-class packages before install and in CI — and if it already ran, its runtime egress monitoring catches the credential exfiltration and severs the channel.