懶惰之最|GitHub 實測

AI 資安報告寫「檢查通過」,內容就是真的嗎?實測 Cloudflare 的查漏洞技能包

重點摘要

  • cloudflare/security-audit-skill 的格式檢查器自帶 65 項測試,全數通過,約 0.4 秒。
  • 嚴重度寫 critical 但已證明影響只有 medium 的報告,被檢查器退回。
  • 證據路徑寫成 ../../etc/passwd 的報告被擋下。
  • 證據指向不存在的檔案、實測結果只寫「Trust me, it happened.」的報告,檢查器仍回 PASS。
  • 結論: 檢查器只驗格式,不驗內容真假;通過不代表漏洞是真的。
  • 適合: 想讓 AI 審查報告格式一致、避免嚴重度灌水的人
  • 不適合: 把「檢查通過」當成「漏洞已被證實」的人
實測項目 結果
自帶測試 65 項、65 通過、0 失敗,約 0.4 秒
嚴重度灌水 被退回
路徑逃出專案資料夾 被擋下
編造證據位置與結果 通過
AI 查證員階段 未測

假設你請 AI 幫公司網站做資安檢查,它交回一份報告,寫著「發現嚴重漏洞」,旁邊還附一句「已通過檢查器驗證」。你會直接拿去給老闆看嗎?

Cloudflare 公開了一套叫 security-audit 的技能包(MIT 授權,約 4.5 萬顆星)。它讓 AI 助理分階段查漏洞,最後把結果寫成 findings.json,再交給一支 validate-findings.cjs 檢查。我想知道的是:這支檢查器到底在檢查什麼?

測試設備:Mac mini M4 Pro(12 核、64GB),Node v22,版本為 commit c1c8a8c(2026-09-14)。

先跑它自己的測試

cd skills/security-audit
node --test *.test.cjs

結果:65 項測試、65 項通過、0 失敗,約 0.4 秒。一份寫得正常的報告,檢查器回「PASS: 1 findings valid」。

自帶測試與正常報告

故意寫壞三份

改壞的方式 檢查器結果
只證明了中等影響,嚴重度卻寫 critical 退回:cannot exceed demonstrated impact "medium"
證據檔案路徑寫成 ../../etc/passwd 退回:must be a safe repository-relative source path
證據指向不存在的 src/does_not_exist.c 第 99999 行,實測結果只寫「Trust me, it happened.」 通過:PASS: 1 findings valid

三份壞報告的結果

前兩種是格式與邏輯上的矛盾,檢查器擋得很實在。但第三種,內容根本是編的,它也放行。原因很單純:它只讀 JSON,不會去打開專案原始碼核對檔案與行號是否存在,也無從驗證「真的重現過」。

判讀

技能包的設計是另外派出獨立的 AI 查證員,去反駁每個候選漏洞、再驗證最終的引用。那一段需要真的有一個程式助理在跑,我這次沒有測,所以不能說它的查證成效如何。我能確認的只有:格式檢查器本身不保證內容為真。

適合與不適合

專案連結:https://github.com/cloudflare/security-audit-skill ,授權 MIT。

測試設備:Mac mini M4 Pro(12 核、64GB)。內容依實際執行結果撰寫,數據為撰寫當時的實測值。

← 所有實測