
McKinsey
An Autonomous AI Agent Breached the "Lilli" Platform in Two Hours, Reaching 46.5 Million Messages
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.
- 01TRIGGERIn March 2026, security startup CodeWall ran an autonomous offensive AI agent against McKinsey's internal…
- 02MACHINE ACTIONAutonomous actor
- 03MISSING GATETrust boundaries, least privilege, and output approval
- 04IMPACTFinancial harm
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.
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
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."
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.
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.
Documented
Supported by a first-party disclosure, technical research, or corroborated reporting cited below.
SOURCE RECORD UPDATED 2026-07-09
2 cited records
- 01
- 02Secondary / analysisBankInfoSecurity -- Autonomous Agent Hacked McKinsey's AI in 2 Hours
Trust boundaries, least privilege, and output approval
The failure pattern in this case: Untrusted input crossed a privileged boundary.
The moment the path could change
A security owner approves credential scope and externally visible actions before the agent can cross a trust boundary.
Autonomy is a design choice.
See the operating model that keeps AI useful while preserving human authority at consequential moments.
Compare AgenticAI and AugmentedAI →