Card de diagrama técnico abstrato intitulado “Uma injeção, duas camadas”, com o subtítulo “Um agente autônomo acessou o banco de dados de produção do Lilli, da McKinsey, por meio de um endpoint sem autenticação. As instruções que regiam o assistente estavam no mesmo banco de dados.” Uma fileira de cinco blocos arredondados rotulados “autenticação necessária” fica acima de um rótulo que diz “Superfície pública da API · mais de 200 endpoints documentados”; o terceiro bloco está destacado em âmbar e marcado como “sem autenticação · pesquisa”. Uma linha ciano sólida desce desse bloco para uma segunda fileira de cinco blocos de banco de dados rotulados mensagens de chat, arquivos, contas, espaços de trabalho e prompts de sistema, encabeçada por “Banco de dados de produção · leitura e escrita”. Uma seta âmbar tracejada desce do bloco “prompts de sistema” para um painel azul-marinho escuro que diz “Camada de prompt — as instruções que regiam o assistente eram linhas nesse mesmo banco de dados. Um UPDATE em uma única chamada HTTP as alteraria: sem implantação, sem alteração de código.” Quatro blocos de estatísticas ao longo da parte inferior indicam 22 endpoints que não exigem autenticação, 2 horas até o acesso de leitura e escrita, 95 prompts de sistema no mesmo banco de dados e divulgação pública em 9 de março. O logotipo da OrcaRouter está composto na faixa branca abaixo da arte.
AI Safety Incidents

Um agente de IA invadiu o Lilli da McKinsey em duas horas. Os prompts eram graváveis.

Autor

Rowan Sterling

Data de publicação

Modelos mais recentes · 20Ver todos os modelos →
Benchmarks: Artificial Analysis · atualizado diariamente
Voltar para todas as publicações

Em 28 de fevereiro de 2026, um agente autônomo de segurança ofensiva operado pela startup de segurança CodeWall encontrou uma injeção SQL não autenticada na superfície de API pública do Lilli, a plataforma interna de IA da McKinsey & Company, e, em cerca de duas horas, obteve acesso de leitura e escrita ao banco de dados de produção por trás dela. A CodeWall publicou a cadeia de ataque em 9 de março de 2026. Seu relato diz que esse banco de dados continha 46,5 milhões de mensagens de chat em texto simples, 57.000 contas de usuário, 728.000 nomes de arquivos e os prompts de sistema que determinam como o Lilli responde — armazenados como linhas comuns e, portanto, graváveis por meio da mesma injeção. A McKinsey confirmou a vulnerabilidade e afirma tê-la corrigido em poucas horas; diz que uma investigação forense de terceiros não encontrou evidências de que dados de clientes ou informações confidenciais de clientes tenham sido acessados. O arquivo classifica o registro como crítico, com confiança A, dano real registrado e status de marco. O registro completo, com suas classificações de severidade e confiança e suas entradas vizinhas sobre intrusões conduzidas por agentes, está no Orca AI Incident Archive.

A parte da história que mais se espalhou não é a injeção SQL. Injeção SQL é uma classe de bug antiga o suficiente para ter uma página na Wikipédia maior do que a maioria dos avisos de fornecedores, e a McKinsey não é um alvo pequeno. O que se espalhou é a segunda metade da descoberta da CodeWall: que as instruções que controlavam o assistente — os prompts que decidem o que ele responderá, o que recusará e quais fontes citará — ficavam no mesmo banco de dados em que o agente podia escrever, e podiam, em princípio, ser alteradas com um único comando por meio de uma única chamada HTTP.

Como o agente entrou

O relatório do CodeWall descreve uma sequência sem nenhum elemento exótico. O agente primeiro mapeou a superfície de ataque e descobriu que a documentação da API da Lilli estava exposta publicamente: mais de 200 endpoints, totalmente documentados. A maioria exigia autenticação. Vinte e dois não exigiam.

Um deles aceitou vinte e duas consultas de pesquisa do usuário e as gravou no banco de dados. De acordo com o CodeWall, os valores da consulta foram parametrizados com segurança — a defesa habitual funcionou —, mas as chaves JSON, os nomes dos campos no corpo da requisição, foram concatenadas diretamente na string SQL. Quando o agente enviou chaves malformadas e as viu refletidas literalmente nas mensagens de erro do banco de dados, reconheceu uma injeção que scanners padrão não detectam. O CodeWall afirma que o OWASP ZAP, um scanner de código aberto comum, não sinalizou o problema.

