← Blog
Phân tích sự cố

Tên gọi là Claude Code. Bản build thì không.

Một bản build bị sửa đổi của một công cụ lập trình AI đáng tin cậy đã đến tối đa 5.000 máy của lập trình viên qua một chợ tiện ích mở rộng. Danh tính của công cụ chỉ là một cái tên và một chuỗi phiên bản, và không có gì kiểm tra bản build phía sau.

Ben Le, Nhà sáng lập · 3 tháng 11, 2026 · 5 phút đọc

Lúc 2 giờ 27 sáng giờ Thái Bình Dương ngày 29 tháng 10, một phiên bản mới của một trong những công cụ đáng tin cậy nhất trong phát triển AI được phát hành trên chợ tiện ích mở rộng của Cursor. Nó mang đúng tên, Claude Code của Anthropic, cùng một số phiên bản hợp lý, 2.1.313. Những lập trình viên bật tự động cập nhật đã nhận nó theo cách họ nhận mọi bản cập nhật: lặng lẽ, không cần đưa ra quyết định nào.

Đó không phải bản build của Anthropic. Cursor cho biết Anthropic không phát triển nó, và Anthropic cho biết hệ thống của họ không bị xâm phạm. Theo công bố của Cursor, phiên bản bị sửa đổi đã được phân phối trong khoảng mười một giờ, đến 1 giờ 35 chiều giờ Thái Bình Dương, và đã đến tay tối đa 5.000 người dùng. Các phân tích đã công bố mô tả thứ được cài cắm bên trong: một trình nạp được ghép vào trước phần mã vốn hợp lệ, nên trợ lý vẫn hoạt động bình thường trong khi mã độc thêm một khóa SSH do kẻ tấn công kiểm soát, gắn nhãn “svc-telemetry”, vào danh sách khóa được ủy quyền của máy. Các báo cáo cũng mô tả một đường hầm ngược đến máy chủ của kẻ tấn công và cơ chế duy trì vẫn tồn tại kể cả khi gỡ cài đặt tiện ích mở rộng.

Cursor đã gỡ gói và đóng chợ tiện ích trong lúc điều tra. Nhưng khoảng thời gian đó đã kịp gây hậu quả. Cursor cảnh báo rằng gỡ cài đặt tiện ích mở rộng có thể không loại bỏ được cửa hậu. Mười một giờ là đủ.

Điều gì thực sự đã thất bại

Gạt bỏ các chi tiết cụ thể, thất bại ở đây rất đơn giản: danh tính của công cụ chỉ là một cái tên và một chuỗi phiên bản, và không có gì đối chiếu bản build với nhà phát hành trước khi bản build đó chạy trên hàng nghìn máy đang nắm quyền truy cập kho mã, khóa đám mây và thông tin xác thực triển khai.

Một cái tên là một lời khẳng định. Một số phiên bản là một lời khẳng định. Ngày 29 tháng 10, cả hai lời khẳng định đều sai, và cả chuỗi (chợ tiện ích, tự động cập nhật, máy trạm của lập trình viên) đều chấp nhận chúng như hiển nhiên, bởi chấp nhận lời khẳng định như hiển nhiên chính là cách chuỗi cung ứng công cụ đang vận hành hiện nay.

Nếu bạn xây dựng hoặc sử dụng tác nhân AI, điều này hẳn rất quen thuộc. Đó là nhóm thất bại mà chúng tôi đo lường mỗi ngày trong hệ sinh thái MCP: mục danh mục vẫn giữ tên của một máy chủ đáng tin cậy trong khi mã bên dưới đã đổi chủ; công cụ có mô tả và hành vi bị lặng lẽ chỉnh sửa mà không tăng phiên bản; gói phần mềm trôi lệch khỏi những gì đã được rà soát. Sự cố Cursor là cùng một kiểu thất bại, chỉ là trên máy của lập trình viên thay vì công cụ của tác nhân: không ai ghim nội dung vào danh tính, và không ai kiểm tra vào đúng thời điểm quan trọng.

Vì sao bảo mật truyền thống bỏ lỡ điều này

