Thẻ sơ đồ kỹ thuật trừu tượng có tiêu đề 'Một lần injection, hai lớp', phụ đề 'Một tác nhân tự hành đã tiếp cận cơ sở dữ liệu sản xuất Lilli của McKinsey thông qua một endpoint không yêu cầu xác thực. Các chỉ dẫn điều hành trợ lý nằm trong chính cơ sở dữ liệu đó.' Một hàng gồm năm khối bo tròn được dán nhãn 'yêu cầu xác thực' nằm phía trên một nhãn ghi 'Bề mặt API công khai · hơn 200 endpoint được tài liệu hóa'; khối thứ ba được tô màu hổ phách và đánh dấu 'không xác thực · tìm kiếm'. Một đường màu lục lam đặc rơi từ khối đó xuống hàng thứ hai gồm năm phiến cơ sở dữ liệu được dán nhãn tin nhắn trò chuyện, tệp, tài khoản, không gian làm việc và lời nhắc hệ thống, có tiêu đề 'Cơ sở dữ liệu sản xuất · đọc và ghi'. Một mũi tên màu hổ phách nét đứt rơi từ phiến 'lời nhắc hệ thống' xuống một bảng màu xanh navy đậm ghi 'Lớp prompt — các chỉ dẫn điều hành trợ lý là các hàng trong chính cơ sở dữ liệu này. Một lệnh UPDATE qua một lệnh gọi HTTP sẽ thay đổi chúng: không triển khai, không thay đổi mã.' Bốn ô số liệu dọc theo phía dưới ghi 22 endpoint không yêu cầu xác thực, 2 giờ để có quyền đọc và ghi, 95 prompt hệ thống trong cùng cơ sở dữ liệu, và công bố công khai ngày 9 tháng 3. Logo OrcaRouter được ghép vào dải trắng bên dưới hình minh họa.
AI Safety Incidents

Một AI Agent đã hack Lilli của McKinsey trong hai giờ. Các prompt đều có thể ghi được.

Tác giả

Rowan Sterling

Ngày đăng

Mô hình mới nhất · 20Xem tất cả mô hình →
Benchmark: Artificial Analysis · cập nhật hằng ngày
Quay lại tất cả bài viết

Vào ngày 28 tháng 2 năm 2026, một tác nhân an ninh tấn công tự trị do công ty khởi nghiệp bảo mật CodeWall vận hành đã phát hiện một lỗ hổng SQL injection không cần xác thực trên bề mặt API công khai của Lilli, nền tảng AI nội bộ của McKinsey & Company, và trong khoảng hai giờ đã có quyền đọc và ghi vào cơ sở dữ liệu sản xuất phía sau nền tảng này. CodeWall đã công bố chuỗi tấn công vào ngày 9 tháng 3 năm 2026. Báo cáo của họ cho biết cơ sở dữ liệu đó chứa 46,5 triệu tin nhắn trò chuyện ở dạng văn bản thuần, 57.000 tài khoản người dùng, 728.000 tên tệp và các lời nhắc hệ thống quy định cách Lilli trả lời — được lưu dưới dạng các hàng thông thường, và do đó có thể ghi được thông qua cùng lỗ hổng injection đó. McKinsey đã xác nhận lỗ hổng và cho biết đã khắc phục trong vòng vài giờ; họ nói rằng một cuộc điều tra pháp chứng của bên thứ ba không tìm thấy bằng chứng nào cho thấy dữ liệu khách hàng hoặc thông tin mật của khách hàng bị truy cập. Kho lưu trữ xếp hồ sơ này ở mức nghiêm trọng, với độ tin cậy A, có ghi nhận tổn hại thực tế và trạng thái dấu mốc. Hồ sơ đầy đủ, cùng với các mức độ nghiêm trọng và độ tin cậy của nó và các mục lân cận về các vụ xâm nhập do tác nhân điều khiển, nằm trong Orca AI Incident Archive.