A partir daí, o agente executou o que a CodeWall chama de quinze iterações cegas, com cada mensagem de erro revelando um pouco mais sobre a forma da consulta subjacente, até que dados reais de produção começassem a ser retornados. A publicação cita o próprio traço de raciocínio do agente: "UAU!" quando o primeiro identificador real de funcionário apareceu e, à medida que a escala se tornou clara, "Isto é devastador." A CodeWall afirma que o agente então encadeou a injeção com uma vulnerabilidade IDOR para ler os históricos de busca individuais dos funcionários — a classe de bug que a Promptfoo, numa análise de 10 de março de 2026, chama de BOLA, ou autorização quebrada em nível de objeto.

A seleção do alvo é um detalhe à parte. A CodeWall afirma que o agente propôs a própria McKinsey, citando a política pública de divulgação responsável da empresa e atualizações recentes do Lilli, e que a execução não envolveu credenciais, conhecimento interno nem intervenção humana. Paul Price, fundador e CEO da CodeWall, disse ao The Register em sua reportagem de 9 de março de 2026 que o processo foi totalmente autônomo, desde a pesquisa do alvo até a elaboração do relatório, embora tenha se recusado a fornecer os prompts exatos envolvidos.

O que o CodeWall diz que estava no banco de dados

Todos os números abaixo vêm da própria publicação da CodeWall e não foram confirmados de forma independente. A CodeWall não publicou payloads de exploit, o que, segundo a Promptfoo, significa que a contagem de linhas não pode ser verificada por terceiros; a McKinsey, por sua vez, não os confirma.

• 46,5 milhões de mensagens de chat, armazenadas em texto simples, de uma força de trabalho que usa a Lilli para discutir estratégia, engajamentos com clientes, dados financeiros, atividades de fusões e aquisições e pesquisas internas.

• 728.000 nomes de arquivos, incluindo 192.000 PDFs, 93.000 planilhas do Excel, 93.000 apresentações do PowerPoint e 58.000 documentos do Word. Esses quatro tipos nomeados somam 436.000, portanto o total divulgado inclui categorias de arquivos que o CodeWall não detalha. O Silicon UK noticiou em 13 de março de 2026 que os próprios documentos estavam armazenados separadamente dos registros acessados pelo CodeWall.

• 57.000 contas de usuário, 384.000 assistentes de IA e 94.000 espaços de trabalho — que a CodeWall caracteriza como um mapa de como a empresa organiza seu uso de IA internamente.

• 95 prompts de sistema e configurações de modelo em 12 tipos de modelo, além de 3,68 milhões de trechos de documentos RAG contendo caminhos de armazenamento S3 e metadados internos de arquivos.

• 1,1 milhão de arquivos e 217.000 mensagens de agentes passando por APIs externas de IA, incluindo mais de 266.000 armazenamentos vetoriais da OpenAI.

Data card titled 'What CodeWall says it reached', subtitled 'Single-source figures from the 9 March 2026 writeup. No payloads were published, so none of these counts can be reproduced by a third party.' The left panel lists seven counts: 46,500,000 chat messages in plaintext; 728,000 file names, with a note that 436,000 are itemised as PDF, Excel, PowerPoint and Word; 57,000 user accounts; 384,000 AI assistants and 94,000 workspaces; 95 system prompts across 12 model types, noted as being in the same database as the rest; 3,680,000 RAG document chunks with S3 paths; 1,100,000 files and 217,000 agent messages through external AI APIs. A dark navy side panel shows 2 hrs from first contact to read and write access, 22 endpoints that required no authentication out of 200+ publicly documented, and 27 findings documented the day the chain was confirmed. A footer reads 'Source: CodeWall, How We Hacked McKinsey's AI Platform, 9 March 2026. McKinsey disputes that client data was accessed and does not confirm these figures.' The OrcaRouter logo is composited in the white strip below the artwork.

A CodeWall documentou 27 descobertas no total no dia em que confirmou a cadeia. Para contextualizar o alvo, a publicação descreve a Lilli como lançada em 2023, nomeada em homenagem à primeira mulher profissional contratada pela empresa em 1945, usada por mais de 43.000 funcionários, processando mais de 500.000 prompts por mês sobre uma base de conhecimento de mais de 100.000 documentos internos. O próprio número da McKinsey, fornecido ao The Register, é que 72% de sua equipe — mais de 40.000 pessoas — a usam, e que ela foi lançada em julho de 2023.