Cách làm thông thường giả định rằng chuỗi cung ứng đứng yên đủ lâu để được rà soát: chỗ này một đợt đánh giá nhà cung cấp, chỗ kia uy tín của một chợ ứng dụng, cùng một lần rà soát hằng năm các công cụ mà đội ngũ sử dụng. Nhưng chuỗi cung ứng công cụ giờ thay đổi hằng ngày, với máy chủ mới, phiên bản mới và những chỉnh sửa thầm lặng, trong khi tác nhân và trình tự động cập nhật liên tục kéo từ đó về và chạy những gì kéo về với đặc quyền thật. Phần mềm bảo vệ endpoint trên các máy đó đã chứng kiến một kênh đáng tin cậy đưa bản cập nhật vào qua cửa chính. Bước kiểm tra lẽ ra ngăn được nó chưa bao giờ là kiểm tra endpoint. Đó là kiểm tra danh tính, và nó không hề tồn tại.

Khoảng trống đó, giữa thứ một công cụ tự nhận là và thứ nó có thể được chứng minh là, chính là tầng mà Redthread được thành lập để lấp đầy.

Redthread chống lại điều này như thế nào

Agentic Trust & Protection Platform (ATPP) của chúng tôi bắt đầu từ một tiền đề thẳng thắn: xác minh bản build, không phải cái tên. Chúng tôi chạy lượt quét có chữ ký hằng ngày trên toàn bộ registry MCP, và lượt quét mới nhất cho thấy vì sao việc này không thể chỉ làm mỗi quý một lần. Lượt quét ngày 2 tháng 11 bao phủ 55.375 máy chủ trong registry MCP chính thức và phát hiện 1.518 vụ tráo danh mục, tức trường hợp mã đứng sau một mục danh mục đã đổi chủ trong khi vẫn giữ nguyên tên; 2.193 công cụ thay đổi định nghĩa mà không tăng phiên bản; và 2.075 mục danh mục đã thay đổi so với lượt quét ngày hôm trước. Lượt quét tồn tại để bắt đúng loại sự kiện này: một cái tên đáng tin cậy bọc quanh một thay đổi chưa được xác minh.

  • Danh tính gắn với bản build. ATPP gắn danh tính tác nhân bằng mật mã với bản build thông qua ghim nội dung, để một danh tính không thể vượt ra ngoài đúng phần mã mà nó được cấp cho.
  • Xác minh tại thời điểm gọi, không phải thời điểm rà soát. Khi một công cụ sai lệch, lệnh thu hồi lan truyền từ sai lệch đó đến các tác nhân và quan hệ ủy quyền đang tin cậy nó.
  • Định nghĩa công cụ được lấy dấu vân tay. Danh sách công cụ của mỗi máy chủ được băm, nên một công cụ thay đổi trong khi phiên bản không đổi sẽ bị gắn cờ đúng với bản chất của nó: kiểu rug-pull. Manifest quét có chữ ký của mỗi ngày được neo vào nhật ký minh bạch Sigstore Rekor công khai, nên chính các khẳng định của chúng tôi cũng có thể được kiểm chứng.
  • Tín hiệu bạn có thể hành động ngay. Nhà phát hành vượt qua kiểm tra sẽ nhận huy hiệu có thể xác minh, và các thay đổi trạng thái tin cậy được phát hành dưới dạng sự kiện có chữ ký mà gateway, bộ điều phối và đội bảo mật có thể xử lý trong vài giây. Enforce gateway của chúng tôi, đang ở bản xem trước, đưa bước xác minh đó vào trực tiếp trên đường đi của lệnh gọi.
  • Công cụ của chính lập trình viên. Với bề mặt mà sự cố ngày 29 tháng 10 nhắm vào, các hook của chúng tôi cho Claude Code và Cursor, cũng đang ở bản xem trước, đối chiếu từng lệnh gọi công cụ MCP với khẳng định có chữ ký của máy chủ trước khi lệnh gọi được thực thi, và tính năng xuất AIBOM cung cấp cho đội ngũ của bạn một bảng kê thành phần CycloneDX của mọi máy chủ MCP được cấu hình trên các máy của bạn: một bản kiểm kê chuỗi cung ứng công cụ, không phải một phỏng đoán về nó.

Song song với ATPP, nền tảng đánh giá không cần agent của chúng tôi bao quát hệ thống nơi các công cụ đó vận hành. Lần quét tự phục vụ miễn phí lập bản đồ dấu chân AI và công cụ của bạn, bao gồm cả AI ngầm và những công cụ chưa đăng ký mà chưa ai kiểm kê, mà không cần cài đặt gì. Các phát hiện được kiểm chứng bằng khai thác thực tế với bằng chứng khái niệm (PoC) có thể tái lập: bằng chứng, không bao giờ là điểm số suy đoán. Kiểm soát CI/CD ngăn các công cụ chưa xác minh và đường tấn công đã được chứng minh lọt vào pipeline của bạn, đánh giá lại liên tục theo dõi sai lệch sau khi có báo cáo, và kết quả được tổng hợp thành thư chứng thực mà đội ngũ của bạn có thể trao cho người đánh giá bảo mật của khách hàng doanh nghiệp.

Chúng tôi áp dụng cùng tiêu chuẩn đó cho chính sản phẩm của mình. Các cảm biến endpoint tùy chọn của chúng tôi, vốn chỉ phát hiện và không bao giờ chặn, nhận bản cập nhật qua một cổng triển khai theo giai đoạn: các vòng canary ở 1%, 10%, 50% và 100% số máy, tự động dừng nếu một vòng cho kết quả không ổn định. Ngày 29 tháng 10 cho thấy một kênh cập nhật không được bảo vệ có thể gây ra điều gì; chúng tôi xây dựng kênh của mình như thể bài học đó áp dụng cho chính mình, bởi đúng là như vậy.

Chúng tôi muốn nói chính xác về khẳng định của mình. Redthread đã không quét chợ tiện ích của Cursor, và không nhà cung cấp trung thực nào có thể hứa rằng mình sẽ bắt được đúng gói đó. Điều chúng tôi có thể nói mang tính cấu trúc: ở nơi bản build được gắn với danh tính, nội dung được ghim, và sai lệch kích hoạt việc thu hồi, một bản build giả mạo mang tên tuổi nổi tiếng sẽ không có chỗ ẩn nấp, bởi cái tên chưa bao giờ là thứ được tin cậy.

Cùng chúng tôi xây dựng

Redthread là một công ty trẻ với các hệ thống đang chạy thực tế, và cách nhanh nhất để củng cố chúng là ngoài thực địa, cùng những đội ngũ cảm nhận vấn đề này đầu tiên. Chúng tôi đang mở hai đến ba suất đối tác thiết kế sáng lập. Chương trình thí điểm miễn phí trong 30 đến 45 ngày: chúng tôi quét hệ thống của bạn, áp dụng danh tính và xác minh cho một quy trình đang vận hành, và bạn có được bằng chứng mà đợt đánh giá bảo mật doanh nghiệp tiếp theo thực sự chấp nhận. Đối tác sáng lập được hưởng mức giá chiết khấu sâu, cố định, và cùng định hình sản phẩm mà họ sử dụng.

Nếu tác nhân của bạn gọi những công cụ không do bạn viết, và chắc chắn là có, hãy bắt đầu với lần quét hệ thống miễn phí, xem dữ liệu tin cậy tại trust.redthreadsec.com, và cùng chúng tôi xây dựng tầng xác minh. Ngày 29 tháng 10 đã cho thấy cái giá của mười một giờ tin cậy không được xác minh. Hãy đảm bảo bản build giả mạo tiếp theo sẽ gặp một bức tường, chứ không phải một tấm thảm chào đón.

Đọc tiếp

Các bài viết khác trên blog.

Agentic Trust & Protection Platform
Agentic Trust & Protection Platform: danh tính, hồ sơ ghi nhận và — sắp tới — một trạm kiểm soát cho mọi tác nhân AI
ATPP mang lại gì cho một tác nhân hôm nay, bản xem trước ATPP Enforce bổ sung gì, và — cũng quan trọng không kém — những gì chúng tôi chưa khẳng định.
Nền tảng
Không cần agent và lấy đồ thị làm trung tâm: vì sao chúng tôi bắt đầu bằng một bản đồ, và thời gian lẫn chi phí thực sự nằm ở đâu
Cài agent ở khắp nơi và phân loại những danh sách phát hiện phẳng là hai chi phí ẩn lớn nhất của công cụ bảo mật. Đây là cách một đồ thị không cần agent loại bỏ cả hai.
Kiểm thử xâm nhập
Một đợt kiểm thử xâm nhập bằng AI tốn bao nhiêu — và nó không thay thế được điều gì
Kiểm thử xâm nhập thủ công là một khoản mua lớn và thưa thớt. Tác nhân tự động biến nó thành khoản nhỏ và thường xuyên. Đây là phép so sánh trung thực, kể cả những phần con người vẫn làm tốt hơn.