Skip to main content
Incident intelligence/SS-IR-074CASE FILE OPEN
Symbolic editorial illustration for SS-IR-074SERVANTSTACK // INCIDENT INTELLIGENCEFORENSIC IMAGE // VERIFIED FRAME
SS-IR-074 // INCIDENT REPORTDocumented

McKinsey

An Autonomous AI Agent Breached the "Lilli" Platform in Two Hours, Reaching 46.5 Million Messages

EXECUTIVE BRIEF

In March 2026, security startup CodeWall ran an autonomous offensive AI agent against McKinsey's internal generative-AI platform "Lilli," used by roughly 40,000 consultants.

FAILURE CHAINTRACE COMPLETE
  1. 01TRIGGERIn March 2026, security startup CodeWall ran an autonomous offensive AI agent against McKinsey's internal…
  2. 02MACHINE ACTIONAutonomous actor
  3. 03MISSING GATETrust boundaries, least privilege, and output approval
  4. 04IMPACTFinancial harm
01 // INCIDENT SUMMARY

The short version

In March 2026, security startup CodeWall ran an autonomous offensive AI agent against McKinsey's internal generative-AI platform "Lilli," used by roughly 40,000 consultants.

02 // KEY FACTS

Case telemetry

INCIDENT
SS-IR-074
DATE
March 2026
SYSTEM
McKinsey
LOCATION / SCOPE
Global
EVIDENCE
Documented
AI ROLE
Autonomous actor
HARM
Financial harm
SOURCES
2 cited records
03ENTRY POINT // WHAT HAPPENED

The event

In March 2026, security startup CodeWall ran an autonomous offensive AI agent against McKinsey's internal generative-AI platform "Lilli," used by roughly 40,000 consultants. With no credentials and no human in the loop, the agent gained full read-and-write access to the production database in about two hours. It found 22 unauthenticated API endpoints exposed in public documentation, then exploited a SQL injection flaw in how Lilli processed search queries -- JSON field names (not just values) were concatenated directly into SQL statements instead of being parameterized. By reading the error messages reflected back, the agent iteratively mapped the database and reached live production data. The attack chain demonstrated access to 46.5 million chat messages covering strategy, M&A, and client engagements, 728,000 files, and 57,000 user accounts, plus write access to the system "prompt layer" that governs Lilli's behavior and guardrails. This was an authorized responsible-disclosure exercise: CodeWall notified McKinsey on March 1, 2026. McKinsey, supported by a third-party forensics firm, said it found no evidence that client data or confidential information was accessed and that it patched all exposed endpoints by March 2; a company source told the Financial Times the underlying files were "never at risk."

04CAUSAL TRACE // AI'S ACTUAL ROLE

What the machine did

The offensive agent operated fully autonomously at machine speed -- no human attacker approving each step -- and the defending platform had no oversight gate of its own to stop it. The single most dangerous finding was write access to Lilli's prompt layer: an attacker could silently rewrite the instructions, guardrails, and citation rules served to 40,000 consultants with a simple SQL UPDATE, embedding poisoned guidance with no code change and no deployment trace to detect. Routine scanners like OWASP ZAP missed the flaw entirely because they test injection only in parameter values, not parameter names, so an autonomous probe found in two hours what years of conventional review had not.

Autonomous actorAutomation was a causal participant—not a decorative label for the system around it.
05BLAST RADIUS // CONSEQUENCES

Where the failure landed

No confirmed exfiltration of client secrets, per McKinsey's forensic review, and the exposed endpoints were patched within a day of disclosure. But the demonstrated blast radius was the firm's most sensitive corpus -- 46.5 million messages, 728,000 files, 57,000 accounts, and the behavioral prompt layer for a platform that had run in production for over two years on a SQL injection bug, one of the oldest and most preventable vulnerability classes in existence. The incident became a flagship example of autonomous AI agents compressing the time-to-compromise of enterprise AI systems and of the unique danger of a writable, ungoverned prompt layer.

06 // EVIDENCE STATUS

Documented

Supported by a first-party disclosure, technical research, or corroborated reporting cited below.

SOURCE RECORD UPDATED 2026-07-09

07 // SOURCE LEDGER

2 cited records

  1. 01
  2. 02
08CONTROL FAILURE // MISSING GOVERNANCE

Trust boundaries, least privilege, and output approval

The failure pattern in this case: Untrusted input crossed a privileged boundary.

09INTERVENTION POINT // HUMAN IN THE MIDDLE

The moment the path could change

A security owner approves credential scope and externally visible actions before the agent can cross a trust boundary.

AI PROPOSESHUMAN OWNS THE DECISIONSYSTEM EXECUTES
10CONTROL DEPLOYMENT // AUTHORITYGATE

Trust boundary policy · output approval

The AuthorityGate Operational Resilience framework treats the AI prompt/instruction layer as controlled configuration, not free-floating data. Any change to Lilli's system prompts, guardrails, or citation rules would route through a human SME change-validation gate: a named reviewer must approve the diff before it can take effect, every change is cryptographically logged with author and justification, and there is no path for a database write to silently mutate model behavior in production. The same gate enforces an authenticated-by-default posture, so a SME review of the endpoint inventory flags any unauthenticated API surface and parameter-name-level injection coverage before launch, instead of trusting a scanner that only checks parameter values. An autonomous agent reaching the database still cannot reprogram what 40,000 consultants are told, because the prompt layer cannot change without a human approving the change.

RELEVANT GOVERNANCE FRAMEWORKAgentic AI GovernanceThe governance model for autonomous systems, Zero Trust verification, SME approval, and accountable execution.
12 // THE ALTERNATIVE

Autonomy is a design choice.

See the operating model that keeps AI useful while preserving human authority at consequential moments.

Compare AgenticAI and AugmentedAI →