Nguy Hiểm Agentjacking: Mối đe dọa mới với AI

Nguy Hiểm Agentjacking: Mối đe dọa mới với AI

Một kỹ thuật tấn công mới có tên “Agentjacking” đã được công bố, cho phép chiếm quyền điều khiển các tác nhân lập trình AI và thực thi mã độc một cách thầm lặng trên máy của nhà phát triển. Phương pháp này khai thác một lỗ hổng trong cách các công cụ giám sát như Sentry xử lý lỗi, sử dụng thông tin DSN (Data Source Name) công khai để gửi các sự kiện lỗi giả mạo. Kỹ thuật này không yêu cầu lừa đảo (phishing), phân phối mã độc hay xâm nhập vào hạ tầng của nạn nhân, mà chỉ cần một lỗi Sentry được chèn vào duy nhất. Điều này cho thấy một mối đe dọa mạng mới đối với quy trình phát triển phần mềm.

Khai thác Lỗ hổng qua Sentry DSN

Điểm truy cập ban đầu của cuộc tấn công là Sentry DSN công khai. Đây là một khóa ghi (write-only credential) thường được nhúng trong mã JavaScript phía client và được lập chỉ mục trên web. Thông qua các phương pháp trinh sát thụ động, bao gồm phân tích JavaScript, tìm kiếm trên Censys và phân tích bộ tải CDN, các nhà nghiên cứu đã xác định được hàng nghìn tổ chức có DSN có thể bị tấn công.

Chỉ với DSN, kẻ tấn công có thể gửi các sự kiện lỗi tùy ý đến API của Sentry. Chúng có thể kiểm soát các trường dữ liệu như tin nhắn, thẻ (tags), ngữ cảnh (context), dữ liệu bổ sung, breadcrumbs, thông tin người dùng, chuỗi lỗi (stack traces) và dấu vân tay (fingerprints). Sentry sẽ chấp nhận các sự kiện giả mạo này như lỗi ứng dụng hợp lệ, cho phép kẻ tấn công chèn nội dung được kiểm soát hoàn toàn vào quy trình giám sát.

Cơ chế Tấn công Agentjacking

Lỗi kiến trúc cốt lõi nằm ở giao điểm giữa pipeline thu nhận sự kiện của Sentry và tích hợp Giao thức Ngữ cảnh Mô hình (Model Context Protocol – MCP). MCP chuyển tiếp dữ liệu lỗi về các tác nhân AI lập trình như một đầu ra hệ thống đáng tin cậy. Kẻ tấn công có thể nhúng các đoạn Markdown được chế tạo cẩn thận vào các lỗi được chèn, đặc biệt là trong các trường tin nhắn và ngữ cảnh. Nội dung này có thể xuất hiện dưới dạng phần “Resolution” hợp lệ của Sentry với các tiêu đề, khối mã và bảng biểu, khiến nó không thể phân biệt với các hướng dẫn khắc phục sự cố thực tế.

Tác động của Lệnh Mã hóa

Khi một nhà phát triển yêu cầu tác nhân AI của họ “sửa các sự cố Sentry chưa được giải quyết”, tác nhân này sẽ truy vấn Sentry thông qua MCP, lấy sự kiện đã được chế tạo và diễn giải lệnh của kẻ tấn công như các bước chẩn đoán hợp lệ, thay vì là đầu vào không đáng tin cậy. Mã khai thác thử nghiệm (proof-of-concept) đã hướng dẫn các tác nhân thực thi một lệnh `npx` để tải một gói xác thực được kiểm soát từ kho lưu trữ npm công khai và chạy nó với toàn bộ quyền cục bộ của nhà phát triển.

Trong chiến dịch thử nghiệm, gói này đã xác nhận sự hiện diện của thông tin nhạy cảm bằng cách kiểm tra các biến môi trường, kích thước của các tệp cấu hình như `~/.aws/config` và `~/.docker/config.json`, cũng như kiểm tra các giao diện mạng. Sau đó, dữ liệu phơi nhiễm được gửi trở lại một máy chủ beacon của Tenet dưới các tiêu đề “ResponsibleDisclosure [SECURITY SCAN]”.

