Khi sử dụng AI để lập trình, việc tạo ra một ứng dụng hoàn chỉnh chỉ trong vài phút đã trở nên dễ dàng hơn bao giờ hết. Tuy nhiên, tốc độ phát triển nhanh cũng khiến nhiều lập trình viên bỏ qua những bước quan trọng như kiểm tra phân quyền, xác thực dữ liệu đầu vào, bảo vệ API và rà soát lỗ hổng trước khi triển khai ứng dụng lên production.
Để giải quyết vấn đề này, Cloudflare Security Audit Skill cung cấp một quy trình audit bảo mật mã nguồn thông qua coding agent. Công cụ hỗ trợ phân tích kiến trúc ứng dụng, tìm kiếm lỗ hổng tiềm ẩn, xác minh chéo các phát hiện và tạo báo cáo có cấu trúc.

Trong bài viết này, AnonyViet sẽ hướng dẫn bạn từng bước cài đặt, sử dụng Cloudflare Security Audit Skill và tích hợp kiểm tra bảo mật vào workflow vibe coding.
Repository chính thức: github.com/cloudflare/security-audit-skill
Cloudflare Security Audit Skill là gì?
Cloudflare Security Audit Skill là một skill mã nguồn mở dành cho các coding agent có khả năng sử dụng công cụ và điều phối các agent phụ. Nó giúp tự động hóa nhiều công đoạn trong quá trình đánh giá bảo mật mã nguồn, từ khảo sát kiến trúc đến xác minh phát hiện và tổng hợp báo cáo.
Thay vì chỉ yêu cầu AI đọc code rồi liệt kê những lỗi có thể xảy ra, quy trình này tổ chức việc audit thành nhiều giai đoạn. Những phát hiện được kiểm chứng dựa trên mã nguồn và bằng chứng liên quan, qua đó hạn chế các cảnh báo sai (false positive).
Tại sao người dùng vibe coding nên quan tâm?
Vibe coding là phương pháp phát triển phần mềm trong đó lập trình viên sử dụng AI để tạo hoặc chỉnh sửa phần lớn mã nguồn thông qua các yêu cầu bằng ngôn ngữ tự nhiên. Cách làm này giúp tăng tốc độ phát triển nhưng cũng có thể tạo ra những lỗ hổng khó nhận biết bằng các bài kiểm thử chức năng thông thường.
Ví dụ, một ứng dụng quản lý người dùng có thể hoạt động hoàn toàn bình thường nhưng vẫn gặp những vấn đề sau:
- Lỗi phân quyền: Người dùng thông thường có thể truy cập API dành riêng cho quản trị viên.
- SQL Injection: Dữ liệu đầu vào không được xử lý an toàn trước khi đưa vào truy vấn cơ sở dữ liệu.
- Rò rỉ thông tin: Khóa API, mật khẩu hoặc dữ liệu nhạy cảm xuất hiện trong mã nguồn hay log.
- Upload tệp không an toàn: Ứng dụng không kiểm tra đầy đủ loại tệp, quyền truy cập hoặc cách xử lý tệp được tải lên.
- Lỗi logic nghiệp vụ: Người dùng có thể bỏ qua điều kiện thanh toán, kiểm tra quyền sở hữu hoặc các bước xác nhận quan trọng.
- API thiếu kiểm soát: Các endpoint không có cơ chế xác thực, giới hạn truy cập hoặc kiểm tra dữ liệu phù hợp.
Security Audit Skill giúp coding agent tập trung tìm kiếm những vấn đề này theo một quy trình có hệ thống. Tuy nhiên, đây là công cụ hỗ trợ audit chứ không phải cam kết rằng ứng dụng sẽ hoàn toàn không có lỗ hổng.
Quy trình audit bảo mật 6 giai đoạn
Điểm đáng chú ý của Cloudflare Security Audit Skill là quy trình kiểm tra được chia thành sáu giai đoạn nhằm tăng độ bao phủ và độ tin cậy của kết quả.
1. Reconnaissance – Khảo sát kiến trúc
Ở giai đoạn đầu, coding agent phân tích cấu trúc repository, xác định các thành phần quan trọng, ranh giới tin cậy và những điểm tiếp nhận dữ liệu từ bên ngoài.
Ví dụ, với một ứng dụng web, AI cần nhận diện các tuyến API, cơ chế đăng nhập, chức năng quản trị, quyền truy cập dữ liệu và các dịch vụ bên thứ ba có liên quan.
2. Coverage-led Hunting – Tìm kiếm lỗ hổng
Các lượt kiểm tra tập trung vào những nhóm rủi ro khác nhau, chẳng hạn như injection, xác thực, phân quyền, mật mã, logic nghiệp vụ và các chuỗi khai thác kết hợp nhiều điểm yếu.
Cách tiếp cận này giúp hạn chế tình trạng chỉ kiểm tra một vài tệp dễ thấy mà bỏ qua những thành phần quan trọng khác trong ứng dụng.
3. Candidate Validation – Kiểm chứng phát hiện
Sau khi tìm thấy một vấn đề tiềm ẩn, quy trình tiếp tục kiểm tra xem phát hiện đó có thực sự tạo ra rủi ro bảo mật hay không.
Mục tiêu là xác định đường đi khai thác, điều kiện cần thiết và tác động thực tế. Những cảnh báo không đủ bằng chứng sẽ không nên được coi ngay là lỗ hổng đã xác nhận.
4. Structured Output – Xuất kết quả có cấu trúc
Các phát hiện được tổng hợp theo định dạng có cấu trúc để thuận tiện cho việc đọc, kiểm tra và xử lý tự động. Tùy phiên bản workflow, kết quả có thể sử dụng các trạng thái như:
- confirmed: Phát hiện đã được xác nhận.
- needs_validation: Phát hiện cần thêm bằng chứng hoặc kiểm tra.
- rejected: Phát hiện đã bị bác bỏ.
Các trạng thái này giúp lập trình viên phân biệt vấn đề có bằng chứng với những giả thuyết chưa được xác minh đầy đủ.
5. Independent Verification – Xác minh độc lập
Một lượt kiểm tra độc lập đối chiếu những khẳng định trong báo cáo với mã nguồn và bằng chứng liên quan. Mục đích là hạn chế kết luận thiếu cơ sở, nhầm lẫn về luồng dữ liệu hoặc đánh giá sai tác động của lỗ hổng.
6. Reporting – Tổng hợp báo cáo
Sau quá trình audit, công cụ có thể tạo các tệp báo cáo như:
- REPORT.md: Báo cáo tổng quan về kết quả audit.
- FINDINGS-DETAIL.md: Chi tiết các phát hiện và thông tin mã nguồn liên quan.
- NEEDS-VALIDATION.md: Những vấn đề cần tiếp tục xác minh.
- findings.json: Kết quả theo cấu trúc dữ liệu có thể được xử lý bằng công cụ khác.
Tên tệp và cấu trúc báo cáo có thể thay đổi theo phiên bản. Bạn nên kiểm tra README của repository để đối chiếu với kết quả thực tế.
Hướng dẫn cài đặt Cloudflare Security Audit Skill từng bước
Bước 1: Chuẩn bị môi trường
Trước tiên, bạn cần có môi trường chạy Node.js, npm hoặc npx, mã nguồn dự án và một coding agent tương thích với skill.
Tải Node.js từ trang chính thức:
Sau khi cài đặt, mở Terminal, PowerShell hoặc Command Prompt và chạy:
node -v npm -v
Nếu các lệnh trả về số phiên bản, môi trường Node.js và npm đã sẵn sàng.
Lưu ý: Có Node.js không đồng nghĩa với việc coding agent của bạn hỗ trợ đầy đủ khả năng điều phối nhiều agent phụ. Hãy kiểm tra yêu cầu tương thích trong tài liệu chính thức.
Bước 2: Cài đặt Security Audit Skill
Mở Terminal và chạy lệnh cài đặt theo hướng dẫn của Skills CLI:
npx skills add https://github.com/cloudflare/security-audit-skill --skill security-audit
Nếu muốn cài đặt ở phạm vi người dùng để sử dụng trên nhiều dự án, bạn có thể dùng tùy chọn toàn cục:
npx skills add https://github.com/cloudflare/security-audit-skill --skill security-audit --global
Bạn nên ưu tiên cài đặt theo dự án nếu muốn kiểm soát rõ phạm vi sử dụng. Cài đặt toàn cục phù hợp hơn khi thường xuyên thực hiện audit trên nhiều repository.
Trong quá trình cài đặt, hãy xem xét các thông báo xác nhận và kiểm tra nội dung được tải về. Nếu coding agent yêu cầu khởi động lại hoặc mở phiên làm việc mới để nhận skill, hãy làm theo tài liệu của agent đó.
Bước 3: Mở thư mục dự án cần kiểm tra
Giả sử mã nguồn nằm tại D:\Projects\my-ai-app. Trên Windows, mở PowerShell và chạy:
cd D:\Projects\my-ai-app git status
Trên macOS hoặc Linux, ví dụ thư mục dự án là ~/Projects/my-ai-app:
cd ~/Projects/my-ai-app git status
Hãy xác nhận bạn đang ở đúng repository trước khi bắt đầu. Nếu dự án có các thay đổi chưa hoàn thành, hãy sao lưu hoặc tạo điểm khôi phục phù hợp để tránh mất công việc hiện tại.
Nếu working tree sạch và bạn đã kiểm tra rằng repository không chứa thông tin bí mật, có thể tạo một commit làm mốc:
git add . git commit -m "checkpoint before security audit"
Không nên đưa khóa API, mật khẩu hoặc dữ liệu nhạy cảm vào Git. Nếu repository có thay đổi chưa được kiểm tra, đừng sử dụng lệnh trên một cách máy móc.
Bước 4: Chạy audit bằng coding agent
Mở coding agent tương thích trong thư mục dự án và yêu cầu:
security audit this codebase
Hoặc tập trung kiểm tra một thư mục cụ thể:
Find security vulnerabilities in ./src
Nếu muốn kiểm tra kỹ các thành phần quan trọng, hãy sử dụng prompt cụ thể hơn:
Perform a security audit of the authentication, authorization, API routes, file uploads, and database access in this codebase. Trace each potential vulnerability to the relevant source code. Distinguish confirmed findings from issues that need validation. Do not modify application source files.
Prompt này yêu cầu coding agent tập trung vào các khu vực có rủi ro cao và không tự ý sửa mã nguồn trong lượt kiểm tra ban đầu.
Tuy nhiên, prompt chỉ thể hiện ý định của bạn. Để thực sự bảo đảm mã nguồn không bị sửa đổi hoặc thực thi ngoài ý muốn, cần cấu hình quyền truy cập và môi trường chạy ở cấp công cụ hoặc hệ điều hành.
Bước 5: Kiểm tra kết quả audit
Sau khi hoàn thành, hãy mở REPORT.md nếu tệp này được tạo ra. Tiếp theo, đọc báo cáo chi tiết và dữ liệu JSON để xem xét từng phát hiện.
Với mỗi vấn đề, hãy trả lời các câu hỏi sau:
- Tệp và vị trí mã nguồn nào liên quan đến vấn đề?
- Dữ liệu đầu vào hoặc hành động nào có thể kích hoạt vấn đề?
- Cơ chế xác thực hoặc phân quyền nào bị thiếu hay triển khai sai?
- Tác động thực tế nếu vấn đề bị khai thác là gì?
- Có bằng chứng đủ mạnh để xác nhận phát hiện không?
- Cần sửa lỗi và kiểm thử hồi quy như thế nào?
Không nên chỉ dựa vào nhãn mức độ nghiêm trọng do AI đưa ra. Một cảnh báo chỉ có giá trị khi có bằng chứng phù hợp và tác động được phân tích rõ ràng.
Bước 6: Sửa các lỗ hổng đã xác nhận
Sau khi phân loại kết quả, hãy ưu tiên xử lý các vấn đề có tác động cao như lỗi phân quyền, truy cập dữ liệu trái phép, thực thi mã hoặc rò rỉ thông tin xác thực.
Bạn có thể yêu cầu coding agent đề xuất phương án sửa lỗi trước:
Review the confirmed security findings. For each finding, explain the root cause, the affected trust boundary, the proposed fix, and the regression tests needed. Do not modify any files until I approve the plan.
Chỉ tiến hành sửa sau khi đã xem xét phương án. Với các thay đổi liên quan đến xác thực, thanh toán hoặc dữ liệu nhạy cảm, nên sửa từng nhóm vấn đề và kiểm thử kỹ thay vì yêu cầu AI viết lại toàn bộ ứng dụng.
Bước 7: Audit lại sau khi sửa lỗi
Sau khi áp dụng bản sửa, hãy chạy lại quy trình audit để xác nhận vấn đề cũ đã được giải quyết và kiểm tra xem có lỗi mới phát sinh hay không.
Security audit this codebase again. Verify whether the previous confirmed findings have been fixed in the current source code. Check for regressions and newly introduced vulnerabilities. Keep unresolved findings separate from confirmed findings.
Không nên coi việc mã nguồn vượt qua một lượt audit là bằng chứng tuyệt đối về độ an toàn. Kết quả cần được kết hợp với kiểm thử tự động, rà soát dependency và đánh giá cấu hình triển khai.
Cách tích hợp Security Audit Skill vào workflow vibe coding
Nếu thường xuyên dùng AI để phát triển ứng dụng, bạn nên đưa bước audit vào quy trình làm việc thay vì chỉ kiểm tra khi ứng dụng gặp sự cố.
- Lập trình: Sử dụng coding agent để xây dựng hoặc chỉnh sửa tính năng.
- Kiểm thử: Chạy unit test, integration test và các bài kiểm tra chất lượng.
- Audit bảo mật: Kiểm tra mã nguồn bằng Security Audit Skill.
- Xử lý phát hiện: Sửa các lỗ hổng đã xác nhận và điều tra các vấn đề chưa đủ bằng chứng.
- Audit lại: Xác minh bản sửa và kiểm tra nguy cơ hồi quy.
- Đánh giá trước triển khai: Kiểm tra secrets, dependency, cấu hình máy chủ và quyền truy cập.
- Deploy: Chỉ phát hành khi các yêu cầu bảo mật bắt buộc đã được đáp ứng.
Nếu sử dụng GitHub Actions hoặc một hệ thống CI/CD khác, bạn có thể thiết kế bước audit khi tạo pull request. Việc này cần cấu hình phù hợp với coding agent, quyền truy cập repository, môi trường thực thi và chính sách bảo mật.
Đừng mặc định rằng cài skill đồng nghĩa với việc quy trình CI/CD đã tự động chạy. Hãy kiểm tra và thử nghiệm cơ chế kích hoạt trước khi áp dụng cho dự án thực tế.
Những lưu ý bảo mật khi sử dụng AI audit
Không chạy mã nguồn không tin cậy trong môi trường có quyền cao
Repository có thể chứa script cài đặt, bộ kiểm thử hoặc mã thực thi không an toàn. Nếu coding agent có quyền chạy các thành phần này, chúng có thể truy cập tài nguyên mà tài khoản đang sử dụng được phép truy cập.
Nên sử dụng sandbox được kiểm soát ở cấp hệ điều hành, hạn chế quyền ghi, giới hạn kết nối mạng và chỉ cấp quyền truy cập vào các thư mục cần thiết. Nếu không bảo đảm được môi trường thực thi an toàn, hãy tránh tự động chạy mã nguồn không tin cậy.
Bảo vệ API key và dữ liệu nhạy cảm
Trước khi bắt đầu, hãy kiểm tra quyền truy cập của coding agent đối với các tệp như .env, khóa API, thông tin xác thực cơ sở dữ liệu, dữ liệu khách hàng và thư mục nằm ngoài repository.
Không đưa bí mật vào prompt hoặc báo cáo chia sẻ công khai. Ưu tiên môi trường thử nghiệm với dữ liệu giả lập và cơ chế quản lý secrets phù hợp.
Không bỏ qua trạng thái cần xác minh
Những phát hiện ở trạng thái needs_validation vẫn có thể đại diện cho rủi ro đáng kể. Trạng thái này chỉ cho biết chưa có đủ bằng chứng để đưa ra kết luận cuối cùng.
Đối với hệ thống xử lý tiền, dữ liệu cá nhân hoặc dịch vụ quan trọng, hãy phân công kiểm tra và giải quyết các vấn đề này trước khi phát hành.
Câu hỏi thường gặp về Cloudflare Security Audit Skill
Cloudflare Security Audit Skill có miễn phí không?
Repository được công khai dưới giấy phép MIT. Tuy nhiên, chi phí sử dụng coding agent, API của mô hình AI và hạ tầng chạy audit có thể phát sinh tùy môi trường của bạn.
Security Audit Skill có tự động sửa lỗ hổng không?
Quy trình audit chủ yếu tập trung vào việc tìm kiếm, xác minh và báo cáo các vấn đề bảo mật. Bạn có thể yêu cầu coding agent đề xuất hoặc thực hiện bản sửa, nhưng nên xem xét thay đổi và kiểm thử lại trước khi đưa vào production.
Công cụ có loại bỏ hoàn toàn false positive không?
Không. Việc xác minh chéo giúp giảm cảnh báo sai nhưng không bảo đảm loại bỏ hoàn toàn. Mỗi phát hiện quan trọng vẫn cần được đánh giá dựa trên mã nguồn, điều kiện khai thác và tác động thực tế.
Có thể sử dụng Security Audit Skill cho mọi dự án AI coding không?
Công cụ có thể hỗ trợ nhiều loại dự án mã nguồn, nhưng hiệu quả phụ thuộc vào ngôn ngữ lập trình, cấu trúc ứng dụng, khả năng của coding agent và mức độ tương thích với workflow. Bạn nên thử nghiệm trên một repository nhỏ trước khi tích hợp rộng rãi.
Chạy audit có đồng nghĩa ứng dụng đã an toàn để deploy?
Không. Audit mã nguồn là một lớp bảo vệ. Trước khi triển khai, bạn vẫn cần kiểm tra cấu hình máy chủ, phân quyền, dependency, secrets, môi trường chạy và các yêu cầu bảo mật riêng của ứng dụng.
Kết luận
Cloudflare Security Audit Skill mang đến một cách tiếp cận có hệ thống để kiểm tra bảo mật cho các dự án được xây dựng nhanh bằng AI. Quy trình từ khảo sát kiến trúc, tìm kiếm lỗ hổng, xác minh chéo đến tổng hợp báo cáo giúp lập trình viên có thêm cơ sở để đánh giá rủi ro trước khi triển khai.
Nếu thường xuyên sử dụng vibe coding, hãy tích hợp bước audit vào quy trình phát triển ngay từ đầu. Kết hợp công cụ này với kiểm thử tự động, quản lý secrets, cập nhật dependency và đánh giá cấu hình triển khai sẽ giúp giảm nguy cơ đưa lỗi bảo mật lên production.
Tham khảo:














