Cloudflare Security Audit Skill: trợ lý kiểm tra bảo mật mã nguồn

Cloudflare Security Audit Skill: trợ lý kiểm tra bảo mật mã nguồn - 1

AI Coding Agent ngày càng làm được nhiều việc hơn: viết code, sửa bug, refactor hay chạy test. Nhưng khi chuyển sang kiểm tra bảo mật, chỉ đơn giản yêu cầu AI “tìm lỗ hổng trong project này” thường chưa đủ. Kết quả dễ bị bỏ sót, thiếu bằng chứng hoặc nghiêm trọng hơn là báo ra những vấn đề tưởng như nguy hiểm nhưng thực tế không thể khai thác.

Security Audit Skill của Cloudflare được xây dựng để giải quyết đúng vấn đề đó. Đây là một skill dành cho coding agent, biến agent thành một quy trình kiểm toán bảo mật có cấu trúc, với nhiều bước từ khảo sát codebase, tìm kiếm lỗ hổng, kiểm chứng độc lập cho đến xuất báo cáo cuối cùng.

Điểm thú vị là đây không chỉ là một prompt dài. Security Audit Skill chính là nền tảng ban đầu mà Cloudflare sử dụng để phát triển hệ thống vulnerability discovery harness quy mô lớn hơn của họ. Vì vậy cách tiếp cận của project khá gần với một quy trình security review thực tế hơn là kiểu “ném source code cho AI rồi chờ kết quả”.

Security Audit Skill hoạt động như thế nào?

Toàn bộ quá trình audit được chia thành sáu giai đoạn.

Đầu tiên là Reconnaissance. Agent sẽ tìm hiểu kiến trúc project, trust boundary, các điểm nhận input và những khu vực có khả năng trở thành attack surface. Kết quả được lưu thành các tài liệu như architecture.md và coverage-ledger.json.

Sau đó đến giai đoạn Coverage-led hunting. Thay vì để một agent tự đọc toàn bộ project theo kiểu ngẫu nhiên, công việc được chia thành các khu vực cụ thể để nhiều agent độc lập kiểm tra. Một nhóm khác còn có nhiệm vụ tìm những vùng chưa được kiểm tra đầy đủ.

Nếu phát hiện một lỗ hổng tiềm năng, Security Audit Skill không lập tức coi đó là vulnerability. Candidate sẽ được chuyển cho một agent mới để cố gắng bác bỏ nó. Đây là một trong những điểm mình thích nhất ở thiết kế của project: agent tìm lỗi và agent xác minh lỗi không phải cùng một agent.

Các phát hiện sau đó được đưa về ba trạng thái rõ ràng:

confirmed dành cho vấn đề đã có đầy đủ đường dẫn từ source code đến tác động thực tế.

needs_validation dành cho những nghi vấn có cơ sở nhưng vẫn còn một yếu tố chưa thể xác minh.

rejected dành cho những candidate đã được kiểm tra và chứng minh là không phải vulnerability.

Cuối cùng, các agent độc lập tiếp tục kiểm tra lại bằng chứng trước khi tạo các báo cáo như REPORT.md, FINDINGS-DETAIL.md và NEEDS-VALIDATION.md.

Không chỉ kiểm tra web application

Một điểm đáng chú ý khác là phạm vi audit khá rộng.

Repository có sẵn các nhóm hướng dẫn riêng cho memory safety, binary và kernel; ứng dụng AI/LLM; HTTP và authentication; browser/client-side; supply chain và CI/CD; cloud deployment; RPC và messaging; resource exhaustion; data isolation; desktop/mobile app và local IPC.

Điều này có nghĩa Security Audit Skill không chỉ phù hợp với một website đơn giản. Một project Next.js, API backend, SaaS nhiều tenant, hệ thống dùng LLM hay thậm chí native application đều có thể sử dụng cùng một workflow, sau đó agent lựa chọn attack class phù hợp với codebase.

Đặc biệt với các ứng dụng AI hiện nay, project còn có riêng nhóm kiểm tra liên quan đến prompt injection, agent/tool interaction và xử lý output của LLM.

Cài đặt Security Audit Skill

Project sử dụng Skills CLI nên cách cài khá đơn giản.

npx skills add https://github.com/cloudflare/security-audit-skill \
  --skill security-audit

Nếu muốn cài ở mức global để dùng cho nhiều project:

