Claude Code, Gemini CLI và GitHub Copilot Agents dễ bị tấn công prompt injection thông qua các comment
Một nhà nghiên cứu đã công bố chi tiết về phương thức tấn công prompt injection có tên gọi ‘Comment and Control’; phương thức này được phát hiện có khả năng tấn công một số automation tool và AI code security phổ biến.
Trong một bài đăng gần đây, nhà nghiên cứu cho biết cuộc tấn công đã được xác nhận là có hiệu quả đối với một số AI agent phổ biến: Claude Code Security Review của Anthropic, Gemini CLI Action của Google và GitHub Copilot Agent.
Các nhà nghiên cứu phát hiện ra rằng các AI agent liên kết với những công cụ này trên GitHub Actions có thể bị chiếm quyền điều khiển thông qua các GitHub comment được soạn thảo đặc biệt, trong đó có các Pull Request (PR) title, comment và issue (nội dung mô tả vấn đề).
Trong trường hợp Claude Code Security Review, một công cụ được thiết kế để tự động kiểm tra bảo mật, các nhà nghiên cứu đã chỉ ra rằng kẻ tấn công có thể sử dụng PR title được tạo đặc biệt để đánh lừa AI agent thực thi lệnh trái phép, đánh cắp thông tin xác thực và làm lộ chúng dưới dạng một phát hiện bảo mật hoặc trong log của GitHub Actions.
Đối với Gemini CLI Action – công cụ đóng vai trò như một agent thực hiện các tác vụ lập trình thường quy (routine coding) – các nhà nghiên cứu đã sử dụng một issue comment có title chứa kỹ thuật prompt-injection, kết hợp với các comment được thiết kế đặc biệt, nhằm vượt qua các cơ chế bảo vệ và chiếm được API key đầy đủ.
Trong trường hợp GitHub Copilot Agent, payload được ẩn trong HTML comment nhằm tránh bị phát hiện bởi các cơ chế lọc môi trường và hỗ trợ việc tìm kiếm thông tin nhạy cảm.
Điểm nguy hiểm của Comment and Control là payload có thể được kích hoạt tự động khi workflow xử lý dữ liệu đầu vào không đáng tin cậy. Mô hình tấn công này cũng không chỉ giới hạn ở GitHub Actions mà có thể áp dụng cho bất kỳ AI agent nào vừa xử lý dữ liệu không đáng tin cậy vừa có quyền sử dụng công cụ hoặc truy cập thông tin nhạy cảm, chẳng hạn như Slack bot, Jira agent, email agent hoặc hệ thống tự động triển khai.
cho biết mô hình tấn công này có thể áp dụng cho bất kỳ AI agent nào xử lý dữ liệu GitHub không đáng tin cậy và đồng thời có quyền thực thi công cụ trong cùng môi trường chứa thông tin nhạy cảm. Rủi ro cũng không chỉ giới hạn ở GitHub Actions mà có thể ảnh hưởng đến các AI agent xử lý dữ liệu đầu vào không đáng tin cậy nhưng có quyền truy cập công cụ và secrets, như Slack bot, Jira agent, email agent hoặc hệ thống tự động triển khai. Bề mặt prompt injection có thể khác nhau, nhưng mô hình tấn công về cơ bản vẫn giống nhau.
Các phát hiện này đã được báo cáo cho Anthropic, Google và GitHub, và cả ba đều xác nhận vấn đề. Anthropic đánh giá lỗ hổng ở mức Critical, triển khai một số biện pháp giảm thiểu và trao khoản thưởng 100 USD. Google trao 1.337 USD tiền thưởng bug bounty.
GitHub trao 500 USD cho các nhà nghiên cứu và cho biết nghiên cứu này đã tạo ra nhiều thảo luận nội bộ hữu ích. Tuy nhiên, GitHub phân loại vấn đề này là một giới hạn kiến trúc đã được biết đến, thay vì một lỗ hổng bảo mật độc lập.
“Đây là lần đầu tiên một phương thức Prompt Injection được công khai chứng minh là có thể hoạt động trên AI agent của ba nhà cung cấp lớn. Cả ba lỗ hổng đều tuân theo cùng một chuỗi tấn công: dữ liệu GitHub không đáng tin cậy → AI agent xử lý dữ liệu → agent thực thi lệnh → thông tin xác thực bị đánh cắp thông qua chính GitHub.” Nhà nghiên cứu cho biết.
“Vấn đề cốt lõi nằm ở kiến trúc: các AI agent này được cấp những công cụ mạnh mẽ (như thực thi lệnh bash, đẩy mã lên git, gọi API) và các thông tin bảo mật (như API key, token) ngay trong cùng một runtime vốn cũng xử lý dữ liệu input không đáng tin cậy từ người dùng. Ngay cả khi có nhiều lớp phòng thủ - từ model-level, prompt-level cho đến ba runtime layer bổ sung của GitHub - tất cả đều có thể bị vượt qua; lý do là vì kỹ thuật tấn công chèn câu lệnh (prompt injection) trong trường hợp này không phải là một lỗi phần mềm, mà thực chất lại là một dạng ngữ cảnh mà AI agent được thiết kế để xử lý,” ông nói thêm.
CẬP NHẬT: Google đã khắc phục vấn đề bằng cách bổ sung các "câu lệnh kiểm soát" (guardrail prompts) vào câu lệnh hệ thống (system prompt). Tuy nhiên, điều này không làm thay đổi các mối đe dọa tấn công hay kịch bản tấn công cốt lõi, bởi vì các khả năng (công cụ) mà t Gemini agent có quyền truy cập vẫn được giữ nguyên.
Đối với Anthropic, phương thức tấn công này về nguyên tắc vẫn có thể hoạt động, dù payload cụ thể sẽ cần được cập nhật. Biện pháp khắc phục của công ty là vô hiệu hóa một công cụ (“ps”), thay vì áp dụng nguyên tắc đặc quyền tối thiểu (least privilege) bằng cách chỉ cấp cho agent những công cụ cần thiết cho quá trình đánh giá bảo mật. Nhà nghiên cứu không tiến hành thử nghiệm vượt qua hoàn toàn biện pháp khắc phục của công ty, nhưng vấn đề cốt lõi — quyền truy cập công cụ quá rộng đối với một “security review agent” - vẫn chưa được giải quyết.






















