Why You Should Install Security Before You Install Anything Else Into Your AI Agent
Every skill, MCP server, and tool you add to an AI agent is unreviewed code with keys to your machine. One command scans before load and guards at runtime.
先裝好安全防護,再往 AI Agent 裝任何東西。npm install -g @panguard-ai/panguard && pga up 會把 PanGuard 掛進你正在跑的 agent runtime,從那一刻起,你加的每個 skill 和 MCP server 都會在載入前被掃描、執行時被看守。它免費、採 MIT 授權,Community 版就是完整產品,沒有付費牆。
問題一句話講完。你不停地往 AI Agent 裝 skill、MCP server 和工具,而每一個都是沒人審過的程式碼,跑起來擁有你 agent 的全部權限:你的檔案、你的憑證、你的 shell。
加一個 skill 或 MCP server,實際上發生了什麼事?
你把鑰匙交出去了。一個 MCP server 可以讀你的檔案、呼叫你的 API、開 shell。一個 skill 是一份你 agent 會當成指令去照做的文字檔。這兩者都沒經過一般相依套件會走的審查。你 agent 在執行期臨時決定要信任的東西,沒有任何 npm audit 幫你把關。
這不是假設。postmark-mcp 是一個受信任的 MCP server,它連續 15 個版本、每天默默 BCC 3,000 到 15,000 封信,才被人發現。MCPJam Inspector 出廠預設綁在 0.0.0.0(CVE-2026-23744):對外開的埠只要收到一個 HTTP 請求就是遠端程式碼執行,v1.4.3 之前的每個版本都中。Azure MCP Server(CVE-2026-26118)有個 SSRF 漏洞,會偷走 managed-identity token,轉手就變成對你 Azure 資源的存取權。Claude Code 本身也曾被人透過它的 hooks 和 MCP 設定(CVE-2025-59536 與 CVE-2026-21852)利用,做到任意 shell 執行和 API 金鑰竊取。
每次的模式都一樣。一個你信任的元件,用你早就授予的權限,做了一件你從沒審過的事。
為什麼一般的資安工具抓不到?
因為攻擊面是新的。防毒看的是執行檔。SAST 看的是你的原始碼。這兩者都沒在看你 agent 今早從 registry 拉下來的那個 skill,也沒在看你為了試個 demo 而加進去的那個 MCP server。Agent 就是新的執行環境,你往裡面載入的東西,就是新的供應鏈。
OWASP 在 Agentic Top 10(2026)裡把這件事正式化了。那些分類讀起來就是這串失效的清單:ASI02 Tool Misuse and Exploitation、ASI04 Agentic Supply Chain Vulnerabilities、ASI05 Unexpected Code Execution、ASI06 Memory and Context Poisoning。這些不是邊角案例。它們排在清單最前面。
「載入前先掃、執行時看守」實際上是什麼意思?
兩個動作,一次安裝。
載入前:pga scan <target> 會在你安裝一個 skill 或 MCP server 之前先檢查它。它把 skill 和 server 的文字拿去對 ATR(Agent Threat Rules 標準)跑,檢查已知攻擊 pattern 和危險能力。
執行時:Guard 看的是你 agent 載入之後實際做了什麼。pga up 會自動偵測你機器上的 agent runtime(Claude Code、Cursor、Windsurf、Gemini CLI、Cline、Codex CLI 等等),不用逐一設定就掛得進去。當一個載入的元件表現得像攻擊,它不需要在掃描階段就被抓到,因為它會在執行階段被抓到。
這兩層底下的偵測引擎都是 ATR,一個獨立、開放、採 MIT 授權的標準,PanGuard 建立在它之上並負責營運它。就像 Sigma 或 CVE,以及營運它的那家廠商。截至 2026 年 7 月,這套 corpus 有將近 690 條規則、橫跨 10 個分類(npm agent-threat-rules v3.5.6)。它對應到 OWASP Agentic 全部 10 個分類,共 866 條規則對分類的映射(9 個分類為 STRONG 覆蓋,ASI10 Rogue Agents 為 MODERATE),也對應到 MITRE ATLAS 101 項技術中的 34 項。
一個以規則為基礎的掃描器,準到能信任嗎?
誠實的答案是:準度取決於 corpus 和 lane,所以以下數字都附上脈絡。這些是 Layer 1、確定性規則的 benchmark,不是單一混合出來的引擎分數。
| Corpus | 結果 |
|---|---|
| SKILL.md corpus(498 筆真實樣本) | 100% recall、97% precision、0.2% FP |
| NVIDIA garak(650 筆實戰 jailbreak) | 97.2% recall |
| HackAPrompt(4,780 筆,EMNLP 2023) | 69.6% recall(對比 28.6% 基線)、100% precision |
| PINT 格式 corpus(850 筆,自建) | 99.7% precision、63.6% recall |
在誤報(FP)上,我不會給你一個單一數字,因為根本沒有一個誠實的單一數字。在 65,000 筆的 benign gate 上,誤報率是分 lane 的:enforce lane 約 0.24%,hunt lane(也就是預設)約 9%。hunt lane 標記得更多,讓你能審得更多。這是個設計選擇,你該知道自己跑在哪個 lane。
每一次掃描,怎麼讓其他所有人都更安全?
這就是飛輪,也是為什麼一個一人專案能追得上一直在變的威脅。當一種新攻擊被理解,AI 讀它一次,把它寫成一條確定性規則。那條規則接著就以毫秒等級,替每一個跑 PanGuard 的人執行。從新攻擊到規則上線,大約一小時,而不是委員會需要的好幾週。
它建立在真實規模之上。我做過一次 wild scan,橫跨六個公開 registry:96,096 個 AI agent skill,751 個確認為惡意。每一個能泛化的確認樣本都會變成一條規則,並拿去對 65,000 筆的 benign corpus 過閘,好讓給某個使用者的修正,不會變成下一個使用者的假警報。
採用情況反映出這個標準走得出去。ATR 已經在 MISP 與 CIRCL、Cisco AI Defense 的 skill-scanner、Microsoft Agent Governance Toolkit(一個 287 條規則的包、每週自動同步)、Gen Digital 的 Sage、Microsoft PyRIT,以及 OWASP Agent Security Regression Harness 裡運行。與 Google ADK、NVIDIA garak、OpenAI Guardrails,以及 NIST OSCAL catalog 的 PR 目前在審查中。
為什麼是現在,而不是等第一次事故之後?
因為對任何做高風險 AI 的人來說,法律時鐘已經在走。EU AI Act 第 15 條把偵測對抗式攻擊定為高風險系統的法律義務,自 2027 年底起執行。但更實際的理由更簡單。你今天就在裝這些元件,速度快到你沒辦法一個個手動審,而第一個出問題的元件,代價不是一則警告。是你的憑證。
常見問題
PanGuard 要錢嗎?
不用。它免費、採 MIT 授權,Community 版就是完整產品。沒有付費牆,也沒有被鎖起來的功能層級。
它支援哪些 agent runtime?
pga up 會自動偵測 Claude Code、Cursor、Windsurf、Gemini CLI、Cline、Codex CLI 等等,不用逐一設定就掛得進去。
ATR 跟 PanGuard 是同一個東西嗎?
不是。ATR 是一個獨立、開放、採 MIT 授權的標準,獨立治理。PanGuard 是建立在它之上、並營運它的其中一個產品,就像廠商運行在 Sigma 或 CVE 這類標準之上。
掃描會拖慢我的 agent 嗎?
偵測是對確定性規則跑的,以毫秒等級執行。掃描發生在載入之前,而 Guard 在執行時看守,你不用逐一設定每個工具。
下一步就一行。跑 npm install -g @panguard-ai/panguard && pga up,然後在你安裝下一個 skill 或 MCP server 之前,先 pga scan 它。想確切看它檢查了什麼,去 ATR repo 讀那份標準。