Phạm vi và Hiệu quả của Tấn công

Các nhà nghiên cứu đã báo cáo hơn 100 trường hợp thực thi tác nhân thực tế trên một doanh nghiệp đám mây Fortune 500, một nhà cung cấp dịch vụ lưu trữ đa tỷ đô la, các công ty phần mềm khoa học, các startup và các nhà phát triển cá nhân. Các cuộc tấn công đạt tỷ lệ thành công khoảng 85% trên các tác nhân AI lập trình hàng đầu. Điều làm cho Agentjacking đặc biệt nguy hiểm là mọi bước trong chuỗi đều được ủy quyền và trông có vẻ vô hại đối với các biện pháp phòng thủ truyền thống.

Sentry được sử dụng đúng theo thiết kế, DSN là công khai theo chính sách, gói npm được tải qua các kênh tiêu chuẩn và tác nhân AI thực thi lệnh như một phần của quy trình hỗ trợ thông thường. Các hệ thống phát hiện điểm cuối (Endpoint detection), WAF, chính sách IAM và tường lửa không phát hiện vi phạm chính sách rõ ràng nào vì hành vi quan sát được khớp với một công cụ được nhà phát triển phê duyệt đang chạy các lệnh được phê duyệt trên một nền tảng quan sát đáng tin cậy. Đây được mô tả là một “Chuỗi Ý định Được Ủy quyền” (Authorized Intent Chain).

Rủi ro Hệ thống và Phản ứng của Nhà cung cấp

Nghiên cứu này nhấn mạnh rằng đây không phải là lỗi của một nhà cung cấp duy nhất mà là một vấn đề hệ thống đối với các tác nhân AI. Bất kỳ tích hợp MCP nào trả về dữ liệu bị ảnh hưởng từ bên ngoài cho các tác nhân đều mang rủi ro tương tự, vì dữ liệu có thể chứa các chỉ thị ẩn được kiểm soát bởi kẻ tấn công. Các mô hình AI hiện tại không thể phân biệt đáng tin cậy giữa dữ liệu mô tả và các chỉ thị được nhúng, đặc biệt khi các chỉ thị này xuất hiện trong nhật ký, số liệu hoặc thông báo lỗi dường như đáng tin cậy.

Tenet đã công bố phát hiện của mình cho Sentry vào ngày 3 tháng 6 năm 2026. Sentry đã ghi nhận vấn đề và giới thiệu một bộ lọc nội dung toàn cầu cho một chuỗi payload cụ thể. Tuy nhiên, Sentry được cho là đã mô tả lớp tấn công cơ bản là “không thể phòng thủ về mặt kỹ thuật” ở lớp thu nhận, thay vào đó chỉ ra middleware phía mô hình là một phương pháp giảm thiểu.

Khuyến nghị cho các Đội An ninh Mạng

Đối với các chuyên gia bảo mật, nghiên cứu Agentjacking báo hiệu một kỷ nguyên mới về rủi ro chuỗi cung ứng AI. Các tác nhân AI tự nó trở thành bề mặt tấn công chính. Các đội an ninh cần đánh giá lại những công cụ mà tác nhân AI của họ tương tác, và liệu các công cụ đó có chấp nhận đầu vào không đáng tin cậy hoặc ẩn danh hay không. Cần xem xét các biện pháp kiểm soát thời gian chạy (runtime controls) nào đang được áp dụng để ngăn chặn nội dung được chèn tự động chuyển thành thực thi mã trên các điểm cuối của nhà phát triển.

Các công ty cần xem xét kiến trúc của hệ thống giám sát và tích hợp AI của họ, đặc biệt là cách dữ liệu từ các nguồn bên ngoài được xử lý và hiển thị cho các tác nhân AI. Việc cập nhật bản vá bảo mật cho các công cụ và nền tảng là cần thiết, nhưng cũng cần có các lớp bảo vệ bổ sung để xác thực đầu vào và giám sát hành vi bất thường của các tác nhân AI.

Một nguồn tham khảo chi tiết về kỹ thuật này có thể được tìm thấy trên blog của Tenet Security: Agentjacking Coding Agents with Fake Sentry Errors.