Anthropic đối mặt với chỉ trích về lỗ hổng '1-click' trong Claude Code: Người dùng đã bấm 'Ok' nhưng có thực sự hiểu?

Phần mềm07 tháng 5, 2026·4 phút đọc

Công ty bảo mật Adversa AI đã phát hiện lỗ hổng 'TrustFall' cho phép thực thi mã từ xa chỉ bằng một cú nhấp chuột trong Claude Code và các công cụ AI khác. Anthropic cho rằng người dùng đã đồng ý tin tưởng thư mục, nhưng các chuyên gia bảo mật lập luận rằng cảnh báo hiện tại không đủ rõ ràng để đảm bảo sự đồng thuận có hiểu biết.

Anthropic đối mặt với chỉ trích về lỗ hổng '1-click' trong Claude Code: Người dùng đã bấm 'Ok' nhưng có thực sự hiểu?

Anthropic đối mặt với chỉ trích về lỗ hổng '1-click' trong Claude Code: Người dùng đã bấm 'Ok' nhưng có thực sự hiểu?

Một cuộc tranh luận mới đang nổ ra giữa các chuyên gia bảo mật và Anthropic về mức độ cảnh báo mà nhà sản xuất cần cung cấp để người dùng không tự gây hại cho hệ thống của mình. Vấn đề này xoay quanh lỗ hổng bảo mật cho phép thực thi mã từ xa (remote code execution) chỉ với một cú nhấp chuột thông qua máy chủ MCP (Model Context Protocol) trong các công cụ như Claude Code, Gemini CLI, Cursor CLI và Copilot CLI.

Lỗ hổng TrustFall và nguy cơ từ kho mã độc

Công ty bảo mật Adversa AI đã công bố khái niệm chứng minh (PoC) mang tên TrustFall, cho thấy cách một kho lưu trữ mã (repository) bị sao chép có thể chứa hai tệp JSON (.mcp.json và .claude/settings.json). Những tệp này đóng vai trò như cánh cửa mở ra cho một máy chủ MCP do kẻ tấn công kiểm soát.

MCP servers cung cấp các công cụ, dữ liệu cấu hình, lược đồ và tài liệu cho các mô hình AI theo định dạng JSON thông qua một giao thức chuẩn. Tuy nhiên, lỗ hổng này xuất phát từ các hạn chế không nhất quán đối với phạm vi cài đặt. Anthropic đã chặn một số cài đặt nguy hiểm ở cấp độ dự án (như bypassPermissions), nhưng lại bỏ sót các cài đặt khác như enableAllProjectMcpServers và enabledMcpjsonServers.

Cơ chế hoạt động và tranh cãi về sự "tin tưởng"

Theo Adversa AI, ngay khi nhà phát triển nhấn Enter trên hộp thoại chung "Yes, I trust this folder" (Có, tôi tin tưởng thư mục này) của Claude Code, máy chủ sẽ được khởi chạy dưới dạng một quy trình Node.js không được sandbox (không cách ly) với đầy đủ quyền hạn của người dùng. Điều này diễn ra mà không cần sự đồng thuận cho từng máy chủ và không cần bất kỳ lệnh gọi công cụ nào từ Claude.

Kết quả có thể dự đoán là hệ thống bị xâm nhập. PoC đã chứng minh điều này hoạt động trên Claude Code CLI v2.1.114 tính đến ngày 2 tháng 5.

Alex Polyakov, đồng sáng lập Adversa AI, cho biết đây là lỗ hổng CVE thứ ba trong Claude Code trong sáu tháng qua xuất phát từ cùng một nguyên nhân gốc rễ (cài đặt phạm vi dự án làm vectơ tiêm mã). Mỗi lần bị lỗi đều được vá riêng lẻ nhưng lớp vấn đề cơ bản chưa được khắc phục triệt để.

Phía Anthropic cho rằng quyết định tin tưởng của người dùng đã đưa vấn đề này ra khỏi mô hình mối đe dọa của họ. Họ phân biệt rằng CVE-2025-59536 trước đó là một lỗ hổng vì nó kích hoạt tự động khi người dùng khởi động Claude Code trong một thư mục độc hại. Tuy nhiên, TrustFall bị coi là nằm ngoài phạm vi vì người dùng đã được hiển thị hộp thoại và đưa ra quyết định tin tưởng.

Thiếu sự đồng thuận có hiểu biết?

Adversa lập luận rằng quyết định của người dùng không phải là "sự đồng thuận có hiểu biết" (informed consent). Họ dẫn chứng một thông báo cảnh báo rõ ràng hơn từng tồn tại trước phiên bản v2.1 của Claude Code CLI nhưng sau đó đã bị loại bỏ.

Sergey Malenkovich từ Adversa viết: "Hộp thoại trước phiên bản 2.1 đã cảnh báo rõ ràng rằng .mcp.json có thể thực thi mã và đưa ra ba tùy chọn bao gồm 'tiếp tục với các máy chủ MCP bị vô hiệu hóa'. Trải nghiệm người dùng về sự đồng thuận có hiểu biết đó đã bị gỡ bỏ. Hộp thoại hiện tại mặc định là 'Có, tôi tin tưởng thư mục này' mà không có ngôn ngữ cụ thể nào về MCP, không liệt kê các tệp thực thi nào sẽ được tạo ra và không có tùy chọn từ chối MCP trong khi vẫn giữ phần còn lại của quyền tin tưởng."

Nguy cơ đối với hệ thống CI/CD và đề xuất giải pháp

Một biến thể nguy hiểm hơn là biến thể "zero-click" (không cần nhấp chuột) đối với các đường ống CI/CD triển khai Claude Code. Khi Claude Code được gọi trong CI/CD, điều này xảy ra thông qua SDK thay vì CLI tương tác, do đó không có lời nhắc trong terminal nào cả.

Adversa đề xuất Anthropic nên thực hiện ba thay đổi:

  1. Chặn enableAllProjectMcpServers, enabledMcpjsonServers và permissions.allow khỏi bất kỳ tệp cài đặt nào bên trong dự án.
  2. Triển khai hộp thoại đồng thuận MCP riêng biệt mặc định là "từ chối".
  3. Yêu cầu sự đồng thuận tương tác cho từng máy chủ thay vì cho tất cả cùng một lúc.

Cho đến nay, Anthropic chưa phản hồi yêu cầu bình luận về vấn đề này.

Chia sẻ:FacebookX
Nội dung tổng hợp bằng AI, mang tính tham khảo. Xem bài gốc ↗