抽象技術圖卡,標題為「一次注入,兩層」,副標題為「一個自主代理透過未經驗證的端點,進入了 McKinsey 的 Lilli 正式環境資料庫。控管該助理的指令就存放在同一個資料庫中。」一排五個圓角區塊標示為「需要驗證」,位於標示「公開 API 介面 · 200+ 個已記錄端點」的標籤上方;第三個區塊以琥珀色突顯,並標示「無需驗證 · 搜尋」。一條實心青色線從該區塊向下延伸,進入第二排五個資料庫板塊,分別標示為聊天訊息、檔案、帳號、工作區與系統提示詞,上方標題為「正式環境資料庫 · 讀取與寫入」。一條虛線琥珀色箭頭從「系統提示詞」板塊落入深藍色面板,面板文字為「提示詞層——控管該助理的指令曾是這個同資料庫中的資料列。只要透過一次 HTTP 呼叫執行一次 UPDATE,就能改變它們:無需部署、無需變更程式碼。」底部四個統計圖磚寫著:22 個無需驗證的端點、2 小時即可取得讀寫權限、同一個資料庫中有 95 個系統提示詞,以及 3 月 9 日公開揭露。OrcaRouter 標誌合成於圖稿下方的白色條帶中。
AI Safety Incidents

一個 AI 代理在兩小時內駭入了 McKinsey 的 Lilli。提示詞是可寫入的。

作者

Rowan Sterling

發佈日期

最新模型 · 20查看全部模型 →
基準測試:Artificial Analysis · 每日更新
返回全部文章

2026 年 2 月 28 日,由安全新創公司 CodeWall 營運的一個自主進攻型安全代理程式,在 McKinsey & Company 內部 AI 平台 Lilli 的公開 API 介面中發現一個未經身分驗證的 SQL 注入漏洞,並在大約兩小時內取得其背後生產資料庫的讀寫權限。CodeWall 於 2026 年 3 月 9 日公開了攻擊鏈。其報告稱,該資料庫以明文保存了 4,650 萬則聊天訊息、57,000 個使用者帳號、728,000 個檔案名稱,以及規範 Lilli 如何回答的系統提示詞——這些都以一般資料列儲存,因此可透過同一個注入漏洞寫入。McKinsey 證實了該漏洞,並表示已在數小時內修復;其表示第三方鑑識調查未發現任何證據顯示客戶資料或客戶機密資訊遭到存取。該檔案庫將此紀錄評為「嚴重」(critical),信心等級為 A,記錄了實際危害,並具里程碑地位。完整紀錄包含其嚴重度與信心等級,以及鄰近關於代理程式驅動入侵的條目,收錄於Orca AI Incident Archive。

這個故事流傳最廣的部分並不是 SQL 注入。SQL 注入是古老到其維基百科頁面比大多數廠商安全公告還長的漏洞類別,而 McKinsey 並不是小型目標。真正流傳開來的是 CodeWall 發現的後半段:控制該助理的指令——決定它會回答什麼、拒絕什麼,以及引用哪些來源的提示詞——就存放在該代理程式可寫入的同一個資料庫中,原則上可透過一次 HTTP 呼叫、用一句陳述式加以變更。

探員是如何進入的

CodeWall 的報告描述了一段沒有任何特殊要素的流程。該代理首先梳理了攻擊面,發現 Lilli 的 API 文件公開暴露:超過 200 個端點,且都有完整文件說明。大多數需要身分驗證。有 22 個不需要。

那二十二個中的一個接受了使用者搜尋查詢,並將它們寫入資料庫。根據 CodeWall,查詢 值已安全地參數化——慣常的防禦奏效了——但 JSON 鍵,也就是請求主體中的欄位名稱,卻被直接串接進 SQL 字串。當代理程式送出格式錯誤的鍵,並看到它們原樣出現在資料庫錯誤訊息中時,它辨識出一種標準掃描器不會捕捉到的注入攻擊。CodeWall 表示,常見的開源掃描器 OWASP ZAP 並未標記此問題。

