Các nhà nghiên cứu bypass cơ chế bảo vệ của 6 framework AI agent chỉ bằng prompt “Repeat-After-Me”

1351
13-10-2026
Các nhà nghiên cứu bypass cơ chế bảo vệ của 6 framework AI agent chỉ bằng prompt “Repeat-After-Me”

Các nhà nghiên cứu bypass cơ chế bảo vệ của 6 framework AI agent chỉ bằng prompt “Repeat-After-Me”

Nghiên cứu cho thấy AI agent có thể bị lừa thực thi các lệnh gọi công cụ do kẻ tấn công kiểm soát bằng cách yêu cầu mô hình lặp lại chúng. Các nhà nghiên cứu cũng phát hiện 253 lỗi bảo mật đã được xác minh trên 118 MCP server mã nguồn mở.

Các nhà nghiên cứu đã khiến sáu framework AI agent được sử dụng rộng rãi hiện nay thực thi các lệnh gọi công cụ do kẻ tấn công tạo ra, chỉ bằng cách yêu cầu mô hình nền tảng lặp lại lệnh gọi đó.

Theo các nhà nghiên cứu đến từ Đại học Bang Pennsylvania (Pennsylvania State University), Đại học Montpellier (Université Montpellier) và Đại học Dartmouth (Dartmouth College), kỹ thuật được đặt tên là “Repeat-After-Me” này hoạt động trên 6 framework: LangGraph của LangChain, Microsoft Agent Framework, AutoGen của Microsoft, Agent Development Kit 2.0 của Google, Strands Agents của AWS và CrewAI.

“Do đó, một yêu cầu text-repetition tưởng chừng vô hại lại trao cho kẻ tấn công quyền kiểm soát trực tiếp việc gọi công cụ và các đối số của lệnh gọi đó”, các nhà nghiên cứu viết trong bài báo.

Bài báo cũng cho biết công cụ test do nhóm phát triển đã phát hiện các lỗi bảo mật được xác minh trong 118 trên tổng số 273 MCP server mã nguồn mở mà công cụ có thể chạy được.

Cách thức thủ thuật hoạt động

Trong thử nghiệm minh họa, các nhà nghiên cứu yêu cầu một AI model lặp lại đoạn văn bản được định dạng như một yêu cầu gọi công cụ (tool invocation). Ban đầu, model từ chối yêu cầu nguy hiểm nhưng vẫn đưa đoạn văn bản được yêu cầu vào câu trả lời. Ở giai đoạn này, framework chưa thực thi lệnh gọi đó.

Sau đó, các nhà nghiên cứu chuyển yêu cầu sang dạng giả định và chỉ dẫn mô hình tái tạo đúng đoạn văn bản được cung cấp. Mô hình tạo ra một lệnh gọi công cụ có cấu trúc, sau đó LangGraph chuyển lệnh này đến công cụ để thực thi. Công cụ mô phỏng trả về kết quả trước khi model tiếp tục từ chối yêu cầu.

“Phần văn bản từ chối và lệnh gọi đã được thực thi mâu thuẫn với nhau: system prompt định hình những gì model nói ra, chứ không quyết định những gì orchestrator thực hiện”, các nhà nghiên cứu viết.

Kết quả nghiên cứu không chứng minh rằng mọi triển khai của cả sáu framework đều hoạt động theo cách này.

Lời từ chối đến quá muộn

Bài báo trình bày một thử nghiệm trên LangGraph 1.2.0, chạy mô hình Llama 3.1 8B của Meta thông qua Ollama. Agent có hai công cụ giả lập là make_bomb và launch_missiles, chỉ trả về dữ liệu cố định và không gây ra tác động thực tế. Biện pháp bảo vệ duy nhất là một system prompt yêu cầu mô hình từ chối các yêu cầu nguy hiểm.

Khi được yêu cầu lặp lại lệnh gọi launch_missiles lần đầu, mô hình từ chối nhưng vẫn in lệnh gọi dưới dạng văn bản, và LangGraph không thực thi gì. Sau đó, các nhà nghiên cứu chuyển yêu cầu sang dạng giả định và yêu cầu mô hình chỉ xuất ra lệnh gọi được trích dẫn. Lần này, mô hình trả về lệnh gọi dưới dạng có cấu trúc và LangGraph lập tức thực thi lệnh với các tham số do kẻ tấn công cung cấp. Mô hình chỉ đưa ra lời từ chối sau khi công cụ đã trả về kết quả.

