As reported by The Hacker News, citing new research from JFrog, a campaign of 148 npm packages masquerading as student web proxy tools quietly conscripted end-user browsers into a distributed denial-of-service botnet for approximately two weeks in May. What makes this campaign particularly noteworthy — and frankly alarming — is not the scale, but the strategic pivot in the attacker's targeting logic.
A Fundamental Shift in Supply Chain Attack Philosophy
Traditional software supply chain attacks target developers. The attacker poisons a package, a developer installs it, and malicious code executes with elevated privileges on a build server or production environment. This campaign abandoned that playbook entirely. The threat actors were not interested in the developers who might pull these packages down from the registry. Instead, they weaponized npm itself as free, credible-looking infrastructure — essentially a content delivery network for a malicious proxy site.
This is a meaningful evolution. By targeting the end users of whatever application or site the npm package powers, attackers can reach populations that have no relationship with software supply chain hygiene whatsoever. Students bypassing school network restrictions are not running EDR agents. They are not reviewing package manifests. They are just clicking a link.
The registry was not the weapon. It was the disguise. The students were the weapon.
Why This Attack Surface Is Dangerously Underappreciated
Security teams have invested heavily in protecting the developer pipeline — SCA scanning, dependency review, SBOM generation, and private registry controls. Almost none of that investment addresses the scenario where a malicious actor uses a public registry to host web content targeting non-technical end users. This campaign exposes a gap that existing tooling simply was not built to close.
Several factors made this campaign particularly effective:
Implications for the Broader Ecosystem
Open package registries — npm, PyPI, Maven, NuGet — were designed for code distribution, not content hosting. Their abuse as general-purpose web infrastructure is an emerging pattern that registry maintainers are structurally unprepared to police at scale. Detecting a malicious package that executes code on install is a solved problem. Detecting a package whose primary payload is a web page that recruits browsers into a botnet is a fundamentally different challenge that requires behavioral analysis of hosted content, not just static package scanning.
DDoS-as-a-botnet campaigns typically require the operator to compromise endpoints at scale or rent capacity from existing botnets. This campaign demonstrates a cheaper alternative: abuse legitimate infrastructure to attract vulnerable users voluntarily. If this model proves reliable, expect copycats — and not just for DDoS. The same architecture could deliver cryptojacking, credential phishing, or browser-based fingerprinting at scale.
Shield53 Recommendations
For Security Operations Teams
- Audit DNS and web proxy logs for traffic to npm-hosted domains that do not correspond to known package downloads. Unusual browser-initiated requests to registry infrastructure should be flagged for review.
- Deploy browser-level controls such as Content Security Policy enforcement and script execution monitoring via endpoint browser extensions or secure web gateways. Anomalous outbound HTTP request volumes from browser processes are a detectable signal.
- Block unauthorized proxy services at the network perimeter. While students circumventing school filters are the immediate victim here, enterprise environments should treat unsanctioned proxy usage as a policy and security risk regardless of the hosting platform.
For Development and AppSec Teams
- Expand SCA scope to flag packages with anomalously high network activity or those that reference external web content in their metadata or README. This campaign exploited the gap between what SCA tools scan and what packages actually do at runtime.
- Implement Subresource Integrity (SRI) for any third-party scripts your applications load. If a compromised npm-hosted asset is injected into your web application, SRI can prevent unauthorized script execution.
- Monitor for browser-initiated DDoS patterns in your application telemetry. Unusual request spikes from geographically diverse, browser-identified user agents may indicate your users' browsers have been recruited as botnet nodes via a third-party resource your app loads.
For Registry Operators and Policy Stakeholders
- npm and similar registries should consider implementing behavioral analysis on package-hosted web content, not just install-time scripts. The attack surface has expanded beyond the traditional package execution model.
- Rate limiting and anomaly detection on registry-hosted content delivery — not just API calls — should be evaluated as a defensive control.
This campaign will not be the last of its kind. The combination of free, trusted infrastructure and a self-selecting population of high-risk users is too attractive an attack primitive to remain unexploited. Defenders need to begin treating public registries as a web content threat surface, not just a code distribution channel.