TL;DR: Over 130 malicious packages across npm and PyPI were detected in a single week, with coordinated clusters, dependency confusion attacks, and repeated version flooding becoming normal attacker behaviour, according to Xygeni. The pattern matters because package trust is now an identity and supply chain problem, not just a code review problem.
NHIMG editorial — based on content published by Xygeni: weekly malicious package findings across npm and PyPI
By the numbers:
- Xygeni confirmed over 130 malicious packages between June 7 and June 12, 2026, across npm and PyPI.
- The sensivity cluster flooded npm with over 40 versioned releases across the 2.5.x range.
- Xygeni observed coordinated Solana typosquats across two separate publishing campaigns on June 7 and June 8, 2026.
Questions worth separating out
Q: How should security teams reduce malicious package risk in CI/CD pipelines?
A: Use allowlisting, signed artifacts, isolated build runners, and ephemeral credentials that expire after the job completes.
Q: Why do dependency confusion attacks keep working in mature organisations?
A: They keep working because build systems often trust package names more than publisher identity.
Q: What signals indicate a package campaign is behaving like an attack?
A: Look for rapid version churn, repeated publishes under similar names, typosquatted namespaces, and clusters of related packages appearing across short time windows.
Practitioner guidance
- Enforce registry allowlists and namespace reservations Block builds from resolving packages outside approved registries and reserve internal namespace patterns so dependency confusion packages cannot masquerade as trusted internal artifacts.
- Detect version flooding and publish bursts Alert on sudden spikes in package versions, repeated publishes under the same name, and clustered releases from one namespace.
- Scan for secrets at package ingest and runtime Run secret detection when packages are published, installed, and executed in CI so exposed tokens, API keys, and credentials are caught before they are reused.
What's in the full report
Xygeni's full digest covers the operational detail this post intentionally leaves for the source:
- Per-package findings across the malicious clusters that were validated during the week
- Version-by-version patterns for the sensivity family and other repeated releases
- Registry and package names that teams can use to update allowlists and detections
- Additional context on the malicious packages that targeted Web3, Solana, and internal namespaces
👉 Read Xygeni's weekly malicious package digest for npm and PyPI →
Malicious package campaigns in npm and PyPI: what teams must watch?
Explore further
Version flooding is a supply chain identity attack, not just malware delivery. Attackers now use repeated publishes to overwhelm human review and probabilistic detection. That means the control gap is not only malicious code inspection, but the inability to assert which publisher identity is authorised at the point of release. Practitioners should treat registry identity as a first-class trust signal.
A question worth separating out:
Q: Who is accountable when a compromised package exposes cloud or developer secrets?
A: Accountability sits with the teams that own maintainer credential governance, release controls, CI/CD hardening, and secret rotation. If a compromised dependency touched systems with sensitive credentials, the response must include revocation, reconstruction, and post-incident access review. Software supply chain incidents are identity incidents, not just build failures.
👉 Read our full editorial: Malicious package campaigns are becoming multi-day, multi-registry attacks