Cloudflare Security Audit

Bộ skill rà soát bảo mật mã nguồn cho coding agent, sử dụng cơ chế phản biện đối kháng và sandbox cách ly khi phát triển phần mềm với AI.

Cloudflare Security Audit
Tóm tắt bằng:ChatGPTPerplexityGrokClaude

Cloudflare Security Audit: Rà soát bảo mật mã nguồn cho coding agent

Khi dùng Cursor hay Claude Code để lập trình, lượng code sinh ra mỗi ngày rất lớn. Nếu chỉ dùng các câu prompt nhờ AI review chung chung, bạn sẽ gặp hai phiền toái quen thuộc: cảnh báo giả tràn lan, hoặc AI tự vẽ ra những lỗ hổng không có thật rồi khăng khăng bảo vệ giả thuyết đó.

Security Audit Skill là công cụ do nhóm nghiên cứu bảo mật tại Cloudflare (Dan Jones, Alexandra Godoi, Grant Bourzikas) phát triển. Ban đầu dự án chỉ là một skill khoảng 450 dòng mã chạy trên từng repo riêng lẻ, sau đó được mở rộng và áp dụng trên hơn 140 dịch vụ nội bộ của Cloudflare (từ proxy mạng, DNS cho đến backend phân tán), phát hiện hơn 13.000 vấn đề bảo mật thực tế.

Bộ kit giúp coding agent tự động rà soát và phát hiện các lỗi bảo mật trên toàn bộ codebase trước khi bạn merge code hoặc đưa lên production.


1. Các nhóm lỗ hổng được rà soát

Bộ skill không chỉ kiểm tra vài lỗi bề mặt mà phân chia kiểm tra theo từng module cụ thể trong ATTACK-CLASSES.md:

Nhóm kiểm tra Vấn đề trọng tâm Tài liệu quy chuẩn
Web & API Xử lý header HTTP, request smuggling, xác thực JWT/session, SSRF, IDOR, phân quyền. WEB-PROTOCOL-AND-AUTH.md
Bộ nhớ & Hệ thống Quản lý bộ nhớ trong C/C++/Rust/Go, tràn bộ đệm, con trỏ treo, tương tác kernel. MEMORY-SAFETY-AND-BINARY.md
Client-side DOM XSS, prototype pollution, kiểm tra origin postMessage, lộ secret trong bundle trình duyệt. CLIENT-SIDE.md
Hạ tầng & CI/CD Cấu hình pipeline CI/CD, dependency injection, phân quyền IAM, rò rỉ secret trong file IaC. SUPPLY-CHAIN-AND-RELEASE.md
Ứng dụng AI & MCP Lỗi tiêm nhiễm gián tiếp qua tool/RAG, lệch pha schema của tool, rò rỉ dữ liệu giữa các tenant, nhầm lẫn máy chủ MCP. AI-AND-LLM.md

2. Quy trình rà soát đối kháng

Điểm khác biệt trong thiết kế của Cloudflare là quy tắc: agent tìm ra lỗ hổng không bao giờ là agent thẩm định lại lỗ hổng đó.

[!NOTE] Bài viết nghiên cứu ban đầu của Cloudflare mô tả quy trình 7 pha vì có thêm bước nạp dữ liệu lên dashboard nội bộ. Bản mã nguồn mở này đã tinh gọn thành 6 pha chạy cục bộ độc lập, không phụ thuộc dịch vụ ngoài.

Quy trình rà soát bảo mật đối kháng 6 pha Cloudflare
Quy trình rà soát bảo mật đối kháng 6 pha Cloudflare

Quy trình phối hợp qua 4 bước:

  • Trinh sát và lập sổ cái: Quét cấu trúc repo, xác định ranh giới tin cậy và lập danh mục kiểm thử xác định trong file coverage-ledger.json.
  • Săn lỗi độc lập (Hunter): Mỗi Hunter chỉ nhận một phạm vi hẹp từ sổ cái, kiểm tra mã nguồn và ghi nhận các điểm nghi vấn vào thư mục scratch/.
  • Phản biện độc lập (Verifier): Một agent Verifier mới toanh vào cuộc với mục tiêu tìm cách bác bỏ phát hiện của Hunter bằng code thực tế, giúp loại bỏ cảnh báo giả.
  • Phân loại và xuất báo cáo: Kết quả được chia rõ thành confirmed (đã xác thực kèm test case), needs_validation (cần môi trường staging kiểm tra thêm), và rejected (đã bị bác bỏ).

3. Cơ chế sandbox cách ly

Khi để coding agent tự động chạy test hoặc dựng kịch bản tái hiện lỗi, nếu không có cơ chế cách ly thì rủi ro làm hỏng máy dev hoặc lộ secret là rất lớn. Bộ skill áp dụng 3 quy tắc an toàn:

  • Khóa hoàn toàn mạng ngoài: Môi trường test không có kết nối Internet, chỉ cho phép kết nối loopback nội bộ khi cần kiểm tra giao tiếp client-server.
  • Mã nguồn chỉ đọc, file tạm ghi vào scratch: Repository gốc luôn ở chế độ read-only. Agent chỉ được tạo file tạm trong scratch/<agent-id>/. Thư mục lưu kết quả chính thức artifacts/ do tiến trình cha quản lý độc quyền.
  • Kiểm định file trước khi lưu kết quả: Để chuyển file bằng chứng từ scratch/ sang artifacts/, hệ thống kiểm tra qua file descriptor (fstat), từ chối symlink, giới hạn dung lượng và chặn hoàn toàn các socket hay đường ống FIFO.

4. Cài đặt và sử dụng

Bạn có thể dùng bộ skill này với Cursor, Claude Code, Windsurf hoặc bất kỳ công cụ nào hỗ trợ chuẩn SKILL.md.

Cách 1: Cài đặt qua Skills CLI

Cài đặt bằng URL kho mã nguồn và tham số --skill:

# Cài đặt cho workspace hiện tại
npx skills add https://github.com/cloudflare/security-audit-skill --skill security-audit

# Hoặc cài đặt dùng chung cho toàn máy
npx skills add https://github.com/cloudflare/security-audit-skill --skill security-audit --global

Cách 2: Tải thủ công vào dự án

git clone https://github.com/cloudflare/security-audit-skill.git .agents/skills/security-audit

[!IMPORTANT] Mặc định skill sẽ lưu kết quả ra ngoài thư mục dự án tại ~/security-audit-skill/<repo-name>/run-<N>. Nếu muốn ghi trực tiếp trong repo, bạn cần thêm đường dẫn đó vào .gitignore để tránh agent quét lại chính những file báo cáo vừa tạo.

Câu lệnh chạy rà soát

Trong cửa sổ chat với coding agent, bạn chạy câu lệnh:

Run a comprehensive security audit on this repository using the security-audit-skill workflow.
Focus on:
1. Input surfaces, trust boundaries, and deterministic ledger creation (Phase 1 Recon).
2. Relevant attack classes based on our tech stack (web APIs, memory safety, auth, dependencies).
3. Validate all candidate findings adversarially before generating final reports.

Kết quả sau khi chạy

Hệ thống sẽ tạo 3 tài liệu chính:

  • REPORT.md: Báo cáo tóm tắt phạm vi kiểm thử và tỷ lệ bao phủ code.
  • FINDINGS-DETAIL.md: Danh sách lỗ hổng đã xác thực (confirmed) kèm đoạn mã nguồn và phương án sửa lỗi.
  • NEEDS-VALIDATION.md: Các điểm nghi vấn cần kiểm tra lại trên môi trường staging hoặc production.
|Chia sẻ:

Liên kết