The interesting property of the npm campaigns tracked through 2026 is not that malicious packages were published. It is what they were built to steal, and what they did with it.
Analysis of the May 2026 activity describes install-time execution, credential harvesting, abuse of GitHub Actions, propagation through npm, persistence, and anti-response behaviour. Around 1,948 public repositories were associated with attacker exfiltration activity as of 19 May 2026.
A related campaign later that month published fourteen typosquatted packages within a four-hour window, harvesting AWS credentials, HashiCorp Vault tokens and CI/CD pipeline secrets from the host environment.
Why The Pipeline Is The Prize
A developer workstation holds one person’s access. A build pipeline holds deployment credentials, cloud roles, registry publishing rights and signing material, and it runs unattended with nobody watching the console.
It is also the one environment where downloading untrusted code and executing it is the documented, intended behaviour. Install hooks run automatically. That is not a flaw in the package manager; it is what a package manager is.
The Self-Propagating Part Is The Change
Step four is what makes this a different class of problem. Credentials stolen from one pipeline include the rights to publish that project’s packages, so compromise converts directly into distribution. Growth does not require the attacker to find new victims; each victim supplies the next set.
The defences are unglamorous and known: short-lived credentials scoped to a single job, install scripts disabled by default in CI, dependency pinning with integrity verification, and publish rights that are not readable from the build environment that consumes them.
Graded high. Multiple independent vendor analyses describe the same mechanism, and the artefact counts come from published research rather than an actor claim.
Compiled from published vendor research and reporting, listed below. Repository and package counts are as stated in that research, with dates given. We did not analyse samples ourselves. Corrections: corrections@forensicpost.com.