Skill auditor 存在的理由跟 npm audit 一樣:你想在「已知有問題的套件被安裝之前」就知道,而不是「等程式碼跑過你的機器之後」才發現。差別在於,AI agent skill 的攻擊面比 npm 套件豐富——包含自然語言 prompt、工具描述、runtime 工具呼叫——所以 auditor 需要 domain-specific 的檢查,不只是 CVE 比對。
PanGuard Skill Auditor 跑 8 個 check。(1) Manifest 簽章驗證——skill 是否由已知 publisher 簽署。(2) Tool description ATR 掃描——對工具描述執行全部 344 條 ATR 規則,抓出描述本身夾帶的 prompt injection 與 tool poisoning。(3) 權限稽核——skill 申請的能力是否超過描述所說的需求。(4) Postinstall script 掃描——skill 是否在安裝時執行程式碼。(5) Triple-threat 檢查——skill 是否同時具備 shell + 網路 + 檔案系統存取。(6) Typosquat 偵測——skill 名稱是否假冒熱門合法 skill。(7) 隱藏功能掃描——markdown 註解、空白詭計、base64 編碼 payload。(8) 行為與描述一致性——實際程式碼是否符合 manifest 所宣稱的功能。
輸出是 0-100 風險分數、依 ATR rule ID 標記的發現列表、以及判定:CLEAN / WARN / BLOCK。CLEAN 直接安裝。WARN 需使用者確認。BLOCK 拒絕安裝。基於 confidence:高 confidence 的威脅自動 block,低 confidence 的發現以 advisory 呈現。輸出格式是 SARIF 2.1.0——產業標準機器可讀格式——可被 GitHub code scanning、Sonarqube、CI gate 直接吃。
Skill Auditor 有三種執行模式。CLI:panguard audit skill 。MCP tool:AI agent 透過 Model Context Protocol 呼叫 panguard_audit_skill。Pre-install hook:整合進 npm install,每次安裝都自動稽核。一個典型 skill 套件大約跑 60 秒。