從那裡開始,該代理程式執行了 CodeWall 所謂的十五次盲迭代,每個錯誤訊息都多揭露一點底層查詢的樣貌,直到即時生產資料開始回傳。該文章引用了代理程式自身的推理軌跡:當第一個真實員工識別碼出現時是「WOW!」,而隨著規模變得清楚,則是「這太具毀滅性了。」CodeWall 表示,該代理程式接著將注入與 IDOR 漏洞串連,以讀取個別員工的搜尋紀錄——這類漏洞正是 Promptfoo 在 2026 年 3 月 10 日的一份分析中所稱的 BOLA,亦即破壞物件層級授權。

目標選擇本身就是一個細節。CodeWall 表示,該代理自行提議以 McKinsey 為目標,並引用該公司公開的負責任揭露政策以及 Lilli 的近況更新,且這次執行不涉及任何憑證、內線知識,也沒有人員介入。CodeWall 創辦人暨執行長 Paul Price 在《The Register》2026 年 3 月 9 日的報導中表示,整個流程從研究目標到回報完全自主,但他拒絕提供涉及的確切提示詞。

CodeWall 所說曾在資料庫中的內容

以下每一項數字皆來自 CodeWall 自己的貼文,尚未經過獨立確認。CodeWall 並未公布漏洞利用載荷,Promptfoo 指出,這意味著資料列數無法由第三方核實;麥肯錫則不予以證實。

• 4,650 萬則聊天訊息,以明文儲存,來自使用 Lilli 討論策略、客戶合作、財務、併購活動與內部研究的員工群體。

• 728,000 個檔案名稱,包括 192,000 份 PDF、93,000 份 Excel 試算表、93,000 份 PowerPoint 簡報及 58,000 份 Word 文件。這四種列名類型合計為 436,000,因此標題總數計入了 CodeWall 未逐項列出的檔案類別。Silicon UK 於 2026 年 3 月 13 日報導,這些文件本身與 CodeWall 所取得的紀錄分開存放。

• 57,000 個使用者帳戶、384,000 個 AI 助理與 94,000 個工作區——CodeWall 將其形容為一幅描繪該公司如何在內部安排 AI 使用情況的地圖。

• 95 個系統提示詞與模型設定,涵蓋 12 種模型類型,另有 368 萬個 RAG 文件區塊,帶有 S3 儲存路徑與內部檔案中繼資料。

• 110 萬個檔案與 217,000 則代理程式訊息通過外部 AI API,其中包括超過 266,000 個 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.

CodeWall 在確認該攻擊鏈當天總共記錄了 27 項發現。關於目標的背景,該文章描述 Lilli 於 2023 年推出,以該公司於 1945 年聘用的第一位專業女性命名,有超過 43,000 名員工使用,每月在超過 100,000 份內部文件的知識庫上處理超過 500,000 則提示。McKinsey 提供給 The Register 的自家數據是,其 72% 的員工——超過 40,000 人——使用它,且它於 2023 年 7 月推出。

提示層是可寫入的,但並未被寫入。

這正是封存資料列濃縮成一句話的區別,值得單獨拆出來說明。CodeWall 的發現是,Lilli 的系統提示與其他所有內容存放在同一個資料庫中,因此取得寫入權限的攻擊者原本就能改寫這些提示——用該篇文章的說法,是「無聲地」改寫,而且「無需部署、無需變更程式碼,只要一個包在單次 HTTP 呼叫中的單一 UPDATE 陳述式」。CodeWall 列出它稱之為隨之而來的四項後果:向信任這項內部工具的顧問提供遭汙染的建議、透過生成的回答外洩機密資料、移除防護欄指令,以及持續潛伏而不留下任何可供偵測的檔案變更或程序異常。

CodeWall 並未宣稱自己做了上述任何一件事。該文章表示「所有測試僅屬驗證性質」,存取權限僅限於確認各項漏洞所需的最低程度,且「未對任何生產服務造成干擾」。Price 拒絕向 The Register 提供確切的提示詞。因此,提示詞層的可寫入性是一項由該次注入所佐證的能力主張,而非對 Lilli 行為的實際篡改;同時,目前並未公布任何證據顯示 Lilli 曾給顧問的任何回答遭到操控。

檔案紀錄反映了那條界線:它記載的是對 AI 提示層的寫入權限,而這正是 CodeWall 所建立的,並非對它的修改;後者沒有人證明過。

McKinsey 怎麼說

