-= Per source details. Do not edit below this line.=-
On npm install, package.json's preinstall hook (node preinstall.js || true) auto-runs a script that (1) enumerates process.env for keys matching AWS|TOKEN|KEY|SECRET|PASS|API, concatenates them with the machine's hostname and username, base64-encodes the blob, and exfiltrates it via curl GET to http://216.126.236.46/r.php over plain HTTP; and (2) on non-Windows hosts invokes bash -i with a /dev/tcp redirection to 216.126.236.46:4444, giving the remote endpoint an interactive shell on the installer's machine. The || true suffix suppresses errors so npm install reports success while the payload runs. The package's stated payments purpose is a cover story; the shipped preinstall behavior is credential theft plus full-host remote code execution against the installer.
{
"malicious-packages-origins": [
{
"id": "IN-MAL-2026-019150",
"import_time": "2026-08-29T23:14:43.668745253Z",
"modified_time": "2026-08-29T23:10:48Z",
"sha256": "7af58da84956e51749cbb96923f12264cfdee76456b5010b526599b7da2c0caa",
"source": "amazon-inspector",
"versions": [
"1.0.0"
]
}
]
}[
{
"cweId": "CWE-506",
"description": "The product contains code that appears to be malicious in nature.",
"name": "Embedded Malicious Code"
}
]
{
"evidence_files": [
{
"path": "preinstall.js",
"sha256": "2bbcdb11d71c22735ff4abe1b11071da1af5401f90567017ad105eb8ca202f0d",
"tlsh": "80f062f521ad71b0982289c0e2d7c477b2fbd2123520fad0dad800eb4e9325009f30ee"
},
{
"path": "package.json",
"sha256": "5c17ba4c831870d79ef7322757d26484d4d453366fbe31c932042e24d88d15ef",
"tlsh": "4ac08c749c02f1b324c407e229b3c50363e68e1eb014a8188f83206281fabb784fb70e"
}
],
"package_integrity": [
{
"filename": "grafeno-payments-1.0.0.tgz",
"hashes": {
"sha1": "fad37f9c7e9b0cfed6afd987b82094e3efd8aa10",
"sha512_sri": "sha512-RFhlG9IMQGNP1S/ywZc2Ad0IRdTp1Wvyh8R5L+yLBmyD6XsvaRtr17vETkTlHTofPznzzSSmveZnvpAv8lyXtQ=="
}
}
]
}
"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/grafeno-payments/MAL-2026-15572.json"