<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Cloudflare on YennJ12 Engineering Blog</title><link>https://yennj12.js.org/yennj12_blog_V4/tags/cloudflare/</link><description>Recent content in Cloudflare on YennJ12 Engineering Blog</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><lastBuildDate>Mon, 29 Jun 2026 11:00:00 +0800</lastBuildDate><atom:link href="https://yennj12.js.org/yennj12_blog_V4/tags/cloudflare/feed.xml" rel="self" type="application/rss+xml"/><item><title>Cloudflare AI 安全稽核系統（三）：LLM Agent 的安全反模式——十個讓報告失去公信力的做法</title><link>https://yennj12.js.org/yennj12_blog_V4/posts/cloudflare-security-audit-skill-part3-llm-security-zh/</link><pubDate>Mon, 29 Jun 2026 11:00:00 +0800</pubDate><guid>https://yennj12.js.org/yennj12_blog_V4/posts/cloudflare-security-audit-skill-part3-llm-security-zh/</guid><description>一份有三個真實 MEDIUM 漏洞的報告，
比一份有三十個「潛在可能理論上存在風險」的報告有用十倍。
安全報告的公信力一旦失去，工程師會停止閱讀它。
一、為什麼 LLM Agent 特別容易產生廢話安全報告 LLM 有一個普遍的傾向：它會試圖看起來有幫助。
在安全稽核的場景，這個傾向帶來的問題是：
工程師期待的 LLM 行為： 如果沒找到漏洞 → 說「我沒找到漏洞，這個部分看起來安全」 LLM 實際的行為： 如果沒找到確定的漏洞 → 說「這裡可能存在潛在的風險...」 「雖然沒有明確的漏洞，但理論上...」 「建議加強這部分的防護，因為...」 這就是「廢話型安全報告」的根源——它讓 LLM 看起來有在做事，但對工程師毫無價值。
Cloudflare 的 security-audit-skill 明確列出了這個問題的解法，也列出了最常見的反模式。本篇把這些反模式系統化整理，並從 agent pipeline 設計的角度說明如何從根源消除。
二、反模式地圖 十個反模式的分類： ┌─────────────────────────────────────────────────────────────┐ │ 類型 A：「看起來嚴格，實際上沒用」的 finding │ │ 反模式 1：OWASP checklist 當 bug list │ │ 反模式 2：用模糊語言掩蓋不確定性 │ │ 反模式 3：Defense-in-depth 缺失膨脹成漏洞 │ │ 反模式 4：部署情境視而不見 │ └─────────────────────────────────────────────────────────────┘ ┌─────────────────────────────────────────────────────────────┐ │ 類型 B：「用量充數」的報告結構問題 │ │ 反模式 5：用 LOW 充厚度 │ │ 反模式 6：只說壞處，不說好處 │ │ 反模式 7：不提歷史漏洞基準 │ └─────────────────────────────────────────────────────────────┘ ┌─────────────────────────────────────────────────────────────┐ │ 類型 C：「懶惰的調查」導致的誤判 │ │ 反模式 8：太快放棄 │ │ 反模式 9：不驗證 parser/runtime 行為假設 │ │ 反模式 10：不做根本原因分析就重複報告 │ └─────────────────────────────────────────────────────────────┘ 三、類型 A：「看起來嚴格，實際上沒用」的 Finding 反模式 1：把 OWASP 偏離當成 Bug 症狀：</description></item><item><title>Cloudflare AI 安全稽核系統（二）：Agent 設計深潛——Hunt 策略、Sub-Agent Spawning、Adversarial Validation</title><link>https://yennj12.js.org/yennj12_blog_V4/posts/cloudflare-security-audit-skill-part2-agent-design-zh/</link><pubDate>Mon, 29 Jun 2026 10:00:00 +0800</pubDate><guid>https://yennj12.js.org/yennj12_blog_V4/posts/cloudflare-security-audit-skill-part2-agent-design-zh/</guid><description>單一 agent 做安全稽核，最大的問題不是「能力不夠」，
而是「confirmation bias」——它既找漏洞，又驗證自己找到的漏洞。
Cloudflare 的解法是：讓找漏洞的 agent 和否定漏洞的 agent 永遠是不同的人。
一、為什麼 Multi-Agent 在安全稽核場景特別有價值 安全稽核和一般的「讓 AI 寫程式」任務有一個關鍵差異：
一般 AI 任務的正確性標準： 輸出可以被執行 → 執行結果符合預期 安全稽核的正確性標準： 找到的漏洞可以被 exploit → exploit 確實成功 沒找到的地方確實沒有漏洞 第二個標準極難用單一 agent 達到，原因有三：
原因 1：Context window 污染 一個 agent 如果既做 Recon 又做 Hunt，它已經建立了對這個系統的「地圖」。這個地圖讓它不容易發現地圖之外的東西——因為它不會主動去懷疑自己的地圖。
原因 2：Confirmation bias 找到「可能的漏洞」之後，同一個 agent 驗證時會下意識地尋找支持的證據，而不是反駁的證據。
原因 3：Context 深度 vs 廣度的矛盾 深入追蹤一條可疑的程式碼路徑，和廣泛掃描整個 codebase，是兩種相互競爭的任務——在同一個 context window 裡很難同時做好。
Multi-agent 架構解決了這三個問題。
二、Hunt Phase 的 Agent 分配策略 按什麼維度分 Agent？ 維度 1：攻擊類別（Attack Class） ┌──────────────────────────────────────────────────────────────┐ │ Agent-Injection → 追蹤所有 untrusted input 到 sink │ │ Agent-AccessCtrl → 越權、IDOR、privilege escalation │ │ Agent-Crypto → 弱隨機數、hardcoded secrets、timing │ │ Agent-BusinessLogic → 狀態機、競爭條件、數值邊界 │ │ Agent-FeatureAbuse → 合法功能被惡用的路徑 │ │ Agent-Chained → 多步驟組合攻擊 │ │ Agent-Wildcard → 探索意外的地方 │ └──────────────────────────────────────────────────────────────┘ 維度 2：子系統（Subsystem） ┌──────────────────────────────────────────────────────────────┐ │ Agent-Auth-Injection → auth 子系統 × injection │ │ Agent-Auth-AccessCtrl → auth 子系統 × 越權 │ │ Agent-Plugin-Injection → plugin 系統 × injection │ │ Agent-Media-Resource → media pipeline × file handling│ └──────────────────────────────────────────────────────────────┘ 兩個維度可以組合。系統的設計原則是：當子系統有明顯的安全邊界時，按子系統切分比只按攻擊類別更有效。</description></item><item><title>Cloudflare AI 安全稽核系統（一）：六階段 Multi-Agent Pipeline 全解析</title><link>https://yennj12.js.org/yennj12_blog_V4/posts/cloudflare-security-audit-skill-part1-pipeline-zh/</link><pubDate>Mon, 29 Jun 2026 09:00:00 +0800</pubDate><guid>https://yennj12.js.org/yennj12_blog_V4/posts/cloudflare-security-audit-skill-part1-pipeline-zh/</guid><description>多數 AI 安全工具的做法：把程式碼丟給一個 LLM，問它「有沒有漏洞？」
Cloudflare 的做法：六個獨立 phase、多個平行 agent、adversarial validation、獨立事實查核。
差別不在「用了 AI」，而在「怎麼讓 AI 不說廢話」。
一、為什麼這個 repo 值得深讀 Cloudflare 在 2024 年開源了 security-audit-skill，把他們內部用 AI agent 做安全稽核的系統公開出來。
這不是一個「讓 ChatGPT 讀你的程式碼」的玩具。這是一個：
六階段 orchestrated pipeline，每個 phase 有明確的輸入/輸出 Multi-agent 架構，同一 phase 內多個 agent 平行執行 Adversarial validation：找漏洞的 agent 和驗證漏洞的 agent 是不同的 Structured output + schema validation：輸出有嚴格的 JSON schema Independent verification：最後一道全新 agent 逐一查核每一個事實宣稱 整個 Pipeline 的資料流： codebase │ ▼ ┌─────────────────────────────────────────────────────────────┐ │ Phase 1: Recon │ │ Agent 1a (Overview) Agent 1b (Trust) Agent 1c (Input) │ │ └─────────────────────────────┘ │ │ ▼ │ │ architecture.</description></item></channel></rss>