Malicious code in @angulaar/cli (npm)
Collected exploitation and prediction evidence
Risk source coverageCISA KEV is observed exploitation evidence. FIRST EPSS is a dated prediction of exploitation in the next 30 days. Missing scores are unknown. This collector requests predictions only for explicit CVE aliases in the public NuGet archive; Microsoft release views retain their existing prediction scope.
No collected risk observation for these identifiers. This does not establish absence of exploitation or a zero probability.
osv · MAL-2026-17536
Published--- _-= Per source details. Do not edit below this line.=-_ ## Source: amazon-inspector (33d4a58c855f9b549d39f194483ee19730552bbb47a279f73237c8a403708d20) Package name '@angulaar/cli' (double 'a') is a one-character edit of '@angular/cli'; README, LICENSE headers, and source files are copied verbatim from the real Angular CLI (Google LLC copyright, angular.dev license URLs, README pointing issues to github.com/angular/angular-cli). The manifest's dependencies list has been altered from the upstream package: real @angular/cli depends on '@modelcontextprotocol/sdk', while this package declares '@modelcontextprotocol/server': '2.0.0' and requires it from src/commands/mcp/cli.js and mcp-server.js. '@modelcontextprotocol/server' is not the official MCP package name, so npm install resolves and installs whatever bytes are published under that attacker-chosen name/version, executing any lifecycle scripts in that dependency on the installer's host and loading its code in-process on later `ng mcp` invocations. The lookalike package name, cloned source, and swapped MCP dependency together form a dependency-confusion delivery vector against developers who mistype the real @angular/cli name.
- Source published
- 5 Oct 2026 03:31:30 UTC
- Source modified
- 5 Oct 2026 04:15:05 UTC
- Observed here
- 24 Oct 2026 13:17:17 UTC
- Source terms
- OSV · upstream source license applies
Original source record · Cite this exact observation · Complete original publisher JSON
This view projects the publisher's source fields for reading; the original JSON retains additional fields and CVE enrichment containers. Attribution: osv · OSV · upstream source license applies. Source text is retained; field grouping and change labels are provided by ChangeIntel.