Cloudflare security-audit skill 是什麼?讓 Claude Code 變資安稽核員的六階段流程、安裝與沙盒前提

恆遠數位編輯團隊約 17 分鐘閱讀
Cloudflare security-audit skill 封面:讓 AI 互相抓漏洞的六階段資安稽核流程、MIT 開源
複製引文

Cloudflare security-audit skill 是 Cloudflare 開源的一份「AI 資安稽核說明書」。裝進 Claude Code 這類 AI 寫程式工具之後,你只要對它說一句「幫這個專案做資安稽核」,它就會派出好幾個 AI 助手分工:有人畫地圖、有人專門找漏洞、有人專門挑錯,最後交出一份每一條都被第二個 AI 驗證過的漏洞報告。它用 MIT 授權免費開放,程式碼放在 GitHub。

這則消息最近在 Threads 上被轉了很多次,我們團隊也是半夜在群組裡收到這張截圖,第一個問題是:「所以以後找漏洞可以全部交給 AI 了嗎?」我們把 Cloudflare 的原文部落格、GitHub 上的說明文件和 Skill 本體逐段讀完,發現社群貼文講的「多個 AI 分工、交叉驗證」是對的,但漏掉了兩件會直接影響你能不能用的事:它要求一個隔離的沙盒環境,而且官方自己說,跑一次大約只抓得到一半的漏洞。

這篇從零講起:Skill 是什麼、六個階段各在做什麼、為什麼要讓 AI 互相挑錯、怎麼安裝、它做不到什麼,最後談中小企業該怎麼看這個工具。如果你連 Claude Code 的 Skill 都還沒用過,可以先翻一下我們寫過的 Claude Code Skill 教學,再回來看會更順。

Cloudflare security-audit skill 是什麼?一張表看懂

一句話:它把資深資安人員做程式碼稽核的流程,寫成 AI 看得懂、照著做的步驟,再加上「找到的人不能自己驗收」這條規矩。下表是我們整理的重點,數字都對過 Cloudflare 原文與 GitHub 頁面(2026 年 10 月 21 日):

項目

內容

是什麼

一份給 AI 寫程式工具用的 Skill(技能說明書),讓 AI 變成資安稽核員

誰做的

Cloudflare 資安團隊,原文部落格於 2026 年 6 月 18 日發表

授權與費用

MIT 開源,Skill 本身免費;跑起來花的是你自己的 AI 模型用量

流程

六個階段:偵察、依清單獵漏洞、逐條驗證、輸出結構化檔案、獨立複查、產出報告

最大特色

找漏洞的 AI 和驗證漏洞的 AI 一定是不同的助手,驗證者的任務是推翻它

適用工具

官方寫的是不綁特定工具,只要能呼叫工具、能開平行子助手的 AI 寫程式工具都能用

必要條件

Node.js(跑檢查程式);要讓 AI 實際執行被稽核的程式,還需要作業系統層級的沙盒

產出檔案

findings.json、REPORT.md、FINDINGS-DETAIL.md、NEEDS-VALIDATION.md 等

GitHub 熱度

33,787 顆星、2,116 個 fork(2026-10-21 查詢)

看完這張表,先抓住兩件事。第一,它是一份「做法」,裡面沒有任何掃描引擎,真正動腦的是你接上的 AI 模型,所以模型越強、它越強,費用也跟著模型走。第二,它的價值在流程設計:多數人用 AI 找漏洞,問一句就照單全收,這份 Skill 把「懷疑」寫進了每一個步驟。

還有一個時間點要釐清。社群這兩天才在傳,但這個 repo 其實 6 月就開源了,9 月中又把流程改寫過一輪,所以網路上有些文章寫「七個階段」,有些寫「六個階段」,兩邊都沒錯:七階段是 Cloudflare 部落格描述的內部初版,六階段是現在 GitHub 上的公開版。

先搞懂三個名詞:Skill、子助手、資安稽核

先講結論:Skill 是工作說明書,子助手是被分派任務的同事,資安稽核是「站在駭客角度把程式翻一遍」。三個名詞搞懂,後面的流程就很好讀。

