Sơ đồ kỹ thuật tóm tắt có tiêu đề 'Hai giờ, không cần thông tin xác thực'. Một hàng có tiêu đề 'Tài liệu API công khai, hơn 200 endpoint được ghi nhận' hiển thị năm khối endpoint, bốn khối được gắn nhãn 'đã xác thực, yêu cầu phiên' và một khối được tô màu hổ phách ghi 'KHÔNG XÁC THỰC, ghi truy vấn tìm kiếm của người dùng'. Một mũi tên màu lục lam hướng xuống từ khối đó tới hàng thứ hai có tiêu đề 'Cơ sở dữ liệu production, đọc và ghi', với năm phiến: tin nhắn trò chuyện, 46,5 triệu dòng; tệp, 728.000 tên; tài khoản, 57.000 người dùng; không gian làm việc, 94.000; và, được tô màu hổ phách, lời nhắc hệ thống, 95, có thể ghi. Một ghi chú màu hổ phách cho biết cuộc tấn công chèn đã đi qua các khóa JSON thay vì giá trị, và rằng các lời nhắc là các dòng trong cùng cơ sở dữ liệu, chỉ cách một lệnh UPDATE. Ba thẻ màu hổ phách bên dưới liệt kê lời khuyên bị đầu độc, việc gỡ bỏ rào chắn và sự tồn tại âm thầm. Bốn ô thống kê ghi 22 endpoint không yêu cầu xác thực, khoảng 2 giờ để có quyền đọc và ghi, 0 thông tin xác thực được sử dụng, và ngày 9 tháng 3 năm 2026, ngày nó trở thành công khai.
AI Safety Incidents

Lilli của McKinsey ra mắt công chúng vào ngày 9 tháng 3. Hồ sơ không ghi nhận tác hại nào.

Tác giả

Gideon Frost

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 9 tháng 3 năm 2026, startup an ninh mạng CodeWall đã công bố tường thuật của mình về cách một tác nhân tự trị do họ xây dựng đạt được quyền đọc và ghi đầy đủ vào cơ sở dữ liệu sản xuất đằng sau Lilli, trợ lý AI toàn công ty của McKinsey & Company, trong khoảng hai giờ và không cần một thông tin xác thực nào. Bản thân vụ xâm nhập xảy ra vào ngày 28 tháng 2; điều mà mục này trong kho lưu trữ sự cố AI ghi lại là ngày nó được công khai. Theo CodeWall, cơ sở dữ liệu mà nó chạm tới chứa 46,5 triệu tin nhắn trò chuyện ở dạng văn bản thuần, 728.000 tệp, 57.000 tài khoản người dùng và 95 lời nhắc hệ thống quy định cách Lilli trả lời — và những lời nhắc đó nằm trong cùng cơ sở dữ liệu mà tác nhân có thể ghi vào. Những người có trong dữ liệu là chính nhân viên của McKinsey: công ty cho biết 72 phần trăm nhân viên của mình, hơn 40.000 người, sử dụng Lilli, hệ thống xử lý hơn 500.000 lời nhắc mỗi tháng. Toàn bộ mục, cùng với các mức độ nghiêm trọng và độ tin cậy của nó và các bản ghi lân cận mà nó nằm trong đó, có trong Orca AI Incident Archive.

Phần mở đầu đó là sự cô đọng của hai loại tuyên bố rất khác nhau, và mục lưu trữ rất thận trọng về sự khác biệt này. Mục này xếp hồ sơ là một sự cố, độ tin cậy A, không bị tranh cãi, mức độ nghiêm trọng cao, khu vực Hoa Kỳ, loại INFRA — cơ sở hạ tầng, không phải lỗi mô hình. Mục này cũng ghi nhận không có tổn hại thực sự. Trường cuối cùng đó đáng để đọc lại lần nữa, vì nó không có nghĩa là việc phơi lộ là vô hại. Nó có nghĩa là không có tổn hại nào được xác lập trong hồ sơ, và bài viết bên dưới tách những gì hai bên đồng ý với nhau khỏi những gì dựa trên lời tường trình của một công ty về nghiên cứu của chính công ty đó.

Tại sao việc công bố lại là một sự kiện có ngày riêng