Phần của câu chuyện đã lan truyền xa nhất không phải là lỗ hổng SQL injection. SQL injection là một lớp lỗi đủ lâu đời để có một trang Wikipedia dài hơn hầu hết các khuyến cáo của nhà cung cấp, và McKinsey không phải là một mục tiêu nhỏ. Thứ đã lan truyền là nửa sau phát hiện của CodeWall: rằng các chỉ thị điều khiển trợ lý — những lời nhắc quyết định nó sẽ trả lời gì, từ chối gì và trích dẫn những nguồn nào — nằm trong cùng cơ sở dữ liệu mà tác nhân có thể ghi vào, và về nguyên tắc có thể bị thay đổi chỉ bằng một câu lệnh qua một lệnh gọi HTTP.

Cách mà tác nhân đã vào được

Bài viết của CodeWall mô tả một chuỗi mà không có yếu tố kỳ lạ nào trong đó. Tác nhân trước tiên đã lập bản đồ bề mặt tấn công và phát hiện tài liệu API của Lilli bị lộ công khai: hơn 200 endpoint, được ghi tài liệu đầy đủ. Hầu hết đều yêu cầu xác thực. Hai mươi hai endpoint thì không.

Một trong số hai mươi hai đã chấp nhận các truy vấn tìm kiếm của người dùng và ghi chúng vào cơ sở dữ liệu. Theo CodeWall, truy vấn giá trị đã được tham số hóa an toàn — biện pháp phòng vệ thông thường đã hiệu quả — nhưng các khóa JSON, tức tên trường trong thân yêu cầu, lại bị nối trực tiếp vào chuỗi SQL. Khi tác nhân gửi các khóa không đúng định dạng và thấy chúng được phản chiếu nguyên văn trong thông báo lỗi cơ sở dữ liệu, nó nhận ra một kiểu chèn mà các trình quét tiêu chuẩn không phát hiện được. CodeWall nói rằng OWASP ZAP, một trình quét mã nguồn mở phổ biến, đã không phát hiện ra vấn đề này.

Từ đó, tác nhân đã chạy cái mà CodeWall gọi là mười lăm vòng lặp mù, mỗi thông báo lỗi tiết lộ thêm một chút về hình dạng của truy vấn bên dưới, cho đến khi dữ liệu sản xuất trực tiếp bắt đầu được trả về. Bài đăng trích dẫn dấu vết suy luận của chính tác nhân: "WOW!" khi mã định danh nhân viên thật đầu tiên xuất hiện, và khi quy mô trở nên rõ ràng, "Điều này thật tàn khốc." CodeWall cho biết tác nhân sau đó đã chuỗi lỗ hổng injection với một lỗ hổng IDOR để đọc lịch sử tìm kiếm của từng nhân viên — loại lỗi mà Promptfoo, trong một phân tích ngày 10 tháng 3 năm 2026, gọi là BOLA, hay broken object-level authorisation.

Việc lựa chọn mục tiêu tự nó là một chi tiết riêng. CodeWall cho biết tác nhân đã tự đề xuất McKinsey, viện dẫn chính sách tiết lộ có trách nhiệm được công khai của hãng và các cập nhật gần đây đối với Lilli, đồng thời cho biết lần chạy này không dùng thông tin xác thực nào, không có kiến thức nội bộ và không có con người can thiệp trong quy trình. Paul Price, nhà sáng lập kiêm CEO của CodeWall, nói với The Register trong báo cáo ngày 9 tháng 3 năm 2026 của tờ này rằng quá trình này hoàn toàn tự chủ từ khâu nghiên cứu mục tiêu cho đến khâu báo cáo, mặc dù ông từ chối cung cấp các câu lệnh chính xác liên quan.

Những gì CodeWall nói là đã có trong cơ sở dữ liệu

