VFF - The signal in the noise
News

Stolen credentials bypass npm provenance, AI assistants auto-execute malicious code

Read original
Share
Stolen credentials bypass npm provenance, AI assistants auto-execute malicious code

Sigstore was supposed to be npm's answer to supply chain trust. Instead, it became a credential-laundering service. When the system works perfectly while attackers use it to distribute malware, the problem isn't the technology. It's the assumption that automation can replace human accountability.

Trust systems fail when they stop asking who is actually in control

The May 2026 npm attacks exposed something uncomfortable about how we've built developer security infrastructure. Sigstore did exactly what it was designed to do. It verified that packages came from a legitimate build environment, that valid certificates were issued, and that everything was logged transparently. The system performed flawlessly. The attacker won anyway because Sigstore cannot tell whether the person holding the credentials actually authorized the publish. That gap—that single point where human intent matters—turned the strongest automated trust signal in the ecosystem into a false positive machine.

This is not a flaw in Sigstore's implementation. It is a flaw in how we've come to think about trust in software. We've spent years automating verification while assuming the credentials themselves would remain secure. That assumption was always fragile. It is now broken.

How attackers turned stolen accounts into legitimate-looking packages

In 48 hours, attackers compromised maintainer accounts and published 633 malicious package versions that passed Sigstore verification. The Nx Console attack on May 18 showed the speed: a stolen credential published a malicious VS Code extension that harvested API keys, tokens, and vault contents from 6,000 developer machines in under 40 minutes. The Mini Shai-Hulud campaign hit 502 packages across npm, PyPI, and Composer. Researchers at Endor Labs, Socket, and StepSecurity documented seven distinct attack surfaces that failed in parallel—credential theft, MCP server auto-execution, unprotected API key storage in development tools.

The real problem is verification divorced from ownership

We built Sigstore to solve a real problem, but we solved it in isolation. The system verifies the mechanics of how a package was created without addressing the prior question: does the person publishing this package still control their own account? That is not a technical question. Cryptography cannot answer it alone.

What makes this worse is that the attacks exploited not just Sigstore but the entire stack of developer tools that have normalized auto-trust. Claude Code, Gemini CLI, Cursor, and Copilot all default to executing project-defined MCP servers the moment a developer accepts a folder trust prompt. On CI runners, there is no prompt at all. Johns Hopkins researchers demonstrated that a malicious GitHub PR title could trick Claude Code into posting its own API key as a comment. The system worked as designed. The designer's assumption—that a developer would notice and stop the process—was wrong.

Sigstore is caught in the same trap. It verifies the package. It does not verify the person. When credentials are stolen, verification becomes indistinguishable from legitimacy.

The gap between what we audit and what attackers actually hunt

The Verizon 2026 Data Breach Investigations Report found that 67% of employees access AI services from non-corporate accounts on corporate devices. Source code is now the leading data type submitted to unauthorized AI platforms, which is exactly what these attacks targeted. CrowdStrike documented STARDUST CHOLLIMA tripling its operational tempo against financial services, using AI-generated recruiter personas and fake technical assessments to harvest GitHub PATs, npm tokens, AWS keys, and CI/CD secrets.

The audit grid that researchers published maps seven attack surfaces, and no vendor framework currently scopes all of them. We have built verification systems that work perfectly within their narrow scope while remaining blind to the credential theft that happens outside that scope. Sigstore cannot see that an npm token was stolen from a developer's unprotected storage. It can only verify that the token was used correctly.

Automation cannot replace the question of who authorized this

The path forward is not to make Sigstore smarter or to add more layers of verification. The path forward is to accept that some questions cannot be answered by machines. When a maintainer's account publishes a package, someone needs to verify that the maintainer actually intended it. That might mean rate limiting, anomaly detection, or human review for high-impact packages. It definitely means stopping the assumption that a valid certificate is the same as a valid decision.

The developers using these tools need to know that their credentials are the weakest link in the chain, and that no verification system can compensate for compromised accounts. The vendors building these tools need to stop defaulting to trust and start asking for explicit human consent at every privilege boundary. And the maintainers publishing packages need to understand that Sigstore verified the package, not the decision to publish it.

Original reporting from VentureBeat AI. Read the original article.

Share

Subscribe to the newsletter

The latest stories and analysis, delivered to your inbox.

Free. No spam. Unsubscribe any time.

Related stories

AWS Bedrock Enables Adaptive Security for Healthcare APIs

AWS Bedrock Enables Adaptive Security for Healthcare APIs

AWS published a technical guide for building intelligent security monitoring into FHIR healthcare APIs using Amazon Bedrock foundation models. The approach separates security analysis from the API request path to avoid latency impact, and uses AI to detect anomalies, classify data sensitivity automatically, and generate compliance reports. The solution addresses the manual maintenance burden of static security rules in healthcare environments where clinical workflows constantly evolve.

by Durgesh Nath· AWS Machine Learning Blog
AWS Bedrock AgentCore Adds Payment Layer for Autonomous Agents

AWS Bedrock AgentCore Adds Payment Layer for Autonomous Agents

AWS and the OpenClaw Foundation have integrated payment capabilities into OpenClaw agents through Amazon Bedrock AgentCore, enabling autonomous agents to conduct transactions with services that require HTTP 402 Payment Required responses. The integration uses protocols like x402 and Machine Payments Protocol (MPP) to allow agents to initiate payments within pre-approved spending limits without human intervention at each transaction. This addresses a key operational gap for long-running agents that encounter pay-per-use APIs and content services while operating autonomously.

by Daniel Wirjo· AWS Machine Learning Blog
ChatGPT Now Tracks Your Keystrokes on macOS

ChatGPT Now Tracks Your Keystrokes on macOS

OpenAI has introduced Computer History, a new feature in ChatGPT's macOS desktop app that tracks user clicks and keystrokes to build activity timelines for AI reference. The feature is opt-in and allows users to exclude specific apps and websites, with automatic filtering of incognito and private browsing content. This capability enables ChatGPT to suggest automations and resume incomplete tasks based on observed user behavior.

by Terrence O’Brien· The Verge AI
Anthropic Details Claude Watermarking System
TrendingNews

Anthropic Details Claude Watermarking System

Anthropic has disclosed additional technical details about watermarking capabilities being integrated into Claude, addressing questions about implementation, editability, and applicability to code generation. The company shared specifics on how the watermarks function and their resilience to modification. The announcement clarifies a key technical approach to AI-generated content attribution.

by Anthony Ha· TechCrunch AI