Casualty Report No. 04

The Vercel intrusion via Context.ai, April 2026

One employee, one OAuth grant, and nobody holding the list.

1. What happened

On April 19, 2026, Vercel disclosed unauthorized access to internal systems. Per the company's own bulletin, the incident originated with a compromise of Context.ai, a third-party AI tool used by a Vercel employee. The attacker used that access to take over the employee's Google Workspace account, and from there reached Vercel environments and environment variables not marked sensitive. Variables marked sensitive are stored so they cannot be read back, and Vercel reported no evidence those values were accessed.

The chain reportedly began earlier still: an infostealer infection at Context.ai in February 2026, leading to theft of OAuth tokens covering a subset of that vendor's users. Context.ai's Chrome extension had requested read access across a user's Google Drive; it was removed from the store in late March.

A threat actor subsequently offered an alleged Vercel dataset for sale on a criminal forum. Those claims were not fully independently verified. Vercel engaged Mandiant, notified law enforcement, and confirmed with GitHub, Microsoft, npm and Socket that no packages it publishes had been tampered with.

2. What FleetRegistry would not have done

FleetRegistry would not have prevented any link in this chain. It would not have detected the infostealer on a vendor's endpoint, would not have known that vendor's OAuth tokens were stolen, would not have identified the account takeover, and would not have blocked the lateral movement. Vercel's response — Mandiant, law enforcement, industry coordination — is the correct response and none of it is a registry function.

There is a harder limit specific to this incident, and it is the most important sentence in this report.

Context.ai was not Vercel's agent. It was a vendor's product, running on the vendor's infrastructure, holding a grant an individual employee had made. A registry registers the fleet its operator controls. It does not reach inside a third party's systems, and any vendor claiming otherwise is describing something they cannot do.

What a registry can hold is the Vercel side of that relationship: that a grant existed, what it covered, who made it, and when it changed.

3. What the record would have contained

The connection is the object.

Most inventories of AI risk are inventories of agents. This incident was not caused by an agent misbehaving. It was caused by an edge — a standing authorization from a corporate identity to an external system, created by one person in the ordinary course of work, and thereafter invisible.

A fleet is not a list. It is a graph of actors, the resources they touch, the external systems they reach, and the credentials that connect them. In registry terms the relevant object here is agent-to-external-system: a third-party AI tool holding read access to a Workspace account, recorded as a connection with a scope, a granting human, a creation date, and a lifecycle.

The moment that edge exists as a record rather than as an OAuth consent screen someone clicked, three things follow: it can be enumerated, it can be reviewed, and its creation is a material state change rather than a silent fact.

Shadow agents are a measurable number or they are nothing.

The widely reported finding after this breach was that most organizations have no systematic inventory of which AI tools their employees have connected to corporate accounts. That is the shadow-worker problem stated in the language of a security bulletin.

A registry's honest contribution is that shadow-worker count becomes a number an operator watches, and — critically — the registry represents workers and connections it cannot independently observe, labelled as such. An operator-declared grant with no independent evidence behind it sits at declared rung. It is on the record and it is not overstated. Both halves matter.

Scope determination in the first hour.

Vercel's disclosure describes ongoing work to identify additional compromised accounts. When the compromised path is an identity grant, the question is always the same: what else did this credential reach, and what else was granted to the same third party across the organization. A register of connections answers the second question immediately, which is the one that determines whether the incident is one employee or forty.

4. What the record still could not have answered

  • Anything about the vendor's internal state. Context.ai's compromise happened inside Context.ai. No customer-side register sees that.
  • Whether the grant was ill-advised at the time it was made. The record establishes that a broad read grant to a third-party tool existed and who made it. Judging it is a policy function, performed by humans against their own standards.
  • Whether sensitive data was actually taken. Vercel's own investigation, with Mandiant, is the instrument for that. A service record establishes reachability, not exfiltration.
  • Grants made outside the registered population. If an employee connects a tool nobody registers, the edge is invisible. Coverage is the whole game, and coverage is never complete.

5. Metrics this incident touches

LeverMetric
Loss avoidanceShadow-worker count · credential-exposure count
GovernanceMaterial-permission-change count · % of workers with verified identity
InvestigationMTTD / MTTR for agent incidents · blast radius per incident
SpeedVendor security-review cycle time · integration approval time

The last row is the offense case hiding inside a breach report: an organization that can enumerate its agent connections approves the next integration in days rather than weeks.

6. Sources

  • Vercel security bulletin, Vercel April 2026 security incident, and subsequent updates
  • Context.ai security advisory, April 2026
  • Help Net Security, Security Affairs, Varonis, OX Security and Cloud Security Alliance analyses, April–May 2026
  • Public reporting on claims made on criminal forums, which remain unverified and are treated as such here

A fleet is not a list of agents. It is a graph of who talks to what, under whose authority, since when.