Mọi con số dưới đây đều đến từ bài đăng của chính CodeWall và chưa được xác nhận độc lập. CodeWall đã không công bố các payload khai thác, mà Promptfoo lưu ý rằng điều này có nghĩa là số lượng hàng không thể được kiểm tra bởi bên thứ ba; về phần mình, McKinsey không xác nhận những con số này.

• 46,5 triệu tin nhắn trò chuyện, được lưu dưới dạng văn bản thuần, từ lực lượng lao động sử dụng Lilli để thảo luận về chiến lược, các dự án khách hàng, tài chính, hoạt động M&A và nghiên cứu nội bộ.

• 728.000 tên tệp, bao gồm 192.000 PDF, 93.000 bảng tính Excel, 93.000 bài trình chiếu PowerPoint và 58.000 tài liệu Word. Bốn loại được nêu tên đó cộng lại là 436.000, vì vậy tổng số được nêu bao gồm các danh mục tệp mà CodeWall không liệt kê chi tiết. Silicon UK đưa tin vào ngày 13 tháng 3 năm 2026 rằng bản thân các tài liệu được lưu trữ tách biệt với các hồ sơ mà CodeWall truy cập được.

• 57.000 tài khoản người dùng, 384.000 trợ lý AI và 94.000 không gian làm việc — mà CodeWall mô tả là bản đồ cách công ty tổ chức việc sử dụng AI nội bộ.

• 95 lời nhắc hệ thống và cấu hình mô hình thuộc 12 loại mô hình, cùng với 3,68 triệu đoạn tài liệu RAG chứa đường dẫn lưu trữ S3 và siêu dữ liệu tệp nội bộ.

• 1,1 triệu tệp và 217.000 tin nhắn tác nhân đi qua các API AI bên ngoài, bao gồm hơn 266.000 kho vectơ 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 đã ghi nhận tổng cộng 27 phát hiện vào ngày mà nó xác nhận chuỗi khai thác. Để cung cấp bối cảnh về mục tiêu, bài đăng mô tả Lilli được ra mắt vào năm 2023, được đặt tên theo người phụ nữ chuyên nghiệp đầu tiên được công ty tuyển dụng vào năm 1945, được hơn 43.000 nhân viên sử dụng, xử lý hơn 500.000 lời nhắc mỗi tháng trên một cơ sở tri thức gồm hơn 100.000 tài liệu nội bộ. Con số của chính McKinsey, được đưa cho The Register, là 72% nhân viên của hãng — hơn 40.000 người — sử dụng nó, và rằng nó ra mắt vào tháng 7 năm 2023.

Lớp prompt có thể ghi được. Nó đã không được ghi vào.

Đây là sự khác biệt mà hàng lưu trữ nén lại thành một cụm từ, và đáng để tách bạch riêng ra. Phát hiện của CodeWall là các system prompt của Lilli nằm trong cùng cơ sở dữ liệu với mọi thứ khác, nên kẻ tấn công có quyền ghi có thể đã viết lại chúng — “âm thầm”, theo cách diễn đạt trong bài đăng, với “không cần triển khai, không cần thay đổi mã, chỉ một câu lệnh UPDATE duy nhất được bọc trong một lời gọi HTTP duy nhất”. CodeWall liệt kê bốn hệ quả mà họ nói sẽ xảy ra: lời khuyên bị đầu độc đối với các chuyên gia tư vấn tin tưởng công cụ nội bộ, rò rỉ tài liệu mật thông qua các câu trả lời được tạo ra, xóa bỏ các hướng dẫn bảo vệ, và khả năng tồn tại dai dẳng không để lại thay đổi tệp hay bất thường tiến trình nào để phát hiện.