名詞

白話比喻

實際是什麼

Skill(技能包)

新人報到時拿到的工作手冊

一個資料夾,裡面是 Markdown 說明檔和小程式。AI 遇到符合的任務時,會自動翻開這本手冊照著做

AI Coding Agent

會自己動手的工程師助理

Claude Code、Codex 這類工具。它們能讀檔案、下指令、改程式,不只是聊天

子助手(sub-agent)

主管把工作拆給幾位同事各自處理

主 AI 另外開的獨立 AI 對話,每個只拿到自己那份任務,彼此看不到對方的思考過程

資安稽核(security audit)

請鎖匠來試試看你家的門窗哪裡撬得開

逐段閱讀程式碼,找出登入可以繞過、資料可以被偷看、指令可以被注入這類漏洞

沙盒(sandbox)

拆彈用的防爆箱

一個斷網、權限受限的隔離環境,就算被測的程式有惡意,也傷不到你的電腦

這裡最容易誤會的是「子助手」。很多人以為多開幾個 AI 只是為了跑得比較快,其實 Cloudflare 看重的是「隔離」:每個子助手的記憶是乾淨的,負責驗證的那一位沒看過找漏洞那位的推理過程,所以比較不會被帶著走。就像公司請會計師查帳,會找外面的事務所,原因一樣。

如果你想多了解讓多個 AI 互相辯論為什麼會比較準,可以參考我們整理的 Multi-Agent Debate 架構;想知道 Skill 生態圈還有哪些好用的技能包,可以看 Claude Skills 完整指南。

六個階段怎麼分工:找漏洞的和驗漏洞的永遠是不同助手

一句話分工:先畫地圖,再分頭找,找到的交給別人推翻,推不翻的才寫進報告,寫完還要再請一個新助手對一次原始碼。下面這張圖是公開版的流程:

圖表載入中…

把每個階段拆開來看,重點如下:

階段

做什麼

產出

白話比喻

偵察(Reconnaissance)

看懂整個專案的架構、哪裡是信任邊界、資料從哪裡進來

architecture.md、coverage-ledger.json(覆蓋清單)

鎖匠先繞房子一圈,記下所有門窗

依清單獵漏洞(Coverage-led hunting)

照覆蓋清單分派多個獵人,各自負責一塊區域與一類攻擊手法;評論員回頭找沒人看過的角落

每個獵人的檢查紀錄與候選漏洞

每個鎖匠負責一扇門,組長再巡一次看有沒有漏掉的窗

逐條驗證(Candidate validation)

每個候選漏洞交給一位全新的驗證者,任務是證明它是假的

confirmed、needs_validation、rejected 三種判定

請另一位鎖匠來試,打不開就不算數

結構化輸出(Structured output)

把結果寫成 findings.json,再用附帶的檢查程式核對格式

findings.json(通過 report-schema.json 驗證)

把驗收結果填進標準表格

獨立複查(Record verification)

新助手再對照原始碼確認每條紀錄說的都是真的;有大幅修改的紀錄還要再找一位複查

修正後的 findings.json

交件前請第三個人核對一次

產出報告(Reporting)

從已複查的紀錄產出人看得懂的報告

REPORT.md、FINDINGS-DETAIL.md、NEEDS-VALIDATION.md

整理成給屋主看的檢查報告

三種判定的差別要特別記住。confirmed 代表有完整的程式路徑和實際觀察到的結果;needs_validation 代表看起來有問題,但缺一個關鍵事實沒辦法確認(例如要看正式環境的設定),這類不給嚴重程度;rejected 代表已經被推翻。官方在 SKILL.md 裡把「替 needs_validation 標嚴重程度」列為禁止做法之一,用意是逼 AI 誠實承認不知道的事。

另一個常被忽略的設計是「重跑會累加」。第二次對同一個專案跑稽核時,它會讀上一次的覆蓋清單和結果,專門去補沒看過的區域、重新驗證有改過的程式碼。這也是它要你把輸出放在固定資料夾的原因,預設位置是家目錄底下的 `security-audit-skill/<專案名>/run-<次數>`。

為什麼要讓 AI 互相挑錯?Cloudflare 自己踩過的三個坑

因為 AI 找漏洞最大的問題是會「自己騙自己」。Cloudflare 在原文裡講得很直白,他們讓 AI 獵漏洞時遇過這幾種狀況:

  • 改程式讓自己的攻擊成功:AI 為了證明漏洞存在,偷偷修改原始碼,再得意地回報一個它自己製造出來的洞。
  • 寫出廢話測試:例如「exec() 會執行東西,所以這是嚴重漏洞」,邏輯上永遠成立,卻什麼也沒證明。
  • 攻擊情境不合理:寫出能跑的攻擊程式,但前提是「攻擊者已經有資料庫寫入權限」,那本來就能寫資料庫。

他們的解法有三招,公開版 Skill 都保留了精神。第一招,獵人在回報前必須先講清楚「攻擊者是誰、跨過了哪條邊界」,講不出來就不能提交。第二招,驗證者不能自己提交漏洞,唯一工作就是推翻獵人的說法;Cloudflare 的說法是,讓獵人自己批改作業,它一定全部打滿分。第三招,用一般程式(不是另一個 AI)機械檢查引用的檔案和行號真的存在。

這套做法有沒有用,看 Cloudflare 內部大規模版本的數字最清楚。下表是原文公布的漏斗,注意這是他們內部的完整系統跑在 128 個程式庫上的累計結果,公開的 Skill 只是它的起點:

漏斗階段

數量

說明

AI 產生的原始候選

20,799

獵人回報的全部疑似漏洞

通過獨立驗證

約 12,057

驗證者推不翻的才留下

併入另一套系統後的總池

13,841

加上其他自動化來源,跨 145 個程式庫

判定為重複

5,442

同一個根本原因被不同獵人重複找到

放錯程式庫或風險過低

1,154

退回或回收重新處理

最後交給工程團隊修

7,245

附可重跑的測試與修補建議

兩萬多條候選,最後只有三分之一左右真的值得工程師花時間。換個角度想,如果沒有驗證這道關卡,工程團隊每收到三條警報就有兩條是白忙,很快就沒人想看了。原文也提到,改善偵察階段給的背景資訊之後,第一輪驗證的否決率從 40% 降到 11%,代表獵人一開始就少寫很多垃圾。

還有一個很實在的數字:官方 README 寫到,在他們的測試中,跑一次大約只抓到多次重跑總數的一半,而且單次抓到的多半偏簡單。這是誠實的提醒,也是我們認為最該被轉傳的一句話:跑完一次沒找到東西,絕對不代表程式碼安全。

我們公司自己的開發流程也有一條很像的規矩:寫程式的 AI 不驗自己的產出。每個 PR 開出來,會交給另一家的 AI 模型自動審查,審查意見逐條修完或寫明不修的理由才合併。這跟 Cloudflare 讓「發現」和「驗證」用不同模型的思路一樣,實際跑下來,最常被抓到的正是寫的人自己覺得沒問題的地方。

怎麼安裝與開始用:一行指令、三種規模

先講結論:用 Skills CLI 一行指令裝好,打開 AI 寫程式工具、進到要稽核的專案,說一句「security audit this codebase」就會啟動。下面是官方 README 給的安裝指令:

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

# 想裝在使用者層級、所有專案都能用
npx skills add https://github.com/cloudflare/security-audit-skill \
  --skill security-audit \
  --global

裝好之後,Skill 會依你的說法自動判斷要走哪一種模式:

你說的話

它進入的模式

會發生什麼

「security audit this codebase」「幫這個專案做完整資安稽核」

完整稽核模式

跑完六個階段,寫出全部報告檔

「這段登入程式安全嗎?」「幫我看這個漏洞是不是真的」

諮詢模式

只用 Skill 裡相關的部分回答,不建資料夾、不寫報告

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

完整稽核模式+指定輸出位置

報告寫到你指定的資料夾

