AI 供應鏈安全
SkillGate 以規則預篩代理技能,LLM 輸入量減少 77% 但仍漏掉近四分之一攻擊
開源 SkillGate 在代理載入技能前,以 530 條規則定位可疑片段,再交由 LLM 判斷與隔離。官方基準測得 1.13% 誤報率及 76.9% 召回率,顯示低成本閘道可行,但尚不能取代沙箱與最小權限。

研究團隊於 7 月 28 日公開 SkillGate,試圖替 Coding Agent 的 `SKILL.md`、MCP 回應及技能安裝流程增加一道執行前檢查。這類 Markdown 不一定包含傳統惡意程式,卻能以代理信任的指令要求讀取憑證、執行命令或把資料傳往外部端點,因此一般針對原始碼與套件二進位檔的掃描器未必能辨識。
SkillGate 採兩階段架構。第一階段使用 530 條規則搜尋遠端執行、憑證存取、提示注入、路徑穿越及網路行為等訊號;沒有命中的檔案直接放行,不呼叫模型。命中後,系統只擷取周圍預設 500 個字元、最多 20 個視窗,交由 LLM 分成 SAFE、SUSPICIOUS 或 MALICIOUS,再由政策引擎決定允許、警告、隔離或阻擋。專案提供 MCP 代理服務、技能安裝攔截器及 Cursor、Claude Code、Copilot、Gemini CLI、Windsurf 的設定入口。
在包含 1,650 個技能、其中 150 個為惡意樣本的 SkillsBench 上,論文報告 F1 為 0.817、召回率 0.769、誤報率 1.13%,AUPRC 為 0.830。67.2% 的檔案完全略過 LLM,其餘只送可疑片段,使輸入 token 從約 302 萬降至 69.9 萬,減少 76.9%;加權平均延遲約 818 毫秒。這種設計的重點不是讓正規表示式直接定罪,而是用它縮小語意判斷範圍。
限制也很明確:76.9% 召回率意味著約四分之一惡意樣本仍可能通過;零規則命中即視為安全,也會對新型、經改寫或跨檔案攻擊形成盲點。基準中的惡意案例為人工設計,LLM 判定又有非決定性,目前結果主要來自作者自己的測試。部署者應把 SkillGate 視為供應鏈篩選層,仍需搭配簽章與來源鎖定、網路出口限制、秘密隔離、工具逐次批准及執行沙箱。