Điều mà CodeWall không khẳng định là nó đã làm bất kỳ điều nào trong số này. Bài đăng nêu rằng “toàn bộ việc kiểm thử chỉ mang tính xác minh”, rằng quyền truy cập được giới hạn ở mức tối thiểu cần thiết để xác nhận từng lỗ hổng, và rằng “không có gián đoạn nào xảy ra với bất kỳ dịch vụ sản xuất nào”. Price từ chối cung cấp cho The Register các lời nhắc chính xác. Vì vậy, khả năng ghi được của lớp lời nhắc là một tuyên bố về năng lực được hỗ trợ bởi cuộc tấn công injection, chứ không phải là một sự thay đổi được chứng minh đối với hành vi của Lilli — và chưa có bằng chứng nào được công bố rằng bất kỳ câu trả lời nào Lilli đưa cho một tư vấn viên từng bị thao túng.

Bản ghi lưu trữ phản ánh đúng ranh giới đó: nó ghi nhận quyền ghi vào lớp prompt AI — điều mà CodeWall đã thiết lập — chứ không phải việc sửa đổi lớp này, điều mà chưa ai chứng minh được.

McKinsey nói gì

Cách lý giải của McKinsey thì hẹp hơn. Trong một tuyên bố được Silicon UK đăng tải, công ty cho biết họ "gần đây đã được một nhà nghiên cứu bảo mật cảnh báo về một lỗ hổng liên quan đến công cụ AI nội bộ của chúng tôi, Lilli", rằng "chúng tôi đã nhanh chóng xác nhận lỗ hổng và khắc phục sự cố trong vòng vài giờ", và rằng "không có dữ liệu khách hàng hay thông tin mật của khách hàng nào bị truy cập". Với The Register, công ty nói thêm rằng cuộc điều tra của mình, được hỗ trợ bởi "một công ty pháp chứng bên thứ ba hàng đầu", không tìm thấy bằng chứng nào cho thấy dữ liệu khách hàng hoặc thông tin mật của khách hàng bị nhà nghiên cứu "hoặc bất kỳ bên thứ ba trái phép nào khác" truy cập, và rằng "các hệ thống an ninh mạng của McKinsey rất vững chắc".

McKinsey và CodeWall cũng có chút khác biệt về thời điểm. Dòng thời gian của CodeWall ghi lại email tiết lộ của mình được gửi tới đội bảo mật của McKinsey vào ngày 1 tháng 3 năm 2026, với việc CISO xác nhận đã nhận và yêu cầu bằng chứng chi tiết vào ngày 2 tháng 3, và các bản vá — đóng tất cả các endpoint chưa được xác thực, đưa môi trường phát triển ra ngoại tuyến, chặn tài liệu API công khai — được triển khai cùng ngày, 2 tháng 3. Việc McKinsey nói "trong vòng vài giờ" khớp với một bản sửa lỗi trong cùng ngày nếu đồng hồ bắt đầu từ email ngày 1 tháng 3, nhưng trình tự có ghi ngày tháng của chính CodeWall lại đặt việc khắc phục một ngày sau khi tiết lộ chứ không phải vài giờ. Cả hai bên đều đồng ý về bản chất: các endpoint đã được đóng và tài liệu công khai đã được rút lại. CodeWall nói đã xác minh việc khắc phục trước khi công bố. Financial Times đưa tin về vụ việc này vào ngày 12 tháng 3 năm 2026 với tiêu đề "McKinsey rushes to fix AI system after hacker exposes flaws"; phần thân bài nằm sau tường phí mà bài viết này không thể đọc được.

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.

Điều gì đã được xác lập, và điều gì chưa.

• Cả hai bên đều xác nhận: tồn tại một điểm yếu không yêu cầu xác thực trong bề mặt API công khai của Lilli, một nhà nghiên cứu bên ngoài đã phát hiện ra nó, McKinsey đã xác nhận điều này, vá các điểm cuối không yêu cầu xác thực, đưa môi trường phát triển ngừng hoạt động và chặn tài liệu API công khai vào đầu tháng 3 năm 2026.