完整稽核模式下還能選規模,官方叫 profile:

規模

適合

做法

quick

小專案、重跑、想先快速看一眼

只跑一輪獵人,一位評論員收尾,每個候選漏洞一位驗證者

standard(預設)

一般專案

照完整流程跑

deep

高風險或大型專案

清單切更細、評論員跑到沒有新發現為止、驗證與複查分開用不同助手

費用方面,官方沒有公布跑一次要多少錢,因為完全看你接的模型和專案大小。Skill 提供的控制方式是設定「最多呼叫幾次 AI 助手」當預算,預算不夠時它會先保留驗證和評論的額度,寧可少找幾區也不讓沒驗證過的結果混進報告。這個設計很值得學:省錢可以,但不能省掉驗證。

Cloudflare 內部大規模版本的經驗也可以當參考:一個約 3 萬行程式碼的程式庫,一次完整掃描要 3 到 4 小時,最久的一次跑了超過 14 小時,所以他們把大規模掃描當成定期清查,每次 PR 的檢查交給更輕量的工具。小團隊照抄這個節奏就對了。

沙盒前提:沒有隔離環境,它就只讀程式碼不執行

一句話:讀程式碼不需要沙盒,但要讓 AI 實際編譯、執行被稽核的程式來證明漏洞,就一定要有作業系統層級的隔離環境,沒有的話它會把該條標成 needs_validation,不會硬跑。

官方 README 對沙盒的要求寫得很具體,整理如下:

要求

為什麼

禁止連外網路

被測的程式可能有惡意,斷網才不會把你的資料送出去,也不會去打正式環境

環境變數用白名單重建

避免你電腦上的金鑰、Token 被被測程式讀到

程式碼與工具唯讀,只能寫指定的暫存資料夾

防止 AI 或被測程式改到原始碼、或寫進你的家目錄

限制 CPU、記憶體、行程數、檔案大小、執行時間

避免跑出無窮迴圈或把電腦拖垮

這份 Skill 也規定不准安裝新套件、不准讓編譯過程自己下載依賴、不准測試正式環境或別人的服務、不准花付費 API 額度。原因很簡單:資安稽核本身就是在「請一個會攻擊的 AI 進門」,門禁不夠嚴,稽核工具本身就會變成風險。我們之前整理過 Claude Mythos 沙盒逃脫事件,強模型在權限沒鎖好的環境裡會做出設計者沒預料的事,那篇可以當這一節的延伸閱讀。

對多數中小企業的開發團隊來說,最務實的做法是先只用「讀程式碼」的部分,不急著架沙盒。光是讀,它就能抓出權限檢查漏掉、使用者輸入直接拼進 SQL、金鑰寫死在前端這類常見問題。真的需要執行驗證的那幾條,再交給工程師在測試環境手動確認。AI 寫程式工具本身的權限也要先管好,可以參考我們寫過的 Claude Code .env 保護四道防線和 AI 寫 Code 的安全指南。

它做不到什麼:跟弱點掃描、滲透測試、AI Code Review 的差別

先講結論:它是讀原始碼找邏輯漏洞的工具,看不到正式環境怎麼設定、看不到網路架構,也不會幫你打真的網站,所以不能取代弱點掃描和滲透測試。下表把幾種常被混在一起的資安檢查放在一起比較:

檢查方式

看什麼

強項

看不到什麼

Cloudflare security-audit skill

原始碼

邏輯漏洞、權限繞過、跨元件的信任問題,報告附驗證過程

正式環境設定、主機與網路弱點、還沒寫進程式碼的流程問題

弱點掃描(OpenVAS、Nessus 等)

已上線的主機與服務

已知漏洞編號、過期套件、設定錯誤,速度快

自家程式的商業邏輯漏洞

滲透測試(人工)

整個系統實際運作的樣子

模擬真實攻擊者,串接多個小問題變成大問題

成本高、通常一年一兩次,涵蓋範圍看預算

AI Code Review(CodeRabbit 等)

每次改動的程式碼差異

每個 PR 都能跑、回饋快

只看改動的那一段,很少從整個系統的角度找漏洞

AI 滲透測試工具(PentAGI 等)

實際運作的系統

自動化攻擊流程

需要授權與隔離環境,誤操作風險較高

這幾種工具比較像拼圖,各補一塊。弱點掃描和滲透測試的差別,我們在弱點掃描、滲透測試、壓力測試差在哪有完整說明,選掃描工具可以看九套弱點掃描工具對照。AI 驅動的攻擊型工具,可以對照我們寫過的 PentAGI 和 reverse-skill;每次 PR 的 AI 審查工具,則在 AI Code Review 工具選型指南比較過。

另外兩個限制也要知道。第一,它只看單一程式庫。Cloudflare 原文提到,很多漏洞出在元件和元件的接口上,他們內部系統另外花了大功夫追蹤跨程式庫的依賴,公開版沒有這一塊。第二,它不會幫你修。內部系統的修補器產生修補後,也一定要人工審過才能合併,Cloudflare 把這列為不能妥協的一道關卡。

有一個反直覺的發現也值得一提:Cloudflare 曾經把靜態分析工具 Semgrep 整個接進系統,結果一個月內獵人呼叫它的次數是零,AI 寧願自己讀程式、跑程式。反而是讓 AI 寫下「我需要什麼工具」的願望清單功能,成了整個系統最常被用的工具,累計被寫入 25,472 次。設計 AI 流程時,觀察它實際會去拿什麼,比預設它需要什麼更準。

中小企業要不要用?三種情況的判斷方式

我們的判斷是:有自己的工程師、有 Claude Code 或 Codex 訂閱的團隊,值得現在就拿一個不敏感的專案試跑;沒有工程師的公司,這份 Skill 本身用處不大,但它的設計思路值得拿來檢驗你的外包廠商。

你的情況

建議

第一步

有內部工程師,已經在用 AI 寫程式工具

直接試,先用 quick 規模跑一個內部工具或測試專案

看 findings.json 裡 confirmed 的幾條是不是真的,評估誤報多不多

系統是外包做的,或用 AI 自己拼出來的(vibe coding)

Skill 交給懂的人跑,報告要有工程師判讀

先請廠商或第三方做一次上線前健檢,再決定要不要定期跑

準備對外收費、收個資的系統

AI 稽核當第一道篩子,上線前仍要做弱點掃描或滲透測試

把「AI 稽核報告+人工確認」寫進驗收條件

最常見的誤區是把它當成「資安做完了」的證明。前面提過,單跑一次只抓到大約一半,而且看不到正式環境。比較健康的用法是把它當成定期健康檢查:每次大改版跑一次,把 needs_validation 那份清單交給工程師逐條確認,累積幾次之後,覆蓋清單會告訴你哪些區域真的被看過。

給沒有工程背景的老闆一個簡單的判斷工具:下次外包廠商說「我們有用 AI 做資安檢查」,追問一句「找到漏洞的 AI 跟驗證漏洞的是不是同一個?報告裡有沒有分清楚已確認和待確認?」答得出來的廠商,流程通常比較扎實。關於外包程式碼的驗收方式,也可以看我們寫的 PR 與 Code Review 是什麼。

如果你手上的系統是用 AI 或外包快速做出來的,現在正準備上線收客戶資料,心裡沒底,我們很樂意先聽你聊聊這套系統的狀況。恆遠的 Vibe Coding 健檢會檢查金鑰外洩、登入與權限繞過、資料權限這些最容易出事的地方,報告用商業語言寫,標清楚哪些上線前一定要修、哪些可以之後再說。

ℹ️我們怎麼看

Cloudflare 這次開源的重點在流程設計,模型反而是可以替換的零件。他們自己也說,不同模型跑同一個專案會找到不同的漏洞,所以內部刻意讓發現和驗證用不同模型。我們的判斷是,兩三年內「AI 先篩一輪、人再判讀」會成為程式碼資安檢查的基本配備,就像現在每個專案都有自動測試一樣。我們自己在開發流程裡也堅持寫的人不驗自己的東西,因為那是最便宜的品質保險。對中小企業來說,現在不用急著自己架一套,先問清楚你的工程師或廠商:找漏洞的和驗漏洞的,是不是分開的?

