DuyNhat_19
New Member
-
06/08/2026
-
0
-
3 bài viết
Cảnh báo lỗ hổng nghiêm trọng trong Claude Code, Gemini CLI và Codex
Một đầu vào độc hại có thể khiến Claude Code, Gemini CLI và OpenAI Codex vượt qua ranh giới tin cậy, từ đó dẫn tới thực thi mã, đánh cắp secret và thậm chí mở đường cho việc chiếm quyền kiểm soát kho mã.
Nếu bạn nghĩ sandbox hay bộ lọc prompt là đủ để bảo vệ coding agent, nghiên cứu mới này có thể khiến bạn phải nghĩ lại. Các nhà nghiên cứu đã phát hiện nhiều lỗi trong Claude Code, Gemini CLI và OpenAI Codex, cho thấy vấn đề không chỉ nằm ở model AI mà còn ở cả 'hệ thống điều khiển' phía sau nó: quyền hạn, công cụ, filesystem, môi trường chạy và cách các bước trong workflow truyền dữ liệu cho nhau.
Điều rất nguy hiểm nếu một thành phần có thể coi dữ liệu do attacker kiểm soát là an toàn, rồi một thành phần khác lại xử lý chính dữ liệu đó với quyền cao hơn. Nói dễ hiểu, như cách cửa trước kiểm tra rất kỹ nhưng cửa sau lại cho ra vào vô điều kiện.
Với Claude Code Action, Novee phát hiện một kỹ thuật có thể lợi dụng cách Git xử lý tham số. Một payload được chèn vào issue trên GitHub có thể khiến runner thực thi mã từ xa, từ đó tiếp cận các secret như GITHUB_TOKEN và ANTHROPIC_API_KEY. Không dừng ở đó, kẻ tấn công còn có thể lợi dụng các lệnh tưởng như chỉ đọc để truy cập file bên ngoài workspace và đưa dữ liệu ra ngoài thông qua output workflow hoặc đích web đã được cho phép.
Lỗi cuối cùng được Anthropic ghi nhận với mã CVE-2026-54316.
Phía Gemini CLI cũng có câu chuyện không kém phần đáng lo. Cấu hình run-gemini-cli tưởng như chỉ cho phép một số công cụ hạn chế, nhưng bên dưới lại đăng ký shell đầy đủ mà không thực thi giới hạn lệnh tương ứng. Khi chạy ở chế độ yolo, một payload được chèn vào có thể dẫn tới thực thi lệnh shell tùy ý.
Google còn gặp một vấn đề khác với secret trong môi trường tiến trình. Dù Gemini CLI làm sạch môi trường của tiến trình con, tiến trình cha vẫn giữ secret và có thể bị truy cập thông qua /proc trong cùng namespace. Lỗ hổng GHSA-wpqr-6v78-jr5g được Google đánh giá CVSS 10.0/10, tức mức nghiêm trọng cao nhất.
Với OpenAI Codex, câu chuyện lại nằm ở workflow nhiều bước. Một agent xử lý nội dung không đáng tin cậy có quyền ghi vào workspace chung có thể tạo AGENTS.md. Ở lượt chạy sau, một agent có quyền cao hơn lại đọc và thực hiện những hướng dẫn do agent trước tạo ra.
Đây là kiểu tấn công rất 'AI thời nay', không nhất thiết phải phá sandbox trực tiếp, chỉ cần khiến một bước trong chuỗi tạo ra thứ mà bước tiếp theo tin tưởng.
OpenAI đã thay đổi workflow bằng cách tách biệt các bước xử lý và sử dụng môi trường hạn chế hơn. Nhưng bài học chung từ cả ba trường hợp khá rõ: mọi file và dữ liệu được tạo ra sau khi agent xử lý nội dung không đáng tin cậy đều phải được xem là untrusted input.
Với các hệ thống coding agent, bảo mật không thể chỉ dựa vào prompt filtering. Cần tách biệt workspace, danh tính và từng giai đoạn của agent; hạn chế token; đồng thời kiểm soát quyền truy cập công cụ ngay tại thời điểm thực thi.
AI agent càng được trao nhiều quyền thì hậu quả của một lần 'tin nhầm người' càng lớn. Và có vẻ như đây mới chỉ là một trong những bài toán bảo mật khó chịu nhất mà chúng ta sẽ phải xử lý khi agent bắt đầu tự viết, tự chạy và tự thay đổi code.
Nếu bạn nghĩ sandbox hay bộ lọc prompt là đủ để bảo vệ coding agent, nghiên cứu mới này có thể khiến bạn phải nghĩ lại. Các nhà nghiên cứu đã phát hiện nhiều lỗi trong Claude Code, Gemini CLI và OpenAI Codex, cho thấy vấn đề không chỉ nằm ở model AI mà còn ở cả 'hệ thống điều khiển' phía sau nó: quyền hạn, công cụ, filesystem, môi trường chạy và cách các bước trong workflow truyền dữ liệu cho nhau.
Điều rất nguy hiểm nếu một thành phần có thể coi dữ liệu do attacker kiểm soát là an toàn, rồi một thành phần khác lại xử lý chính dữ liệu đó với quyền cao hơn. Nói dễ hiểu, như cách cửa trước kiểm tra rất kỹ nhưng cửa sau lại cho ra vào vô điều kiện.
Với Claude Code Action, Novee phát hiện một kỹ thuật có thể lợi dụng cách Git xử lý tham số. Một payload được chèn vào issue trên GitHub có thể khiến runner thực thi mã từ xa, từ đó tiếp cận các secret như GITHUB_TOKEN và ANTHROPIC_API_KEY. Không dừng ở đó, kẻ tấn công còn có thể lợi dụng các lệnh tưởng như chỉ đọc để truy cập file bên ngoài workspace và đưa dữ liệu ra ngoài thông qua output workflow hoặc đích web đã được cho phép.
Lỗi cuối cùng được Anthropic ghi nhận với mã CVE-2026-54316.
Phía Gemini CLI cũng có câu chuyện không kém phần đáng lo. Cấu hình run-gemini-cli tưởng như chỉ cho phép một số công cụ hạn chế, nhưng bên dưới lại đăng ký shell đầy đủ mà không thực thi giới hạn lệnh tương ứng. Khi chạy ở chế độ yolo, một payload được chèn vào có thể dẫn tới thực thi lệnh shell tùy ý.
Google còn gặp một vấn đề khác với secret trong môi trường tiến trình. Dù Gemini CLI làm sạch môi trường của tiến trình con, tiến trình cha vẫn giữ secret và có thể bị truy cập thông qua /proc trong cùng namespace. Lỗ hổng GHSA-wpqr-6v78-jr5g được Google đánh giá CVSS 10.0/10, tức mức nghiêm trọng cao nhất.
Với OpenAI Codex, câu chuyện lại nằm ở workflow nhiều bước. Một agent xử lý nội dung không đáng tin cậy có quyền ghi vào workspace chung có thể tạo AGENTS.md. Ở lượt chạy sau, một agent có quyền cao hơn lại đọc và thực hiện những hướng dẫn do agent trước tạo ra.
Đây là kiểu tấn công rất 'AI thời nay', không nhất thiết phải phá sandbox trực tiếp, chỉ cần khiến một bước trong chuỗi tạo ra thứ mà bước tiếp theo tin tưởng.
OpenAI đã thay đổi workflow bằng cách tách biệt các bước xử lý và sử dụng môi trường hạn chế hơn. Nhưng bài học chung từ cả ba trường hợp khá rõ: mọi file và dữ liệu được tạo ra sau khi agent xử lý nội dung không đáng tin cậy đều phải được xem là untrusted input.
Với các hệ thống coding agent, bảo mật không thể chỉ dựa vào prompt filtering. Cần tách biệt workspace, danh tính và từng giai đoạn của agent; hạn chế token; đồng thời kiểm soát quyền truy cập công cụ ngay tại thời điểm thực thi.
AI agent càng được trao nhiều quyền thì hậu quả của một lần 'tin nhầm người' càng lớn. Và có vẻ như đây mới chỉ là một trong những bài toán bảo mật khó chịu nhất mà chúng ta sẽ phải xử lý khi agent bắt đầu tự viết, tự chạy và tự thay đổi code.
Chỉnh sửa lần cuối bởi người điều hành: