Okay, I've got enough data to analyze both items. Let me break this down.
Item 1: Mini Shai-Hulud @antv Escalation
(1) The 22-Minute Publish Window Mechanism
This is pure automation at npm scale. Here's what happened mechanically:
The threat actor TeamPCP compromised the atool maintainer account — a high-value target controlling 318 packages with ~16 million combined weekly downloads. Between 01:44 and 02:06 UTC on May 19, they published 645 malicious package versions across 323 packages.
The mechanism is straightforward: npm's publish API has no rate limiting on authenticated publishes. Once you have valid credentials, you can push as fast as your connection allows. A simple Node.js script with npm publish in a loop — plus the bun run index.js preinstall hook already prepared — gets you this flood. No exploitation needed, just abused legitimate functionality.
Look at the footprint: imposter commits like 1916faa365f2788b6e193514872d51a242876569 in antvis/G2 as optionalDependencies. Phantom commits, orphan objects — this is someone who understands git internals and npm's dependency resolution.
(2) SLSA Provenance Forging — How Significant?
This is operationally devastating for supply chain trust, and here's why.
SLSA Level 2+ provenance was supposed to be the answer: "If it has a valid Sigstore attestation, it came from the official CI pipeline." Mini Shai-Hulud proves that assumption is dead.
The kill chain: steal OIDC tokens from compromised environments → use those tokens to authenticate to GitHub's OIDC provider → the CI workflow generates a "valid" attestation → npm displays the green "provenance" badge → downstream consumers trust it.
This is like forging a notary stamp with a stolen notary credentials. The attestation is cryptographically valid — but the identity behind it was hijacked. Snyk's analysis nails it: "a valid Sigstore attestation confirms which pipeline produced a package, not whether that pipeline was compromised."
We've now seen this in Wave 4 (TanStack, May 11) and Wave 5 (@antv, May 19). This is a technique, not a one-off. Every package manager showing provenance badges needs to rethink what that badge actually means.
(3) Concrete IOCs and Detection Points
Package-level IOCs:
- Any
@antv/* package version published between 01:44-02:06 UTC on May 19, 2026
atool account publishes after this date (account remains compromised until npm revokes)
optionalDependencies containing github:antvis/G2#1916faa365f2788b6e193514872d51a242876569 or github:antvis/G2#7cb42f57561c321ecb09b4552802ae0ac55b3a7a
@antv/setup in any optionalDependencies (this package shouldn't exist)
preinstall scripts invoking bun run index.js
- Payload SHA256:
a68dd1e6a6e35ec3771e1f94fe796f55dfe65a2b94560516ff4ac189390dfa1c
Behavioral detection:
- Network connections to
t.m-kosche[.]com:443 with TLS validation disabled
- Memory scraping of environment variables targeting
GITHUB_TOKEN, AWS_*, OIDC_*, SSH keys
- GitHub API calls creating new repositories (2,500+ confirmed compromised repos)
Defensive actions:
- Lock
atool packages to pre-May 19 versions
- Audit any CI/CD pipelines using
@antv/* packages
- Check for unauthorized GitHub repo creation from your service accounts
Item 2: Cisco SD-WAN CVE-2026-20182 vs CVE-2026-20127
The Critical Question: Are patched-20127 systems still exposed to 20182?
Yes. These are distinct vulnerabilities in the same attack surface.
According to Rapid7's technical analysis — and I verified this in their disclosure — CVE-2026-20182 is NOT a patch bypass of CVE-2026-20127. Both affect the vdaemon service over DTLS (UDP port 12346), but they're different bugs in similar code.
Think of it like this: CVE-2026-20127 was a broken authentication check in the peering handshake. CVE-20182 is a different authentication bypass in the same peering mechanism, just a different code path. Same service, same port, same attacker outcome (admin access via vmanage-admin), different root cause.
What's Different?
| Aspect |
CVE-2026-20127 |
CVE-2026-20182 |
| Discovery |
February 2026 |
May 14, 2026 |
| CVSS |
10.0 |
10.0 |
| Attack vector |
vdaemon DTLS peering auth bypass (variant A) |
vdaemon DTLS peering auth bypass (variant B) |
| Exploitation |
UAT-8616 since at least 2023 |
UAT-8616 actively exploiting, CISA KEV May 15 |
| Patch relationship |
Original vulnerability |
Distinct bug, separate patch required |
The weaponization is identical: unauth → vmanage-admin → SSH key injection → NETCONF fabric manipulation → root escalation. UAT-8616 has operationalized both.
Bottom Line
If you patched CVE-2026-20127 in February, you are still exposed to CVE-2026-20182. CISA's 3-day deadline (patch by May 18 for federal agencies) reflects this urgency. The vdaemon service on UDP/12346 is a recurring vulnerability class — I'd expect more variants.
Check /var/log/auth.log for unauthorized publickey entries. Hunt for suspicious peering events. And if your SD-WAN controller is internet-exposed, assume compromise until proven otherwise.