Bản tóm tắt của kho lưu trữ cho mục này trỏ ngược về ngày 28 tháng 2 năm 2026, ngày mà tác nhân của CodeWall phát hiện ra lỗ hổng, và kho lưu trữ giữ ngày sớm hơn đó như một bản ghi riêng. Việc tách ra này không mang tính quan liêu. Trước ngày 9 tháng 3, những bên duy nhất biết chuyện gì đã xảy ra bên trong Lilli là McKinsey và nhà nghiên cứu đã báo cho họ. Sau ngày 9 tháng 3, hình thái của sự cố, phản ứng của công ty và tuyên bố về những gì có trong cơ sở dữ liệu đều đã nằm trong hồ sơ công khai, nơi các nhà nghiên cứu bảo mật khác có thể tranh luận với họ.

Lilli không phải là một dự án phụ. The Register đưa thời điểm triển khai là tháng 7 năm 2023, với các chức năng trò chuyện, phân tích tài liệu và truy xuất trên toàn bộ nghiên cứu nội bộ của công ty. Bài viết của CodeWall, cũng ghi lại nguồn gốc của cái tên — người phụ nữ chuyên nghiệp đầu tiên mà công ty tuyển dụng, vào năm 1945 — mô tả hơn 100.000 tài liệu nội bộ đằng sau nó. The Register, khi đưa tin về tiết lộ này cùng ngày, cho biết tỷ lệ áp dụng là 72% nhân viên và khối lượng vượt quá 500.000 lời nhắc mỗi tháng — những con số mà chính McKinsey đã công bố trong một nghiên cứu điển hình công khai về nền tảng này.

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

Bản tường thuật của CodeWall bắt đầu bằng tài liệu, không phải khai thác. Tác nhân của nó đã phát hiện tài liệu API của Lilli bị phơi bày công khai và được ghi chép đầy đủ: tổng cộng hơn 200 endpoint, hầu hết đều yêu cầu xác thực, và 22 endpoint thì không. Một trong những endpoint không yêu cầu xác thực đó đã ghi các truy vấn tìm kiếm của người dùng vào cơ sở dữ liệu. Các giá trị đã được tham số hóa đúng cách, nhưng các khóa JSON — tên trường — lại được nối trực tiếp vào SQL.

Tác nhân đã nhận ra vì các thông báo lỗi cơ sở dữ liệu phản chiếu lại nguyên văn những khóa JSON đó. CodeWall cho biết trình quét ZAP của OWASP đã không gắn cờ vấn đề này, và rằng sau đó tác nhân đã chạy mười lăm vòng lặp mù, mỗi thông báo lỗi dạy nó thêm một chút về hình dạng của truy vấn, cho đến khi các bản ghi thật trên môi trường sản xuất bắt đầu được trả về. Từ đó, nó đã xâu chuỗi lỗ hổng injection với một sai sót phân quyền cấp đối tượng để đọc lịch sử tìm kiếm của từng nhân viên. Công ty mô tả toàn bộ quá trình chạy là hoàn toàn tự động, từ chọn mục tiêu đến báo cáo, không cần thông tin đăng nhập và không có con người can thiệp. Nhà sáng lập kiêm giám đốc điều hành, Paul Price, nói với The Register rằng quá trình này "hoàn toàn tự động từ nghiên cứu mục tiêu, phân tích, tấn công đến báo cáo."

Những gì CodeWall nói là ở bên trong

Mọi con số trong phần này đều đến từ bài viết ngày 9 tháng 3 của {{1}}CodeWall{{/1}}. Không có payload nào được công bố, nên không thể tái tạo hay kiểm đếm độc lập bất kỳ nội dung nào trong đó — một hạn chế mà phần tiếp theo sẽ đề cập.

• 46,5 triệu tin nhắn trò chuyện, được lưu trữ ở dạng văn bản thuần, bao gồm công việc chiến lược, các hợp đồng khách hàng, tài chính và mua bán & sáp nhập.

• 728.000 tệp, trong đó bài viết liệt kê 192.000 tệp PDF, 93.000 bảng tính Excel, 93.000 bộ trình chiếu PowerPoint và 58.000 tài liệu Word — tổng cộng 436.000, để lại 292.000 tệp còn lại không được phân loại trong cùng một câu.

• 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à toàn bộ cấu trúc tổ chức về cách công ty 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, cho thấy trợ lý đã được chỉ dẫn như thế nào, có những rào chắn nào và những mô hình nào nằm bên dưới nó.

• 3,68 triệu đoạn tài liệu tạo sinh tăng cường truy xuất, cùng đường dẫn lưu trữ S3 và siêu dữ liệu tệp nội bộ — cơ sở tri thức cung cấp dữ liệu cho trợ lý.

• 1,1 triệu tệp và 217.000 tin nhắn tác nhân di chuyển qua các API AI bên ngoài, bao gồm hơn 266.000 kho vectơ trên nền tảng của OpenAI.

