AI Agent 的資安工具怎麼分:風險入口、七類工具與三個反覆出現的限制
裝 skill、接 MCP、讓 agent 跑指令時,風險可以看成從四個入口進來。我把相關的開源防護工具依介入的時間點分成七類,從安裝前掃描、沙箱、護欄到稽核與紅隊測試。這一篇先看每一類管哪一段,以及三個反覆出現的限制:沒有單一工具能獨當防線、預設值常常對你不利、公開的偵測數字缺少獨立評測。
把 skill、MCP 與 coding agent 周邊的開源資安工具分成七類:安裝前掃描、沙箱、護欄與閘道、偵測與稽核、程式碼審計、測試 AI 系統,以及用 AI 打別人的滲透測試,逐類看它們做了什麼、沒做什麼,以及公開的數字能不能信。
裝 skill、接 MCP、讓 agent 跑指令時,風險可以看成從四個入口進來。我把相關的開源防護工具依介入的時間點分成七類,從安裝前掃描、沙箱、護欄到稽核與紅隊測試。這一篇先看每一類管哪一段,以及三個反覆出現的限制:沒有單一工具能獨當防線、預設值常常對你不利、公開的偵測數字缺少獨立評測。
這四個安裝前掃描器的做法可以分成靜態規則、LLM 判斷、實際連線讀 MCP server 三種,多數同時用兩種以上。Cisco 自己的文件顯示,只靠規則時,面對沒見過的惡意樣本只抓到約 8%;第三方測試也顯示,換一批樣本數字就大幅改變。掃描器適合當輔助篩選,「沒有發現」不等於安全。
我把 agent 沙箱分成四種:共用核心的作業系統隔離、容器編排、本機 microVM(輕量虛擬機)、遠端 microVM。Claude Code 的沙箱預設關閉、只包 shell 指令;Codex CLI 本機預設開啟。公開的逃逸案例多半繞過邊界旁邊的設定檔或檢查腳本,不是打穿核心;沙箱回答的是被騙之後能走多遠,不是會不會被騙。用 Claude Code 的話,先開沙箱,再把 ~/.ssh、~/.aws 列進拒絕清單,並另外擋住 Read 工具。
護欄在 agent 動作之前攔截。Claude Code 上的主要接點 hook,官方文件寫明大多數事件上出錯或逾時會照常執行,要擋得設 onFailure: block。別的工具各有各的出錯行為與預設:Agent Governance Toolkit 的函式庫沒載入政策時放行,NeMo 的偵測器連不上時放行,llm-guard 與 rebuff 已封存。選護欄先問三件事:攔在哪、掛了怎樣、誰能改規則。
偵測與稽核工具是一條光譜:Uber ADR 的開源版純事後讀紀錄,numbat 預設只監控,其餘多半賣點是能在動作前擋,預設卻先只觀察。紀錄能不能當證據,取決於誰能改它:簽章金鑰和被稽核的 agent 同機同使用者時,只能發現竄改,不能防止竄改。
兩個代表的做法相反:Cloudflare 的 security-audit skill 是純 LLM 的多階段流程,Cloudflare 說他們內部的 harness 接了 Semgrep 之後,獵捕用的 agent 一個月都沒呼叫;Trail of Bits 則是 Semgrep、CodeQL 腳本加 LLM 判斷。我在兩者的規則與附檔裡都找不到 Workers、D1、KV 或 Astro 的專屬檢查,兩者也都沒有公開在真實專案上的準確率。這篇只讀了文件,沒有對任何專案試跑。
兩份都寫「攻擊成功率 5%」的報告不能直接比:數字背後有誰出題(攻擊者模型)、誰判定(judge,負責判定的模型或規則)、分母算什麼三個變數。garak 官方 FAQ 說自己的分數沒有科學效度,HackAgent 白皮書裡兩個模型的先後會隨 judge 門檻翻轉。我查到的資料裡,四個工具都沒有獨立的準確度評測。
AI 滲透工具把 LLM 當攻擊者,去測傳統軟體。它們有兩個共通問題:工具本身是攻擊面(被測目標可以用 prompt injection 反控它,HexStrike 的伺服器甚至沒有驗證),以及開源之後管不住用途(同一個工具既能做授權測試也能被拿去攻擊,ARTEX 與 HexStrike 的防濫用設定都是操作者可以改的預設值)。讀「某工具被濫用」的新聞,要問誰說的、是不是獨立的證據。ARTEX 事件有多家廠商分析,但其中幾家分析的是重疊的攻擊者基礎設施,或直接引用彼此,不能算成多個獨立證據。
看到『涵蓋 OWASP 10/10』『已併入 Microsoft 與 Cisco』『偵測率 9X%』時,問五題:誰說的、這個詞指什麼、誰出的題、量的是什麼、一手來源在哪。前面幾篇與這篇補的幾個案例,剛好各示範一題:微軟 toolkit 自己寫 7 項完整、3 項部分;ATR(一套開源的 agent 威脅偵測規則)併入 Microsoft 與 Cisco 的 PR,查過的三處都是作者本人提的;Cisco 自己量的偵測率和獨立研究量的差好幾倍;常見的 benchmark 評的是模型或 agent,不是掃描工具。