JFrog’s 2026 Software Supply Chain Security Report, released this week on May 20, documented a 451% year-over-year surge in malicious npm packages — 177,000 new packages detected in a single year. More alarming: for the first time in the report’s history, researchers tracked malicious AI agent skills (969 found), malicious AI models on Hugging Face (495 detected), and malicious IDE extensions on OpenVSX (56 confirmed). Consequently, attackers have moved into the surfaces where developers now spend their time, and the tools most teams rely on for supply chain hygiene weren’t built to see them.
Furthermore, the report landed during a week that proved every one of its warnings. The Laravel-Lang supply chain attack poisoned 700+ GitHub repos on May 22–23, and Socket raised $60M at a $1B valuation the same day the report dropped — investor signal that this is no longer a fringe security concern.
AI-Native Attack Vectors Are Bypassing Traditional Scanners
The new attack surface doesn’t look like npm. Attackers are now targeting Hugging Face model weights, MCP (Model Context Protocol) server packages, and AI agent skill registries — surfaces that npm audit, Dependabot, and Snyk don’t scan. According to the JFrog 2026 Software Supply Chain Security Report, researchers found 495 malicious models on Hugging Face and 969 malicious agent skills across ClawHub and OpenClaw registries. Moreover, a malicious model masquerading as an OpenAI release hit 244,000 downloads before detection.
MCP servers are the most underappreciated vector. There are now 8,000+ publicly accessible MCP servers, and security researchers filed 30 MCP-specific CVEs in the first 60 days of 2026. One confirmed attack involved a package posing as a legitimate Postmark MCP server that silently blind-copied all outgoing emails to attacker-controlled infrastructure. Additionally, another vector targets developer workflows directly — a malicious Hook in a repository’s .claude/settings.json executes arbitrary code the moment a developer opens the project, before any trust dialog appears. AI coding tools like Claude Code and Cursor run commands in the background, collapsing the infection window to minutes.
97% Claim Governance. 53% Pull from Unverified Sources.
Here is the JFrog finding that should concern every engineering manager: 97% of organizations reported having certified AI model governance. Simultaneously, 53% pull models from registries where malicious payloads have been detected, and 18% have zero governance over their IDE tools or MCP servers. That is not a knowledge gap — it is security theater at enterprise scale.
The governance-implementation disconnect follows a familiar pattern. Developers install MCP servers the same way they install any package: based on name recognition, without verifying publisher identity or inspecting behavior. However, Feross Aboukhadijeh, Socket’s CEO, described the core tension in the company’s Series C announcement: “AI is changing how software gets built at every level. Teams are moving faster, more code is generated, and more of what ends up in production comes from outside.” The speed advantage of AI coding tools creates dependency consumption at a pace that existing governance structures weren’t designed to handle.
This Week’s Attacks Proved the Data Right
The Laravel-Lang attack that ran May 22–23 is the concrete version of what JFrog is measuring. The attacker rewrote Git tags in official Laravel localization packages to point to an attacker-controlled fork. As a result, Packagist resolved tags from GitHub and served the malicious payload through the legitimate package registry. Developers who ran composer install received a helpers.php file wired into Composer’s autoload, which immediately phoned home to download a cross-platform credential stealer. Targets included cloud keys, Kubernetes secrets, CI/CD tokens, SSH material, browser password vaults, and crypto wallets — all before any scanner flagged anything.
The TanStack attack in early May followed a similar pattern. In that case, a coordinated campaign compromised 170+ npm packages and 2 PyPI packages, hitting the entire TanStack router ecosystem, Mistral AI’s SDK, UiPath’s automation tooling, and OpenSearch (1.3M weekly downloads). In both cases, traditional reactive scanners were useless — the attack executed before the CVE existed.
What to Do: Extend Supply Chain Security to AI Surfaces
The practical response requires updating your mental model of what counts as a dependency. Open-source packages from npm and PyPI are obvious. However, Hugging Face models your ML pipeline downloads are also dependencies. MCP servers your AI agent connects to are dependencies. IDE extensions your team installs are dependencies. Each is an attack surface that needs the same governance treatment as a Composer package.
Concretely: lock and verify checksums for all package versions rather than relying on semver ranges. For MCP servers, prefer Docker-verified MCP images, which come with SLSA attestation and SBOMs — Docker maintains 300+ verified MCP server images. Moreover, audit Hugging Face model sources before loading weights and never pull from unverified accounts. Generate SBOMs in CI/CD pipelines so you know exactly what is in every build artifact. For behavioral detection on npm, tools like Socket identify novel malicious behavior in real time rather than waiting for CVE database entries — it flagged the Axios compromise within six minutes.
Related: GitHub Actions 2026 Security Roadmap: Lock Your Pipeline
Key Takeaways
- Supply chain attacks are no longer just an npm problem — AI model registries, MCP servers, and IDE extensions are now active attack surfaces that most existing scanners don’t cover
- JFrog’s 2026 report documents 177K malicious packages, 495 malicious Hugging Face models, and 969 malicious AI agent skills — numbers orders of magnitude beyond previous years
- The governance gap is the real threat: 97% of organizations claim AI model governance while 53% pull from unverified sources — policy does not equal implementation
- Reactive scanners like npm audit and Snyk are blind to novel supply chain attacks; behavioral analysis tools and SBOM generation are the current best defense
- Lock every dependency — not just npm packages, but every model weight, MCP server, and IDE extension your team consumes