“System prompt định hình những gì mô hình nói ra, chứ không quyết định những gì bộ điều phối (orchestrator) thực hiện”, các nhà nghiên cứu viết. Họ cho biết đã báo cáo với nhóm duy trì LangGraph về việc thiếu bước kiểm tra trước khi thực thi.

Bài báo chỉ cung cấp bản ghi đầy đủ của thử nghiệm với LangGraph. Đối với năm framework còn lại, các nhà nghiên cứu cho biết đã tái hiện được hành vi tương tự nhưng không đưa ra thêm chi tiết.

LangChain, Microsoft, Google, AWS và CrewAI chưa phản hồi ngay các yêu cầu bình luận.

Output của model không đồng nghĩa với quyền được phép thực thi

Vibhum Dubey, nhà nghiên cứu bảo mật độc lập kiêm chuyên gia red team, cho rằng phát hiện này chỉ ra một điểm yếu trong kiến trúc hệ thống, chứ không đơn thuần là một lỗi riêng lẻ.

“Mô hình có thể tạo ra một lệnh gọi công cụ hợp lệ về mặt kỹ thuật nhưng vẫn không phù hợp với nhiệm vụ”, Dubey cho biết. “Nếu orchestration layer xem output đó là đủ cơ sở để thực thi thao tác, thì việc thao túng ở cấp mô hình sẽ trở thành vấn đề bảo mật ở cấp hệ thống.”

Ông nói thêm, khả năng khai thác kỹ thuật này phụ thuộc vào mức độ kiểm soát mà kẻ tấn công có thể tác động và phạm vi quyền hạn của agent. Agent chỉ có quyền đọc sẽ tạo ra rủi ro khác với agent có thể truy cập file bảo mật, chỉnh sửa code repository hoặc chạy command.

Các công cụ phải tự gánh chịu rủi ro

Do kẻ tấn công có thể kiểm soát các tham số (argument) được truyền vào công cụ, các nhà nghiên cứu cho rằng bản thân các công cụ cần phải tự kiểm chứng dữ liệu đầu vào của mình. Họ đã phát triển ToFu, một fuzzing framework có khả năng đọc mô tả của từng công cụ và kiểm tra xem công cụ đó có thực thi đúng các giới hạn đã công bố hay không (ví dụ: giới hạn hoạt động trong một folder chỉ định).

Sau quá trình rà soát thủ công, họ đã xác nhận 253 lỗi ảnh hưởng đến 343 công cụ trên 118 server. Các lỗi nghiêm trọng nhất bao gồm 64 lỗ hổng path-traversal, 7 lỗ hổng SSRF, 5 lỗi rò rỉ dữ liệu và 3 lỗ hổng OS command-injection. Phần lớn các lỗi còn lại là vấn đề về phản hồi đầu ra (reflected-output) và chèn dữ liệu vào nhật ký (log-injection); theo đánh giá trong nghiên cứu, các lỗi này có mức độ ảnh hưởng thấp hơn trong nhiều môi trường triển khai.

Các nhà nghiên cứu nhận định rằng "nhiều công cụ mặc nhiên dựa vào LLM để làm sạch dữ liệu đầu vào", bất chấp việc các prompt, nội dung được truy xuất và output từ các công cụ khác đều có thể tác động đến những dữ liệu input đó.

Tách biệt yêu cầu khỏi quyền thực thi

Dubey cho biết ưu tiên của các team bảo mật là tách biệt khả năng yêu cầu thực hiện một hành động của model ra khỏi quyền hạn thực thi hành động đó của hệ thống.

"Mọi lệnh gọi công cụ nhạy cảm đều cần trải qua quy trình kiểm tra cấp quyền độc lập," ông nói. "Cú pháp hợp lệ hay lời giải thích thuyết phục từ model không bao giờ được phép thay thế cho sự cho phép chính thức."

Ông khuyến nghị vận hành các agent với quyền truy cập file và network hạn chế, trong môi trường thực thi biệt lập và với các thông tin xác thực có phạm vi quyền hạn giới hạn; đồng thời yêu cầu phải có sự phê duyệt rõ ràng đối với các thao tác nhạy cảm hoặc không thể đảo ngược. Ông cũng cho rằng các nhóm bảo mật nên giám sát chuỗi các lệnh gọi công cụ thay vì chỉ đánh giá từng hành động một cách riêng lẻ.

Tài liệu nghiên cứu này chưa trải qua quy trình bình duyệt. Các server được thử nghiệm với các phiên bản fixed code, và tài liệu không đề cập liệu các lỗ hổng này đã được khắc phục hay từng bị khai thác trong thực tế hay chưa.

SHARE