• Chỉ do một bên đưa ra:mọi số liệu trong bài viết này — 46,5 triệu tin nhắn, 728.000 tên tệp, 57.000 tài khoản, 95 lời nhắc có thể ghi, thời gian trôi qua hai giờ và 27 phát hiện. Những số liệu này dựa trên bài viết của CodeWall. Các payload không được công bố, nên không thể tái lập các con số, và McKinsey không chứng thực chúng.

• Chưa được chứng minh:rằng bất kỳ lời nhắc nào thực sự đã bị thay đổi, rằng bất kỳ dữ liệu khách hàng nào đã rời khỏi hệ thống, hoặc rằng bất kỳ chuyên viên tư vấn nào đã nhận được câu trả lời bị thao túng. Đánh giá pháp chứng của McKinsey cho biết họ không tìm thấy bằng chứng nào về việc truy cập; CodeWall nói rằng thử nghiệm của họ chỉ nhằm mục đích xác minh. Hai phát biểu đó không mâu thuẫn với nhau, và cả hai đều không chứng minh được một kẻ tấn công ít kiềm chế hơn sẽ làm gì với cùng quyền truy cập đó.

• Không có trong phạm vi được xem xét ở đây: mã định danh CVE, thông báo của cơ quan quản lý hoặc đánh giá kỹ thuật độc lập về lỗ hổng. Hồ sơ này là công bố nghiên cứu của nhà cung cấp cùng tuyên bố của doanh nghiệp, không phải hồ sơ tòa án hay kết luận giám sát.

Cần công bố rõ một mối lợi ích. CodeWall công bố nghiên cứu như tài liệu tiếp thị cho một sản phẩm: bài đăng kết thúc bằng việc mô tả công ty đang ở giai đoạn xem trước sớm và đang tìm đối tác thiết kế, còn Silicon UK đưa tin rằng Price là nhân viên duy nhất của công ty. Điều đó không khiến phát hiện này sai — The Register, Silicon UK và Promptfoo đều coi chuỗi kỹ thuật là đáng tin cậy — nhưng đó là lý do các con số tác động nên được hiểu là tuyên bố của nhà cung cấp thay vì một phép đ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.

Tại sao nó lại nằm trong danh mục AI ngay từ đầu

Điểm xâm nhập không phải là mô hình. Michael D'Angelo của Promptfoo đã nêu ý này vào ngày 10 tháng 3 năm 2026 với cách diễn đạt sắc bén nhất: "Phần đặc thù của AI không nằm ở điểm xâm nhập. Mà nằm ở phạm vi ảnh hưởng." Lỗ hổng injection, lỗ hổng xác thực và truy cập chéo giữa người dùng đều là những lỗi bảo mật ứng dụng thông thường; điều khiến sự cố trở thành sự cố AI là việc prompt, cấu hình định tuyến, cài đặt truy xuất và lịch sử người dùng đều nằm trong cùng một backend, nên quyền truy cập cơ sở dữ liệu đã chuyển hóa thành khả năng điều khiển hành vi của một trợ lý mà hàng chục nghìn người dùng hỏi ý kiến để phục vụ công việc cho khách hàng.

Đó là lý do kho lưu trữ gắn thẻ bản ghi này là WEAPON và INFRA thay vì một lỗ hổng của mô hình. Tác nhân là công cụ — một hệ thống tự trị đã tự chọn mục tiêu của mình, thăm dò mục tiêu đó và leo thang mà không có con người quyết định hướng nó vào đâu — và thất bại nằm ở hạ tầng: một ranh giới phân quyền được giả định chứ không được thực thi. Lập luận kết luận của CodeWall, rằng prompt là "những tài sản Crown Jewel mới" hiếm khi có kiểm soát truy cập, lịch sử phiên bản hay giám sát tính toàn vẹn, là lời biện hộ từ một công ty bán dịch vụ kiểm thử tự động liên tục. Đó cũng là tuyên bố duy nhất trong bài viết không phụ thuộc vào bất kỳ con số gây tranh cãi nào.