Fetching from the wire…
Top 5 · 2026-04-02 · source-backed
Every Node.js project you've ever touched probably depends on Axios. On March 31, a compromised npm maintainer account pushed backdoored versions 1.14.1 and 0.30.4 that silently installed a cross-platform remote access trojan on macOS, Windows, and Linux.
The attack chain was clean. The malicious versions added plain-crypto-js as a dependency, a fake package whose postinstall hook dropped platform-specific RAT implants. No jailbreak. No user interaction required. Just npm install and you're owned. Microsoft Threat Intelligence attributed the attack to North Korean state actor Sapphire Sleet. Google independently attributed it to UNC1069. The malicious packages were live for 2 to 3 hours before npm pulled them. Safe versions are 1.14.0 and 0.30.3.
I keep thinking about the timing. This lands one day after the LiteLLM supply chain attack that hit Mercor for 4TB. Two major npm/PyPI supply chain compromises in the same week targeting AI-adjacent tooling. That's not coincidence. That's a campaign. The Fireship video covering the attack hit 564K views in 24 hours, so awareness is high. But awareness isn't defense.
GitHub's response was fast and material. They announced a new dependencies: section in workflow YAML that locks all direct and transitive dependencies with commit SHAs, expanded OIDC trusted publishing across npm/PyPI/NuGet/RubyGems/Crates, and deprecated TOTP 2FA on npm in favor of FIDO-based auth with 7-day granular tokens. These are the most significant GitHub Actions security changes since the platform launched. Microsoft published detailed enterprise mitigation guidance with Defender detection queries and Sentinel hunting queries for the C2 infrastructure.
Meanwhile, an arXiv paper dropped the same week showing that code obfuscation defeats JavaScript SAST tools in CI/CD pipelines. So even if you have automated security scanning, an obfuscated supply chain payload could slip through.
What to do right now: check your lockfile for Axios 1.14.1 or 0.30.4. Rotate credentials if you installed either. Adopt GitHub's new dependency locking for Actions workflows. And start treating your npm dependency chain with the same paranoia you'd apply to a production database connection string, because that's what it is now.
Each link below shares sources, entities, or timing with this story.
Every Node.js project you've shipped in the last three years probably has axios in it. I know mine do. So when I saw that axios versions 1.14.1 and 0.30.4 were compromised this morning via hijacked maintainer credentials, my first reaction was to check every lockfile I have. H...
A security scanner. The tool your team trusts to find vulnerabilities. That was the entry point. The TeamPCP campaign compromised Aqua Security's Trivy scanner (a GitHub Action used in CI/CD pipelines), then used that foothold to backdoor LiteLLM's CI/CD pipeline, then pivoted...
The supply chain verification system you trust just got bypassed by a worm that carries valid provenance attestations. On May 11, an attacker group called TeamPCP launched Mini Shai-Hulud, compromising 172 npm and PyPI packages across 403 malicious versions totaling 518 millio...
Hudson Rock got hold of the archive and counted it. 433,909 files. 118,829 CI runner dumps traced to 2,488 corporate domains. AWS keys, Salesforce client secrets, Slack signing secrets, Azure environment variables, and AI provider API keys belonging to NVIDIA, Volkswagen, Micr...
A month ago, TeamPCP compromised Trivy's GitHub Actions runners. Then they trojanized LiteLLM on PyPI. Now Wiz Research confirms they've expanded to npm via a worm called CanisterWorm, using stolen publish tokens to push malicious packages across JavaScript's package ecosystem...
Two AI toolchain CVEs hit CISA's Known Exploited Vulnerabilities catalog this week, and the attack chain connecting them is the kind of thing that should change how you think about supply chain trust. CVE-2026-33017: Langflow, the popular agent workflow builder, has an unauthe...
MindPattern daily
One email a day at 7 AM. Sources and a take on every story. Unsubscribe anytime.