MAL-2026-3763 Malicious code in exxpress-utils (npm)
Malicious package
Published
MAL-2026-3763 is a malicious package: exxpress-utils (npm). Every version was published to cause harm.
Task:
1. Search this repository's dependency manifests and lockfiles for the package, including transitive dependencies.
2. If it is present, remove it, regenerate the lockfile with the project's package manager, and replace whatever it was used for.
3. List any CI runners, developer machines or containers that installed it, so their secrets can be rotated.
4. If the package is not used anywhere, say so and change nothing.
Reference: https://insights.sbomify.com/MAL-2026-3763/ (Markdown: https://insights.sbomify.com/MAL-2026-3763/index.md)
- Package
- exxpress-utils
- Registry
- npm
What is MAL-2026-3763?
MAL-2026-3763 is a malicious package in exxpress-utils, published on 14 May 2026.
Official description
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.What should I do about MAL-2026-3763?
Remove the package from your dependencies and lockfiles, then rotate any secrets on machines where it was installed.