utils-mf
This report shows the evidence for utils-mf@12.1.1. 10 of 10 known versions are blocked or flagged. See all versions.
OpenSSF/OSV Malicious Advisory
imported 4mo ago · by OpenSSF/OSVOpenSSF/OSV advisory MAL-2026-4699 confirms this npm version as malicious.
Advisory
MAL-2026-4699
Source
OpenSSF Malicious Packages via OSV
Summary
Malicious code in utils-mf (npm)
Details
Package metadata advertises 'utility mf' with main 'index.js', but the shipped main is a 15.7MB obfuscator.io-style blob preceded by ~8MB of invisible-Unicode whitespace padding designed to conceal its contents. On require(), the module performs several unsafe and attacker-beneficial actions:
1. Hidden WhatsApp bot payload: index.js dynamically imports `@whiskeysockets/baileys`, calls `useMultiFileAuthState('sessions/dev')`, opens a WhatsApp socket via `makeWASocket(...)`, prompts on stdin for a pairing-code phone number, and writes credential state to `./sessions/`. None of this is gated behind an exported function — it fires when the module is loaded.
2. Auto-exfiltration of accumulated chat/session state: an `AutoBackup` routine on a 30-second `setInterval` PUTs the local `database.json` (containing chats, contacts, sessions, and env-derived state) to `https://api.github.com/repos/<owner>/<repo>/contents/database.json` and the analogous GitLab API, using a token and repo path read from package-operator settings. The destination repo and credential are not the library consumer's — they are configured in the package's payload, so any consumer running this code uploads their accumulated state to the package operator's repository on a timer.
3. Runtime self-updater / silent-mutation primitive: on load, the module fetches `https://registry.npmjs.org/utils-mf/latest`, compares versions, downloads the latest tarball to `./tmp/upgrade.tgz`, and extracts it over `node_modules/utils-mf/` using `tar -xzf` (or `Expand-Archive` on Windows), then reloads. Already-installed copies will silently pull and execute any future published version, including a compromised one — the package mutates itself at runtime regardless of the consumer's lockfile.
4. Privileged system mutation at import: the top-level code shells out via `exec` to `apt-get install -y ffmpeg imagemagick git tar zip unzip` when those binaries are missing, runs recurring `exec('rm -rf /tmp/*')` and `exec('netstat -an')` on intervals, and writes to `./tmp/` and `./sessions/` in the consumer's CWD.
The combination of deceptive packaging (utility name, opaque blob), import-time exfiltration of local data to attacker-configured repos, an in-band self-update channel that bypasses normal dependency pinning, and unsanctioned privileged shell execution constitutes an active supply-chain attack against any installer who consumes this package as a 'utility'.
## Source: ghsa-malware (7921878ab64996afca0b68ed8fed4ce0afccbe200740eb27504225e2d0fea9c2) Any computer that has this package installed or running should be considered fully compromised. All secrets and keys stored on that computer should be rotated immediately from a different computer. The package should be removed, but as full control of the computer may have been given to an outside entity, there is no guarantee that removing the package will remove all malicious software resulting from installing it.
Source & flagged code
0 flagged · loading sourceNo flagged code excerpts are attached to this scan.
Findings
1 High
HighOsv Malicious Advisory
Affected versions and remediation
This report applies to utils-mf@12.1.1.
The same advisory and Firewall decision cover 10 recorded versions
11.2.4, 11.2.5, 11.2.6, 11.4.1, 11.9.8, 11.9.9, 12.0.1, 12.0.2, 12.1.0, 12.1.1
The versions list below shows the verdict for each recorded version.
- Avoid installing utils-mf@12.1.1. Remove it from direct dependencies and check your lockfile for transitive copies.
- Choose an independently verified alternative or release. This report does not establish that other versions are safe.
- If this version ran, investigate the affected machine and build environment. Rotate credentials it could access and rebuild from a trusted environment.
Evidence last updated: .
Source advisory published: .
This report uses published external intelligence. The advisory does not provide a separate source-code analysis for each listed version.
Think this verdict is wrong? Dispute it on GitHub or read how reports are produced.