Lỗ hổng trong Claude Code: AI bỏ qua quy tắc an toàn khi gặp chuỗi lệnh quá dài
Công cụ lập trình AI Claude Code có thể bỏ qua các quy tắc từ chối nhằm chặn các hành vi rủi ro nếu bị đưa ra chuỗi lệnh con dài vượt mức quy định. Lỗ hổng này, được phát hiện bởi Adversa, mở ra nguy cơ tấn công chèn lệnh (prompt injection), đặc biệt trong môi trường tự động hóa.

Công cụ lập trình AI Claude Code của Anthropic vừa bị phát hiện chứa một lỗ hổng bảo mật nghiêm trọng cho phép kẻ tấn công bỏ qua các cơ chế an toàn. Theo đó, bot này có thể bị thao túng để thực hiện các lệnh bị cấm nếu người dùng cung cấp một chuỗi lệnh dài đủ mức.
Lỗ hổng này được công ty bảo mật Adversa có trụ sở tại Tel Aviv (Israel) phát hiện sau khi phân tích mã nguồn của Claude Code.
Cơ chế bảo mật bị "lách luật"
Claude Code được thiết kế với các cơ chế cho phép và từ chối truy cập vào các công cụ cụ thể. Một số công cụ như curl (tương tác với mạng) có thể gây rủi ro bảo mật nếu được AI kích hoạt tự do. Để ngăn chặn điều này, nhà phát triển có thể thêm các "deny rules" (quy tắc từ chối) vào tệp cấu hình, ví dụ: { "deny": ["Bash(curl:*)"] } để chặn lệnh curl.
Tuy nhiên, các quy tắc này có một giới hạn cố định. Trong tệp mã nguồn bashPermissions.ts, Adversa tìm thấy một bình luận tham chiếu đến vấn đề nội bộ của Anthropic mang số CC-643. Nó giải thích rằng có một giới hạn cứng (hard cap) là 50 lệnh con bảo mật, được đặt bởi biến MAX_SUBCOMMANDS_FOR_SECURITY_CHECK = 50.
Sau khi vượt quá giới hạn 50 này, tác nhân AI sẽ chuyển sang chế độ hỏi ý kiến người dùng thay vì thực thi việc từ chối tự động. Các nhà phát triển của Anthropic giả định rằng 50 là một mức độ bao dung hào phóng cho các trường hợp sử dụng hợp pháp của con người.
Tấn công qua Prompt Injection
Nhóm Đội đỏ (Red Team) của Adversa chỉ ra rằng giả định trên đúng với lệnh do con người viết, nhưng lại không tính đến các lệnh do AI tạo ra thông qua prompt injection (tấn công chèn lệnh). Trong kịch bản này, một tệp CLAUDE.md độc hại có thể hướng dẫn AI tạo ra một quy trình xử lý (pipeline) gồm hơn 50 lệnh con trông giống như một quy trình build hợp lệ.
Cuộc tấn công chứng minh khái niệm (proof-of-concept) của Adversa khá đơn giản. Họ tạo ra một lệnh bash kết hợp 50 lệnh con không hoạt động ("no-op" true) và một lệnh con curl bị cấm. Kết quả là thay vì từ chối ngay lập tức lệnh curl, Claude lại hỏi người dùng về việc có được phép thực thi hay không.
Rủi ro trong môi trường tự động
Trong các trường hợp lập trình viên đang giám sát trực tiếp các hành động của tác nhân AI, việc bỏ qua quy tắc này có thể bị phát hiện. Tuy nhiên, rủi ro trở nên nghiêm trọng khi các nhà phát triển cấp quyền phê duyệt tự động cho tác nhân (sử dụng chế độ --dangerously-skip-permissions) hoặc chỉ nhấn đồng ý một cách máy móc trong các phiên làm việc dài.
Mối nguy hiểm tương tự cũng tồn tại trong các đường ống CI/CD (tích hợp liên tục và triển khai liên tục) chạy Claude Code ở chế độ không tương tác.
Theo Adversa, đây là một lỗi trong mã thực thi chính sách bảo mật, có những tác động đến quy định và sự tuân thủ nếu không được khắc phục. Đáng chú ý, Anthropic dường đã phát triển bản sửa lỗi nội bộ bằng một trình phân tích cú pháp gọi là "tree-sitter", nhưng nó chưa có trong các bản dựng công khai.
Để sửa lỗi này, Anthropic chỉ cần thực hiện một thay đổi đơn giản trong tệp bashPermissions.ts tại dòng 2174, chuyển khóa "behavior" từ "ask" sang "deny".
Cập nhật mới nhất cho thấy sau khi bài viết này được hoàn thành, Adversa thông báo rằng lỗ hổng dường như đã được sửa một cách thầm lặng trong phiên bản Claude Code v2.1.90 mới phát hành.
Bài viết liên quan

Phần mềm
Anthropic ra mắt Claude Opus 4.7: Nâng cấp mạnh mẽ cho lập trình nhưng vẫn thua Mythos Preview
16 tháng 4, 2026

Công nghệ
Qwen3.6-35B-A3B: Quyền năng Lập trình Agentic, Nay Đã Mở Cửa Cho Tất Cả
16 tháng 4, 2026

Công nghệ
Spotify thắng kiện 322 triệu USD từ nhóm pirate Anna's Archive nhưng đối mặt với bài toán thu hồi
16 tháng 4, 2026