Data card titled 'Figures only one party can vouch for'. The left column lists seven counts from CodeWall's writeup: 46.5 million chat messages in plaintext; 728,000 files, of which 436,000 are itemised as PDF, Excel, PowerPoint and Word, leaving 292,000 unclassified; 57,000 user accounts; 95 system prompts across 12 model types, stored as rows in the same database; 3.68 million retrieval-augmented generation chunks with S3 paths; 384,000 AI assistants and 94,000 workspaces; and 1.1 million files plus 217,000 agent messages through external AI APIs, including 266,000-plus vector stores. A right-hand panel headed 'Single source' says every figure comes from one company's account of its own research published on 9 March 2026, and that no payloads were published so no third party can recount any of it. Under 'Not disputed' it records that McKinsey's own position is narrower. Under 'The distinction' it notes that reachable is not the same as taken.

Phát hiện mà CodeWall coi là tiêu đề chính không phải là lỗi injection mà là nơi injection xảy ra. Các system prompt của Lilli là những hàng trong cùng cơ sở dữ liệu mà agent có thể ghi vào, nghĩa là kẻ tấn công có cùng quyền truy cập có thể đã viết lại hướng dẫn của trợ lý bằng một câu lệnh UPDATE duy nhất được gói trong một lệnh gọi HTTP duy nhất — không cần triển khai, không thay đổi mã, không có tệp nào trên đĩa để so sánh khác biệt. CodeWall nói rằng quá trình thử nghiệm của chính họ chỉ nhằm mục đích xác minh: họ đã đọc, không ghi, và họ nói rằng không có dịch vụ production nào bị gián đoạn.

McKinsey đã nói gì cùng ngày hôm đó

Một phát ngôn viên của McKinsey nói với The Register vào ngày 9 tháng 3 rằng công ty đã khắc phục tất cả các vấn đề mà CodeWall phát hiện trong vòng vài giờ sau khi biết về chúng. "Cuộc điều tra của chúng tôi, đượ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 này hoặc bất kỳ bên thứ ba trái phép nào khác truy cập," phát ngôn viên cho biết, đồng thời nói thêm rằng "các hệ thống an ninh mạng của McKinsey rất vững chắc."

Silicon UK đưa tin về cùng lập trường đó vào ngày 13 tháng 3, trong bài tường thuật của Matthew Broersma: McKinsey cho biết họ "{{1}}mới được một nhà nghiên cứu bảo mật thông 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,{{/1}}" rằng họ "{{2}}đã nhanh chóng xác nhận lỗ hổng và khắc phục sự cố trong vòng vài giờ,{{/2}}" 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. Bài báo đó cũng lưu ý rằng Price là nhân viên duy nhất của CodeWall, một chi tiết đáng nhắc đến vì nó có hai mặt — một nhóm nghiên cứu chỉ gồm một người đã tìm ra trong hai giờ điều mà các máy quét của chính công ty không tìm thấy, và một nhóm chỉ gồm một người cũng đang bán công cụ đã tìm ra lỗ hổng đó.

Hai lời kể về bản sửa lỗi, cách nhau một ngày

Dòng thời gian công bố của chính CodeWall diễn ra như sau: vào ngày 28 tháng 2, tác nhân xác định lỗ hổng SQL injection và bắt đầu liệt kê cơ sở dữ liệu sản xuất; toàn bộ chuỗi được xác nhận cùng ngày với 27 phát hiện được ghi nhận; một email công bố có trách nhiệm được gửi đến nhóm bảo mật của McKinsey vào ngày 1 tháng 3 kèm bản tóm tắt tác động ở mức tổng quan; giám đốc an ninh thông tin của công ty 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à vào ngày 2 tháng 3, tất cả các điểm cuối chưa được xác thực đều được vá và xác minh, môi trường phát triển được đưa ra ngoại tuyến và tài liệu API công khai bị chặn. Công bố công khai diễn ra sau đó vào ngày 9 tháng 3.

Lời kể của McKinsey là bản sửa lỗi đã có trong vòng vài giờ sau khi được thông báo. Dòng thời gian của CodeWall đặt bản vá vào ngày hôm sau email công bố của mình. Cả hai đều đã được ghi nhận chính thức. Không bên nào đã dung hòa hai mốc này, và bài viết này không cố làm vậy: khác biệt là giữa một bản sửa trong cùng ngày và một bản sửa vào ngày hôm sau, và trình tự quan trọng — được thông báo, rồi được vá, rồi được công bố — không phải là điều đang tranh cãi.

Timeline card titled 'Nine days to publication, and the week after'. A continuous vertical rail carries five entries. 28 February 2026: the agent identifies the SQL injection and begins enumerating the production database, with the full chain confirmed and 27 findings documented the same day. 1 March 2026: responsible-disclosure email to McKinsey's security team. 2 March 2026: the CISO acknowledges and requests evidence, and all unauthenticated endpoints are patched and verified, the development environment taken offline and the public API documentation blocked. 9 March 2026, in green: CodeWall publishes, and The Register reports the same day with McKinsey's response. 10 to 13 March: Promptfoo publishes its analysis, and Silicon UK carries McKinsey's statement. A footer note contrasts the two accounts of the fix: CodeWall's timeline puts the patch on 2 March, the day after its email, while McKinsey says it fixed every issue within hours of learning about it.

Đã được thiết lập, nguồn duy nhất, và khoảng cách giữa chúng

Đã xác lập, được cả hai bên đồng ý: có một điểm yếu chưa được xác thực trên bề mặt API công khai của Lilli; điểm yếu này do một nhà nghiên cứu bảo mật bên ngoài phát hiện chứ không phải người nội bộ; McKinsey đã xác nhận và vá điểm yếu đó; các điểm cuối chưa được xác thực đã bị đóng, môi trường phát triển đã được đưa ra ngoại tuyến và tài liệu API công khai đã bị chặn.

Nguồn duy nhất, từ CodeWall:mọi con số nêu trên, dòng thời gian hai giờ, mười lăm vòng lặp mù, 27 phát hiện được ghi nhận, và tuyên bố rằng các prompt có thể được viết thông qua cùng một lỗ hổng injection. Không điểm nào trong đó bị bác bỏ. Cũng không điểm nào được xác minh độc lập, bởi vì các payload lẽ ra cho phép ai đó kiểm tra đã không được công bố, và Price từ chối cung cấp cho The Register các prompt chính xác mà nhóm của ông đã sử dụng.

Promptfoo, công ty an ninh AI, đã công bố một đánh giá vào ngày 10 tháng 3, trong đó nêu chính xác giới hạn: hồ sơ công khai "không chứng minh một cách độc lập từng số lượng hàng được báo cáo hay từng bước khai thác", dù nó có hỗ trợ hình thái của sự cố. Đó là cách đọc đúng đối với tài liệu hiện có. Loại lỗi có thể tái dựng; quy mô chỉ là lời khai.

Two-column comparison card titled 'What two parties agree on, and what one asserts'. The left panel, headed 'Agreed by both parties' and noted as corroborated by McKinsey's statements to The Register on 9 March and Silicon UK on 13 March, lists an unauthenticated weakness in Lilli's public API surface; discovery by an outside security researcher, not an insider; McKinsey confirming and patching the vulnerability; unauthenticated endpoints closed, the development environment taken offline and the public API documentation blocked; and the system prompts sitting in the same database the agent could reach. The right panel, headed 'CodeWall only' and noted as unreproducible because no payloads were published, lists every count, the two-hour run to read-write access with zero credentials, the fifteen blind iterations, the 27 findings documented on 28 February, and the claim that the prompts were writable rather than merely readable. A strip beneath both columns records that McKinsey's forensic review found no evidence client data was accessed and that CodeWall says its testing was verification-only, and that neither statement covers what a less restrained attacker would have done with the same access.

Tác hại mà hồ sơ không chứa

Đây là chỗ cách chấm điểm của kho lưu trữ thực sự có tác dụng. Một lộ trình kéo dài hai giờ để có quyền đọc và ghi bên trong cơ sở dữ liệu production của một trợ lý toàn công ty nghe như một bản ghi tổn hại, nhưng kho lưu trữ không ghi nhận bản ghi nào. Trường này dựa trên ba điều: tuyên bố của McKinsey rằng một cuộc điều tra pháp y 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 bị truy cập; tuyên bố của CodeWall rằng việc kiểm thử của mình chỉ nhằm xác minh và không làm gián đoạn gì; và việc không có bất kỳ phát hiện mâu thuẫn nào trong các bài đưa tin được xem xét cho bài viết này.