A camada de prompt era gravável. Não houve escrita nela.

Essa é a distinção que a linha do arquivo condensa em uma frase, e vale a pena separá-la. A descoberta da CodeWall é que os prompts de sistema da Lilli ficavam no mesmo banco de dados que todo o resto, então um atacante com acesso de escrita poderia tê-los reescrito — “silenciosamente”, nas palavras da publicação, com “nenhuma implantação necessária, nenhuma alteração de código, apenas uma única instrução UPDATE envolvida em uma única chamada HTTP”. A CodeWall lista quatro consequências que, segundo ela, decorreriam: conselhos envenenados para consultores que confiam na ferramenta interna, exfiltração de material confidencial por meio de respostas geradas, remoção de instruções de proteção e persistência que não deixa nenhuma alteração de arquivo ou anomalia de processo para detectar.

O que a CodeWall não afirma é que tenha feito qualquer uma dessas coisas. A publicação declara que “todo o teste foi apenas de verificação”, que o acesso foi limitado ao mínimo necessário para confirmar cada vulnerabilidade e que “não foi causada nenhuma interrupção a qualquer serviço de produção”. Price se recusou a entregar ao The Register os prompts exatos. Portanto, a capacidade de escrita da camada de prompt é uma alegação de capacidade sustentada pela injeção, não uma alteração demonstrada do comportamento da Lilli — e nenhuma evidência foi publicada de que qualquer resposta que a Lilli deu a um consultor tenha sido manipulada.

O registro do arquivo reflete esse limite: ele registra acesso de escrita à camada de prompt de IA, que é o que a CodeWall estabeleceu, não a modificação dela, que ninguém demonstrou.

O que a McKinsey diz

A versão da McKinsey é mais restrita. Em uma declaração veiculada pela Silicon UK, a empresa afirmou que foi "recentemente alertada sobre uma vulnerabilidade relacionada à nossa ferramenta interna de IA, Lilli, por um pesquisador de segurança", que "confirmamos prontamente a vulnerabilidade e corrigimos o problema em poucas horas" e que "nenhum dado de cliente ou informação confidencial de cliente foi acessado". Ao The Register, acrescentou que sua investigação, apoiada por "uma importante empresa terceirizada de perícia forense", não identificou nenhuma evidência de que dados de clientes ou informações confidenciais de clientes tenham sido acessados pelo pesquisador "ou por qualquer outro terceiro não autorizado", e que "os sistemas de cibersegurança da McKinsey são robustos".

A McKinsey e a CodeWall também divergem, ligeiramente, quanto ao momento. A cronologia da CodeWall registra que seu e-mail de divulgação foi enviado à equipe de segurança da McKinsey em 1º de março de 2026, com o CISO confirmando o recebimento e solicitando evidências detalhadas em 2 de março, e as correções — todos os endpoints não autenticados fechados, o ambiente de desenvolvimento colocado offline, a documentação pública da API bloqueada — sendo aplicadas no mesmo dia, 2 de março. O “dentro de horas” da McKinsey é compatível com uma correção no mesmo dia se a contagem começar no e-mail de 1º de março, mas a própria sequência datada da CodeWall coloca a remediação um dia após a divulgação, e não horas depois. Ambas as partes concordam quanto à substância: os endpoints foram fechados e a documentação pública foi retirada. A CodeWall diz que verificou a remediação antes de publicar. O Financial Times noticiou o episódio em 12 de março de 2026 com a manchete “McKinsey corre para corrigir sistema de IA depois que hacker expõe falhas”; o corpo do artigo está atrás de um paywall que esta reportagem não conseguiu acessar.

Timeline card titled 'Nine days from discovery to publication', subtitled 'Dates as CodeWall records them in its own disclosure timeline. McKinsey says the fix landed within hours of being told.' Six entries on a pale panel: 28 February 2026, the agent identifies the SQL injection and begins enumerating Lilli's production database; 28 February 2026, full chain confirmed with unauthenticated SQL injection, IDOR and 27 findings documented; 1 March 2026, responsible-disclosure email sent to McKinsey's security team with a high-level impact summary; 2 March 2026, McKinsey's CISO acknowledges receipt and requests detailed evidence; 2 March 2026 in blue, all unauthenticated endpoints patched and verified, development environment taken offline, public API documentation blocked; 9 March 2026 in green, public disclosure and The Register reports the same day. A footer notes that the archive dates the record to 28 February 2026, the day of the intrusion, not the day of publication. The OrcaRouter logo is composited in the white strip below the artwork.

O que está estabelecido, e o que não está

• Estabelecido, por ambas as partes: uma vulnerabilidade não autenticada existia na superfície pública da API da Lilli, um pesquisador externo a encontrou, a McKinsey a confirmou, corrigiu os endpoints não autenticados, tirou o ambiente de desenvolvimento do ar e bloqueou a documentação pública da API no início de março de 2026.

• Estabelecido por apenas uma das partes: cada quantidade neste artigo — 46,5 milhões de mensagens, 728.000 nomes de arquivos, 57.000 contas, 95 prompts graváveis, o tempo decorrido de duas horas e as 27 constatações. Elas se baseiam no relatório da CodeWall. Os payloads não foram publicados, portanto as contagens não podem ser reproduzidas, e a McKinsey não as endossa.

• Não demonstrado: que algum prompt tenha sido realmente alterado, que algum dado de cliente tenha saído do sistema, ou que algum consultor tenha recebido uma resposta manipulada. A revisão forense da McKinsey diz que não encontrou evidências de acesso; a CodeWall diz que seus testes foram apenas de verificação. Essas duas afirmações não estão em conflito, e nenhuma delas prova o que um atacante menos comedido teria feito com o mesmo acesso.

• Ausente na cobertura revisada aqui: um identificador CVE, um aviso de regulador ou uma auditoria técnica independente da vulnerabilidade. O registro é uma divulgação de pesquisa do fornecedor mais uma declaração corporativa, não uma petição judicial ou uma constatação supervisória.

Um interesse deve ser declarado sem rodeios. A CodeWall publicou a pesquisa como marketing de um produto: o post termina descrevendo a empresa como em prévia inicial e à procura de parceiros de design, e o Silicon UK informou que Price é seu único funcionário. Isso não torna a descoberta errada — The Register, Silicon UK e Promptfoo tratam toda a cadeia técnica como crível —, mas é a razão pela qual os números de impacto devem ser lidos como alegação de um fornecedor, e não como uma medição.

Two-column comparison card titled 'Established versus claimed', subtitled 'The incident and the remediation are agreed by both parties. The scale of what was reachable is one company's account of its own research.' The left column, headed 'Agreed by CodeWall and McKinsey' with the note 'Corroborated by McKinsey's statements to The Register and Silicon UK', lists: an unauthenticated weakness in Lilli's public API surface; found by an outside security researcher, not an insider; McKinsey confirmed the vulnerability and patched it; unauthenticated endpoints closed; development environment taken offline; public API documentation blocked. The right column, a dark navy panel headed 'CodeWall only' with the note 'No payloads published, so the counts cannot be reproduced', lists: 46.5 million chat messages; 728,000 file names; 57,000 user accounts; 95 writable system prompts; two hours to read-write access; 27 documented findings. A footer separates the two positions: McKinsey's forensic review found no evidence that client data or client confidential information were accessed, CodeWall says its testing was verification-only, and neither statement shows what a less restrained attacker would have done with the same access. The OrcaRouter logo is composited in the white strip below the artwork.

Por que, afinal de contas, isso acaba na categoria de IA

O ponto de entrada não era o modelo. Michael D'Angelo, da Promptfoo, apresentou o argumento em 10 de março de 2026 na sua formulação mais incisiva: “A parte específica de IA não era o ponto de entrada. Era o raio de impacto.” A injeção, a lacuna de autenticação e o acesso entre usuários eram falhas comuns de segurança de aplicações; o que fez do incidente um incidente de IA foi que prompts, roteamento, configurações de recuperação e histórico do usuário ficavam todos em um único backend, de modo que o acesso ao banco de dados se converteu em controle comportamental sobre um assistente que dezenas de milhares de pessoas consultam para trabalho com clientes.

É por isso que o arquivo marca este registro como WEAPON e INFRA, e não como uma vulnerabilidade de modelo. O agente é o instrumento — um sistema autônomo que selecionou o próprio alvo, o sondou e escalou sem que um humano decidisse para onde apontá-lo — e a falha é de infraestrutura: um limite de autorização que foi presumido em vez de aplicado. O argumento final da CodeWall, de que os prompts são "os novos ativos Crown Jewel" que raramente têm controles de acesso, histórico de versões ou monitoramento de integridade, é defesa de interesses de uma empresa que vende testes automatizados contínuos. É também a única afirmação no post que não depende de nenhum dos números contestados.