-= Per source details. Do not edit below this line.=-
package.json declares a postinstall hook ("postinstall": "node run.js") that executes run.js automatically on npm install. run.js imports os, fs, http, https, and child_process and gathers host identity and environment data: os.hostname(), os.userInfo(), os.platform(), process.env.USER, process.cwd(), plus filesystem reads via fs.readFileSync / fs.existsSync. The collected data is base64-encoded (Buffer.from(...).toString('base64')) and POSTed out via HTTP/HTTPS at multiple call sites in the same script. The package name has no documented purpose that would justify install-time host reconnaissance, base64 wrapping, or outbound POSTs. Combined fingerprints (lifecycle-hook auto-execute + host-identity collection + base64 encoding + outbound HTTP POST) match a credential / system-intel exfiltration dropper.
{
"malicious-packages-origins": [
{
"import_time": "2026-06-23T22:31:27.021939725Z",
"source": "amazon-inspector",
"sha256": "523c83ae906ad871cb1ea3ffef4c0ae4e2d9f717376b86e97f6575e47cbc640d",
"versions": [
"1.0.0"
],
"id": "IN-MAL-2026-007371",
"modified_time": "2026-06-23T21:40:03Z"
}
]
}{
"evidence_files": [
{
"tlsh": "ffe068288c203a3379c42aa80ca29257a7308f0f20143d2d92bb2928429bb3a747b55d",
"sha256": "0a21781c4049f9ca7a0f82c2673ddfc6d6a9b4630add5ca4dce12c702837a1ce",
"path": "package.json"
},
{
"tlsh": "5682d67219f64a1479a3eaade75fa4006523f1077a51eda0f28c73610fcf568c162af8",
"sha256": "cfb226521b98ad39c775f5cdd08ac995f01488895a0b9b093001d22f6f91cf11",
"path": "run.js"
}
],
"package_integrity": [
{
"filename": "safe-json-38bd-1.0.0.tgz",
"hashes": {
"sha1": "ebff9ecfbb5811543dbe78438d53efc81c49461e",
"sha512_sri": "sha512-LMqq2OLmo0J1NnhKUHgh1XyMMFZymtX4FOLQ0mHLEe5QRrsYEJoZbRzbYqMwVdyOg2RgiB+ZjX4K+EeKslaQsg=="
}
}
]
}
[
{
"description": "The product contains code that appears to be malicious in nature.",
"name": "Embedded Malicious Code",
"cweId": "CWE-506"
}
]
"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/safe-json-38bd/MAL-2026-6356.json"