Điều đó không dựa trên một cuộc kiểm toán kỹ thuật độc lập, quyết định của cơ quan quản lý hay thông báo về vi phạm dữ liệu. Không có mã định danh CVE nào được gán trong bất kỳ nguồn đưa tin nào được xem xét — Lilli là phần mềm nội bộ chứ không phải sản phẩm được phân phối, và không có khuyến cáo nào nêu tên một mã như vậy — và dường như không có cơ quan giám sát nào đã mở vụ việc. Không có bằng chứng công khai nào xuất hiện, trong các nguồn đưa tin được xem xét cho bài viết này, cho thấy dữ liệu đã bị sử dụng, bán hoặc tiếp tục bị phơi lộ. Đó là ý nghĩa của “không ghi nhận tổn hại thực sự” ở đây: một tuyên bố về bằng chứng liên quan đến hồ sơ, không phải một kết luận rằng việc phơi lộ là an toàn.

Khoảng trống này quan trọng vì rủi ro đáng quan tâm mang tính tiềm tàng trong tương lai. Quyền truy cập đọc phơi bày những gì đã có ở đó. Quyền truy cập ghi vào lớp prompt phơi bày những gì trợ lý sẽ nói tiếp theo — lời khuyên bị đầu độc, việc gỡ bỏ rào chắn, tài liệu mật được lồng vào một câu trả lời mà sau đó một chuyên viên tư vấn dán vào tài liệu cho khách hàng. CodeWall mô tả những hệ quả đó là thứ bất kỳ ai có cùng quyền truy cập đều có thể thực hiện. Chưa ai chứng minh chúng đã được tận dụng. Cả hai nhận định có thể cùng đúng một lúc: năng lực đó là có thật, và thiệt hại chưa được hiện thực hóa dựa trên bằng chứng mà bất kỳ ai đã công bố.

Tại sao nó được phân loại là cơ sở hạ tầng, chứ không phải là lỗi mô hình

Kho lưu trữ gắn thẻ INFRA cho bản ghi này, và hồ sơ kỹ thuật xác nhận thẻ đó. Không có gì trong tài khoản của CodeWall đòi hỏi phải lừa mô hình. Không có jailbreak, không có chèn lệnh từ một tài liệu, không có đầu vào đối kháng mà trợ lý được yêu cầu nuốt vào. Điểm xâm nhập là tài liệu bị lộ, thiếu kiểm tra xác thực và cách dựng SQL không an toàn; mô hình chỉ đơn giản là thứ giá trị nhất nằm sau cánh cửa.

Phân tích ngày 10 tháng 3 của Promptfoo đưa ra sự phân biệt tương tự từ góc độ phòng thủ: xét theo hồ sơ công khai, Lilli "trông giống một sự cố an ninh ứng dụng đã chạm tới một hệ thống AI, chứ không phải một vụ jailbreak mô hình", và phần lớn những gì được gọi là an ninh AI vẫn là an ninh phần mềm, an ninh dữ liệu và quản trị cấu hình. Phần đặc thù AI là phạm vi ảnh hưởng, không phải vụ xâm nhập — vì prompt, quy tắc định tuyến và cài đặt truy xuất là dữ liệu ứng dụng có thể thay đổi, quyền ghi cơ sở dữ liệu đã trở thành khả năng thay đổi hành vi của trợ lý mà không cần động đến mã nguồn.

Điều gì đã thay đổi sau đó?

Những thay đổi cụ thể là những gì cả hai bên mô tả: các điểm cuối chưa được xác thực đã bị đóng và được xác minh, môi trường phát triển đã được đưa ra ngoại tuyến, và tài liệu API công khai đã bị chặn. McKinsey cho biết họ đã phát hiện lỗ hổng, xác nhận và khắc phục lỗ hổng đó, và quan điểm công khai của họ là không có dữ liệu khách hàng nào bị truy cập.

Điều không thay đổi là mức độ phơi bày rộng hơn mà sự cố này mô tả. Bài viết của CodeWall kết thúc bằng lập luận rằng các prompt được lưu trong cơ sở dữ liệu, truyền qua API và được lưu đệm trong các tệp cấu hình, và rằng chúng 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 — đây là một tuyên bố về cả một ngành, không phải phát hiện về McKinsey, và nên được đọc như lập luận của một công ty bán giải pháp kiểm thử tự động liên tục. Công ty đang ở giai đoạn xem trước sớm và tìm kiếm đối tác thiết kế; việc công bố này đồng thời đóng vai trò như một màn trình diễn.

Điều mà hồ sơ để lại thì hẹp hơn và hữu ích hơn cuộc tranh luận. Một trợ lý toàn công ty, một cơ sở dữ liệu vận hành, hai giờ đồng hồ, không có thông tin đăng nhập, và một mục thiệt hại được ghi là sai vì cả hai bên có quyền tiếp cận các dữ kiện đều nói dữ liệu đã không được sử dụng. Những con số thuộc về một trong hai bên đó. Lỗ hổng thuộc về cả hai.