Sản phẩm
Anthropic ra mắt plugin bảo mật cho Claude Code: Công cụ quét lỗ hổng đa tác nhân ngay tại terminal
(giờ Việt Nam)
Tóm tắt AI
Anthropic vừa giới thiệu bản beta của plugin bảo mật cho Claude Code, cho phép quét lỗ hổng đa tác nhân trực tiếp trong terminal và tự động tạo các bản vá để người dùng kiểm duyệt.
Bản dịch AI

Anthropic đã phát hành plugin Claude Security cho Claude Code ở phiên bản beta. Plugin này thực hiện quét lỗ hổng bảo mật đa tác nhân (multi-agent) trên kho lưu trữ ngay từ bên trong phiên bản Claude Code hiện tại, sau đó chuyển đổi các kết quả tìm thấy mà bạn chọn thành các tệp bản vá (patch files) để bạn tự xem xét và áp dụng. Khi công bố, Anthropic nhấn mạnh tính linh hoạt của công cụ này, làm nổi bật khả năng quét toàn diện trên toàn bộ cơ sở mã hoặc kiểm tra các thay đổi từ terminal ngay trước khi thực hiện commit.
Plugin này bổ sung những gì
Plugin bổ sung một lệnh duy nhất là /claude-security, lệnh này mở ra một menu gồm ba tác vụ theo tài liệu chính thức:
Việc cài đặt được thực hiện bằng hai lệnh từ marketplace chính thức của Anthropic:
Nếu không tìm thấy marketplace, hãy chạy lệnh /plugin marketplace add anthropics/claude-plugins-official trước. Mã nguồn của plugin được công khai trong kho lưu trữ claude-plugins-official, hiện đang ở phiên bản 0.10.0.
Cấu trúc quy trình quét (scan pipeline)
Quá trình quét được triển khai dưới dạng một quy trình làm việc động (dynamic workflow) — một tập lệnh điều phối JavaScript phân bổ công việc cho các tác nhân phụ (subagents). Tập lệnh này xác định sáu giai đoạn:
Giai đoạn nghiên cứu (Research) chạy dựa trên bốn danh mục cố định: injection-and-input, auth-and-access, memory-and-unsafe, và crypto-and-secrets. Bộ lọc memory-and-unsafe sẽ bị loại bỏ đối với các thành phần được viết hoàn toàn bằng các ngôn ngữ an toàn về bộ nhớ, vì vậy một thành phần thuần Python hoặc TypeScript sẽ chỉ nhận được ba bộ lọc thay vì bốn.
Quy mô hoạt động của một lần quét được quyết định bởi bốn cấp độ nỗ lực khác nhau: low (thấp), medium (trung bình), high (cao) và max (tối đa). Tùy thuộc vào cấp độ được chọn, các ngưỡng cụ thể sẽ được áp dụng: số lượng thành phần tối đa được giới hạn ở mức 12 cho cấp độ low và medium, tăng lên 24 cho cấp độ high và max; các ô ma trận được gán 1 nhà nghiên cứu, tăng lên 2 ở cấp độ high và max; và số lượng lượt quét bù đắp (gap-fill sweeps) tăng từ 0 ở mức low, lên 1 ở mức medium, và tối đa là 2 cho mức high và max. Khi xử lý phạm vi giới hạn hoặc một diff nhỏ, quy trình sẽ cô đọng thành cấu hình một nhà nghiên cứu thay vì triển khai toàn bộ ma trận. Điều này đảm bảo việc đánh giá luôn tương xứng với mục tiêu trong khi vẫn duy trì tiêu chuẩn xác minh đồng nhất.
Hệ thống sử dụng các tác nhân theo cấp độ mô hình: trình điều phối (orchestrator) chạy trên Opus, trong khi trình lập bản đồ kho lưu trữ (repository cartographer) và trình khám phá mã chỉ đọc (read-only code explorer) chạy trên Sonnet. Hơn nữa, mô hình phiên làm việc được kế thừa bởi các nhà nghiên cứu và người xác minh, và các tác nhân quét bị giới hạn chỉ được sử dụng các công cụ chỉ đọc.
Cách một kết quả tìm thấy được đưa vào báo cáo
Đây là phần cần hiểu kỹ. Một kết quả tìm thấy tiềm năng không được đưa vào báo cáo chỉ vì một nhà nghiên cứu tìm thấy nó. Nó chỉ được đưa vào sau khi vượt qua một hội đồng thẩm định.
Mỗi ứng viên được chuyển cho ba người xác minh độc lập, mỗi người phụ trách một khía cạnh: REACHABILITY (khả năng tiếp cận), IMPACT (tác động) và DEFENSES (phòng thủ). Mỗi người đưa ra một phán quyết có cấu trúc là TRUE_POSITIVE (dương tính thật) hoặc FALSE_POSITIVE (dương tính giả) kèm theo một hoặc hai dòng chỉ rõ tệp:dòng quyết định. Số phiếu cần thiết để giữ lại là 2 trên 3. Nếu có ít hơn ba người bỏ phiếu, ứng viên đó sẽ không được giữ lại.
Kết quả của hội đồng cũng giới hạn mức độ tin cậy của kết quả tìm thấy. Một hội đồng đồng thuận 3/3 cho phép mức độ tin cậy tối đa là high; tỷ lệ 2/3 giới hạn ở mức medium. Một kết quả tìm thấy không thể khẳng định mức độ tin cậy cao hơn mức mà quá trình xác minh đạt được.
Quan trọng là, việc kiểm đếm được thực hiện bằng Python bởi trình kết xuất báo cáo (report renderer), chứ không phải do mô hình tạo ra kết quả đó khẳng định. verification.status của dấu xác nhận sửa đổi chỉ được đặt thành verified khi hồ sơ bỏ phiếu chứng minh rằng hội đồng đã thực hiện cho mọi kết quả trong báo cáo; nếu không, nó sẽ ở trạng thái unverified kèm theo lý do cụ thể. Điều đó làm cho chính báo cáo trở thành thứ bạn có thể kiểm chứng thay vì phải tin tưởng hoàn toàn.
Những gì quá trình quét ghi vào đĩa
Mỗi lần quét sẽ ghi một thư mục CLAUDE-SECURITY-<timestamp>/ có gắn dấu thời gian vào kho lưu trữ, chứa ba thành phần:
Thư mục đó là thay đổi duy nhất mà quá trình quét thực hiện đối với checkout của bạn và nó đi kèm với tệp.gitignore riêng để tránh việc git add vô tình đưa báo cáo vào một commit. Việc xóa tệp.gitignore đó cho phép bạn commit báo cáo để phục vụ mục đích kiểm toán.
Các bản vá và ba yêu cầu mà mỗi bản vá phải đạt được
Tác vụ sửa lỗi phát triển từng bản vá trong một bản sao tạm thời (scratch clone) của kho lưu trữ, vì vậy cây làm việc (working tree) và chỉ mục (index) của bạn không bao giờ bị ảnh hưởng. Một tác nhân độc lập với tác nhân đã viết bản vá sau đó sẽ xem xét diff đã được staged và chạy bộ kiểm thử (test suite) của dự án đối với thay đổi đó.
Một tệp bản vá chỉ được ghi lại nếu người xác minh có thể khẳng định chắc chắn cả ba điều sau: thay đổi giải quyết được kết quả tìm thấy đó, nó không tạo ra lỗ hổng mới và hành vi của hệ thống không thay đổi — trong đó việc thay đổi các đầu vào mà mã chấp nhận được tính là thay đổi hành vi. Bất kỳ thay đổi nào làm suy yếu bảo mật trong khi tuyên bố sửa lỗi, chẳng hạn như nới lỏng kiểm tra xác thực hoặc vô hiệu hóa kiểm thử, đều bị từ chối tự động. Khi người xác minh không thể đảm bảo cả ba điều trên, bạn sẽ nhận được một ghi chú ngắn giải thích lý do thay vì một bản vá.
Các bản vá nằm trong thư mục patches/ của báo cáo dưới dạng F<n>.patch. Không có gì được áp dụng tự động:
Ghi chú bản vá chỉ rõ liệu có kiểm thử nào trong kho lưu trữ bao phủ mã đã sửa đổi hay không, làm rõ rằng việc xác minh dựa trên đánh giá mã thay vì thực thi kiểm thử. Anthropic gợi ý rằng mỗi bản vá nên được áp dụng bằng cách sử dụng một pull request riêng biệt.
Yêu cầu, chi phí và mô hình tin cậy
Plugin yêu cầu gói trả phí với Claude Code v2.1.154 trở lên, với các quy trình làm việc động (dynamic workflows) được bật trong /config. Nó cũng cần Python 3.9.6 trở lên trên PATH của bạn dưới dạng python3 (chỉ sử dụng thư viện tiêu chuẩn) và Git để quét thay đổi và vá lỗi. Linux, macOS và Windows đều được hỗ trợ, và các lần quét sẽ được tính vào giới hạn token của gói dịch vụ của bạn.
Chạy trong phiên làm việc của bạn dưới quyền hạn của bạn, quá trình quét không thêm bất kỳ sự cô lập nào, nghĩa là các cài đặt.claude/, hooks và CLAUDE.md đã commit vẫn được áp dụng. Mặc dù nó coi nội dung kho lưu trữ là dữ liệu thay vì hướng dẫn, đây không phải là biện pháp phòng thủ chống lại các kho lưu trữ độc hại; hãy sử dụng sandbox-runtime để chạy các cơ sở mã không quen thuộc trong môi trường sandbox.
Ngoài ra, các lần quét có tính chất không xác định (nondeterministic) và không thay thế cho phân tích tĩnh truyền thống, quét phụ thuộc hoặc đánh giá mã.
Vị trí trong ngăn xếp công nghệ
Những điểm chính cần lưu ý
Nguồn: Tài liệu plugin Claude Security, trang sản phẩm Claude Security, nguồn plugin, claude-plugins-official, thông báo @claudeai và blog về bản beta công khai của Claude Security.

Michal Sutter là một chuyên gia khoa học dữ liệu với bằng Thạc sĩ Khoa học Dữ liệu từ Đại học Padova. Với nền tảng vững chắc về phân tích thống kê, học máy và kỹ thuật dữ liệu, Michal xuất sắc trong việc chuyển đổi các tập dữ liệu phức tạp thành những thông tin chi tiết có thể hành động được.
Bài viết được AI dịch và tổng hợp tự động từ MarkTechPost. Liên kết bài gốc ở phía trên. AIHOT.vn luôn dẫn nguồn đầy đủ — nếu bạn thấy điểm cần chỉnh sửa, hãy gửi ý kiến tại trang phản hồi.