McKinsey 的說法較為狹窄。在 Silicon UK 刊載的一份聲明中,該公司表示,它「近日經一名安全研究人員告知,其內部 AI 工具 Lilli 存在一項漏洞」,並表示「我們已迅速確認該漏洞,並在數小時內修復了問題」,且「沒有任何客戶資料或客戶機密資訊遭到存取」。它向 The Register 補充表示,其調查在「一家領先的第三方鑑識公司」支援下,未發現任何證據顯示該研究人員「或任何其他未經授權的第三方」曾存取客戶資料或客戶機密資訊,並表示「McKinsey 的網路安全系統很穩健」。

McKinsey 與 CodeWall 在時間點上也略有不同。CodeWall 的時序記錄顯示,其揭露電子郵件於 2026 年 3 月 1 日寄給 McKinsey 的安全團隊,CISO 於 3 月 2 日確認收到並要求提供詳細證據,而修補措施——關閉所有未經身分驗證的端點、將開發環境下線、封鎖公開 API 文件——於同日 3 月 2 日完成。McKinsey 所稱的「數小時內」,若從 3 月 1 日那封電子郵件起算,與同日修復的說法一致,但 CodeWall 自己標註日期的時序,則顯示補救是在揭露後隔一天才完成,而非數小時內。雙方對實質內容看法一致:端點已關閉,公開文件也已撤下。CodeWall 表示,它在發布前已驗證補救措施。《Financial Times》於 2026 年 3 月 12 日以〈駭客揭露缺陷後,McKinsey 急忙修復 AI 系統〉為標題報導此事;文章正文位於付費牆後,本文無法閱讀。

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.

何者為已確立,何者則否

• 雙方均已確認:Lilli 的公開 API 介面存在一項未經驗證的弱點,一名外部研究人員發現了它,McKinsey 予以證實,修補了這些未經驗證的端點,將開發環境下線,並於 2026 年 3 月初封鎖了公開的 API 文件。

• 僅由一方確立:本文中的每一項數量——4,650 萬則訊息、728,000 個檔案名稱、57,000 個帳戶、95 個可寫入提示、兩小時的耗時,以及 27 項發現。這些全都依據 CodeWall 的報告。攻擊載荷並未公開,因此這些計數無法重現,且 McKinsey 並不為其背書。

• 尚未證明:任何提示詞確實遭到竄改、任何客戶資料流出系統,或任何顧問收到遭操縱的答案。麥肯錫的鑑識審查表示,未發現任何存取證據;CodeWall 表示其測試僅屬驗證性質。這兩項陳述並不衝突,且兩者都無法證明,若換成較不受約束的攻擊者取得相同存取權限,會做出什麼事。

• 本次所審閱的報導中未出現:CVE 識別碼、監管機關的通知,或對該漏洞的獨立技術稽核。此紀錄是廠商研究揭露加上企業聲明,並非法院文件或監理機關的認定。

應該坦率說明一項利益關係。CodeWall 將這項研究當作產品行銷來發表:文章結尾稱該公司處於早期預覽階段,並正在尋找設計合作夥伴,而 Silicon UK 報導 Price 是該公司唯一的員工。這並不代表該發現有誤——The Register、Silicon UK 與 Promptfoo 都認為這條技術鏈可信——但這正是為何影響數字應被視為廠商的主張,而非實際測量結果。

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.

為什麼它究竟會被歸類到 AI 類別

進入點不是模型。Promptfoo 的 Michael D'Angelo 於 2026 年 3 月 10 日以最犀利的說法指出這一點:「AI 特有的部分不是進入點,而是爆炸半徑。」注入、驗證缺口與跨使用者存取都是普通的應用程式安全失效;讓這起事件成為 AI 事件的是,提示、路由、檢索設定與使用者歷史全都位於同一個後端,因此資料庫存取權限轉化為對一個助理的行為控制,而數以萬計的人會就客戶工作諮詢這個助理。

這就是為什麼檔案庫將這筆紀錄標記為 WEAPON 與 INFRA,而不是模型弱點。代理程式是工具——一個自主系統,自行選擇目標、對其進行探測並升級行動,而沒有人類決定要把它指向何處——而失敗屬於基礎設施:一個被假定而非被強制執行的授權邊界。CodeWall 的結辯主張,提示是「新的 Crown Jewel 資產」,鮮少有存取控制、版本歷程或完整性監控,而這是來自一家販售持續自動化測試的公司的倡議。這也是文中唯一不依賴任何有爭議數字的說法。