TeamPCP Campaign Republished 324 npm Packages Across 645 Versions

· Original article ↗

Summary

Researchers report TeamPCP compromised two npm maintainer accounts and republished 324 packages across 645 versions, putting packages with about 16 million weekly downloads at risk. Payload analysis is ongoing; the article recommends pinning known-good versions and aud

Key points

  • The investigation attributes the npm campaign to TeamPCP and reports compromised maintainer accounts atool and prop.
  • The atool account published new versions of 318 packages in two concentrated waves; prop published six more packages.
  • In total, 324 packages were republished across 645 package-version artifacts, with about 16 million combined weekly downloads.
  • The article cites rapid publishing across unrelated repositories as evidence consistent with automated use of stolen publishing credentials.
  • The malicious payloads had not yet been fully analyzed; the article says tarball analysis was in progress.
  • Recommended steps include pinning pre-wave versions, auditing lockfiles and CI caches, temporarily blocking install scripts, and rotating exposed credentials.

Article Details

Attack Vectors
  • TeamPCP compromised the npm maintainer accounts atool and prop and used their publishing access to republish 324 packages across 645 package-version artifacts.
  • The article says the burst pattern is consistent with token-based automated publishing; phishing credentials, leaked automation tokens, and compromised CI secrets are described as possible routes, not confirmed initial-access methods.
  • The republished tarballs' payload analysis was still in progress; injected code, postinstall hooks, obfuscated blobs, and outbound network calls were listed as items to investigate, not confirmed findings.
Defensive Notes
  • Pin affected dependencies to a known-good version published before 2026-05-19T01:39:31Z and hold them there until the republished versions are cleared.
  • Audit lockfiles and CI caches for any of the 645 affected versions resolved after the first publish wave.
  • Use npm install --ignore-scripts to block install scripts until the tarballs are confirmed clean.
  • Rotate credentials exposed to builds that ran an affected version.

Threat Actors

Vendors

Products

Related Articles