npx skills add https://github.com/cloudflare/security-audit-skill \
  --skill security-audit \
  --global

Bạn cũng có thể chạy:

npx skills --help

để xem thêm các tùy chọn liên quan đến lựa chọn agent hoặc chế độ non-interactive.

Cách sử dụng

Sau khi cài xong, mở coding agent tại project cần kiểm tra rồi yêu cầu audit bằng ngôn ngữ tự nhiên.

Ví dụ:

security audit this codebase

Hoặc giới hạn phạm vi:

find security vulnerabilities in ./src

Nếu muốn chỉ định nơi lưu báo cáo:

do a security review, output to ~/audits/my-project

Skill có cơ chế trigger tự động khi nhận ra các yêu cầu như security audit, tìm vulnerability hoặc pentest codebase.

Nếu yêu cầu audit trực tiếp toàn bộ project, workflow sẽ chạy theo full audit mode. Những câu hỏi bảo mật nhỏ hoặc yêu cầu kiểm tra một vấn đề cụ thể thường chỉ chạy ở guidance mode, trừ khi bạn yêu cầu tạo đầy đủ report artifact.

Khi không chỉ định output directory, full audit mặc định tạo thư mục dạng:

~/security-audit-skill/<repo-name>/run-<N>

Cách này khá hợp lý vì báo cáo security thường không nên vô tình bị commit vào repository chính.

Vì sao workflow này đáng chú ý?

Điểm mạnh nhất của Security Audit Skill không nằm ở việc AI “thông minh hơn”, mà ở cách tổ chức quá trình suy luận.

Một vulnerability chỉ được xác nhận khi có bằng chứng rõ ràng về việc vượt qua security boundary. Nếu vẫn còn một mắt xích chưa chứng minh được, nó được giữ ở trạng thái needs_validation thay vì cố gán severity.

Project cũng phân biệt khá rõ giữa vulnerability thực sự và một thiếu sót mang tính defense-in-depth. Nếu lớp bảo vệ A đã ngăn được attack thì việc thiếu lớp bảo vệ B không tự động trở thành một vulnerability.

Ngoài ra, Cloudflare còn khuyến khích chạy audit nhiều lần. Theo các thử nghiệm được ghi trong repository, một lần chạy chỉ tìm thấy khoảng một nửa số vulnerability mà nhiều lần chạy cộng lại có thể phát hiện. Các lần chạy sau có thể sử dụng kết quả trước đó để tập trung vào những vùng coverage còn thiếu hoặc source code đã thay đổi.

Một vài điểm cần lưu ý

Security Audit Skill không phải kiểu công cụ cài xong rồi chạy trên bất kỳ AI chat nào cũng được.

Coding agent cần hỗ trợ tool use và parallel sub-agent. Node.js cũng cần thiết để chạy các validator kiểm tra findings.json và coverage-ledger.json.

Quan trọng hơn, Cloudflare yêu cầu một sandbox được hệ điều hành kiểm soát nếu agent cần thực thi code của project. Sandbox nên tắt external network, giới hạn environment variable, tài nguyên và quyền ghi file. Nếu không đảm bảo được các điều kiện này, workflow sẽ không chạy target code để xác minh mà giữ phát hiện ở trạng thái needs_validation.

Đây thực ra là một quyết định khá đúng đắn. Cho một coding agent tự động chạy code chưa được tin cậy trong môi trường máy thật là một rủi ro bảo mật mới ngay trong chính quá trình tìm lỗ hổng.

Security Audit Skill phù hợp với ai?

Nếu chỉ đang làm một landing page nhỏ, project này có thể hơi quá sức cần thiết.

Nhưng với developer hoặc team đang làm SaaS, API, hệ thống authentication, ứng dụng AI, infrastructure hoặc những project có nhiều dữ liệu người dùng, Security Audit Skill khá đáng để thử.

Nó cũng đặc biệt thú vị với những người đã dùng Claude Code, Codex hoặc các coding agent theo workflow nhiều agent. Thay vì thêm một prompt kiểu “hãy review security thật kỹ”, bạn có một quy trình rõ ràng gồm reconnaissance → hunting → validation → verification → reporting.

Và đó có lẽ cũng là giá trị lớn nhất của project này: AI không chỉ được giao nhiệm vụ tìm bug, mà được đặt vào một quy trình buộc nó phải chứng minh rằng bug đó thực sự tồn tại.

Repository: https://github.com/cloudflare/security-audit-skill

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *