Zenity Phát Hiện Một Câu Lệnh Có Thể Chiếm Mọi Agent Trong Một Tài Khoản AWS
2 phút đọc

Amazon Bedrock AgentCore là nền tảng của AWS để chạy AI agent doanh nghiệp với công cụ, bộ nhớ và quản lý truy cập. Chuỗi lỗ hổng này được gọi là AgentCorruption. Chỉ cần có quyền trò chuyện với một agent công khai là đủ để khai thác.
Người tấn công chỉ cần dùng một câu lệnh để khiến agent truy vấn Instance Metadata Service ở địa chỉ nội bộ 169.254.169.254 và gửi kết quả ra một server bên ngoài. Dịch vụ này cấp thông tin xác thực tạm thời để máy chủ và tác vụ xác thực với AWS.
Agent bình thường không nên chạm tới dịch vụ đó, nhưng AgentCore thiếu cách cô lập phù hợp. Zenity Labs dựng một agent thử nghiệm bằng Strands, một khung mã nguồn mở của AWS có kèm một công cụ truy cập mạng. Khi được yêu cầu bằng ngôn ngữ bình thường để hỏi dịch vụ này và gửi kết quả đi, agent đã làm theo.
Thông tin xác thực bị lấy cắp vẫn dùng được trên máy của nhóm nghiên cứu bên ngoài nền tảng, nên họ không còn cần agent để tiếp tục tấn công. Dịch vụ đó còn lộ dữ liệu chứng chỉ và khóa cho một dịch vụ nội bộ của AWS, cùng một URL được ký sẵn cho lưu trữ S3 nội bộ không thuộc tài khoản của họ.
Việc gỡ công cụ truy cập mạng cũng không giúp gì, vì lỗi nằm ở nền tảng. Cách tấn công còn làm được qua một công cụ dòng lệnh. Quyền mặc định không chỉ áp cho agent nhận được chúng mà cho mọi agent trong cùng tài khoản và khu vực, với quyền đọc, ghi và xóa.
Với các quyền đó, nhóm nghiên cứu có thể liệt kê mọi agent, tải gói code trong vài giây và gọi từng agent. Các gói đó thường chứa mật khẩu bị quên hoặc khóa API cùng với code nguồn, nên có thể lộ nhiều hơn bản thân agent. Một kẻ tấn công cũng có thể đi từ agent dịch vụ khách hàng sang agent tài chính nội bộ, đọc mọi cuộc trò chuyện riêng giữa người dùng và agent, rồi chỉnh bộ nhớ dài hạn để ảnh hưởng hành vi sau này.
Nguồn
- A single prompt was enough to hijack every AI agent in an AWS account, Zenity researchers found— The Decoder, 8 tháng 10, 2026