ℹ️我們做過這件事

這篇講的「不讓寫的人驗自己的產出」,是我們公司每天都在用的規矩:內部目前有 20+ 個 AI 流程在跑,程式碼改動一律交給另一個 AI 模型自動審查,意見處理完才合併。所以這裡整理的東西,都是我們實際用過、知道哪裡會卡之後才寫的。

如果你的系統準備上線,想知道現在的程式碼到底安不安全,我們很樂意陪你看一下現況;想把 AI 審查接進自己的開發流程,也可以跟我們聊聊怎麼做。

QCloudflare security-audit skill 要錢嗎?

Skill 本身用 MIT 授權開源,免費下載、可商用。實際花費是你接的 AI 模型用量,例如 Claude Code 或 Codex 的訂閱或 API 費用。官方沒有公布單次稽核的費用,專案越大、選的規模越深,呼叫的 AI 助手越多,花費越高;Skill 可以設定最多呼叫幾次助手當預算上限。

Q只能用在 Claude Code 嗎?Codex、Cursor 可以嗎?

官方在 SKILL.md 寫明這份 Skill 不綁特定工具,只要求 AI 寫程式工具能呼叫工具、能開平行子助手。安裝時用 Skills CLI,可以選擇要裝給哪個工具。實際效果還是看你接的模型能力,子助手功能比較弱的工具,跑起來會比較吃力。

Q跑一次稽核要多久?

官方沒有給公開版的時間數字。Cloudflare 內部大規模版本的經驗是,約 3 萬行程式碼的程式庫完整掃描要 3 到 4 小時,最久一次超過 14 小時。小專案用 quick 規模會快很多,建議第一次先拿小專案試,抓一下自己環境的時間和花費。

Q它會改到我的程式碼嗎?

讀原始碼的部分是唯讀的。報告預設寫到家目錄底下的 security-audit-skill 資料夾,只有你明確指定一個被版本控制忽略的資料夾時,才會寫進專案裡。要執行被測程式時,規定只能在沙盒裡、寫到指定的暫存資料夾;沒有沙盒就不執行,改標成待人工確認。

Q它找到的漏洞可以直接相信嗎?

標成 confirmed 的有完整程式路徑和觀察到的結果,而且經過獨立助手驗證和複查,可信度相對高,但仍建議工程師看過再修。標成 needs_validation 的代表缺關鍵事實,例如要看正式環境設定才能確定,一定要人工確認。

Q可以取代滲透測試或弱點掃描嗎?

不能。它只讀原始碼,看不到正式環境的設定、主機與網路弱點,也只看單一程式庫。比較好的用法是把它當上線前的第一道篩子,對外收費或收個資的系統,仍要搭配弱點掃描或人工滲透測試。

Q跑一次沒找到漏洞,代表程式很安全嗎?

不代表。官方 README 自己寫到,單跑一次大約只抓到多次重跑總數的一半,而且偏向簡單的漏洞。它的設計是重跑會累加,會依上次的覆蓋清單去補沒看過的區域,所以要把它當定期健康檢查,不能當一次性的合格證明。

AI 讓找漏洞變便宜了,但判斷哪些是真的、該先修哪個,仍然要有人負責。想在系統上線前做一次完整體檢,歡迎找我們聊聊;想從頭規劃一套資安設計做好的系統,可以看看我們的客製化系統開發。延伸閱讀:Project Glasswing 對中小企業 AI 資安採購的影響、Prompt Injection 防禦框架,以及 Codex 和 Claude Code 怎麼選。

分享文章
恆

AUTHOR

恆遠數位編輯團隊

查看作者頁

留言(0)

尚無留言,成為第一個留言的人吧!

需要網站系統架設或軟體開發?

無論是品牌官網、客製化系統還是應用程式,我們的團隊擁有豐富經驗,歡迎聯繫我們,讓專業為您的事業加分。