AI 技能包也是注入入口:954 個熱門技能的掃描結果,和買 AI 系統前的第八個問題
先講結論:你裝進 AI 助理的技能包,本身就可能是注入的入口。一篇 2026 年 9 月的論文掃了 954 個熱門技能,自動工具標記了大約一成七,拿其中 5 個實際去打,30 次嘗試裡 13 次得手。這對正在買「AI 一人公司系統」的人特別重要,因為那些系統賣的就是一大包技能。
先揭露立場:論文拿來比較的掃描器之一是 NVIDIA 的 SkillSpector,我們有兩筆 PR 合併進那個專案。我們自己也做提示詞防禦掃描。下面的數字全部照論文與官方文件原文,限定條件一起寫。
什麼是技能,為什麼它是入口
技能是一包可以重複使用的指令、腳本與設定。裝進 Claude Code 這類 AI 程式助理之後,它就多會一件事:整理發票、寫週報、審合約。
問題在於技能同時是指令和程式碼。Anthropic 的官方文件講得很直接:技能透過指令與程式碼給 Claude 新能力,所以惡意技能可以讓 Claude 以不符合技能宣稱用途的方式呼叫工具或執行程式碼。
還有一句更要緊:在 Claude Code 裡,技能的網路權限跟你電腦上任何程式一樣。透過 API 跑的技能則在沒有網路的沙盒裡。同一個技能,裝在本機跟跑在雲端,能碰到的東西完全不同。
論文量到什麼
《SkillSecurer》,都靈理工大學(Politecnico di Torino)五位作者,2026 年 9 月 12 日提交到 arXiv。
他們做了一個兩邊對打的系統:紅方把九種注入塞進技能並記錄改了哪裡,藍方分析整包技能、找出問題並提出修補。然後拿去掃真實世界。
| 項目 | 論文原始數字 | 要加的限定 |
|---|---|---|
| 真實樣本 | skills.sh 2026 年 7 月 3 日快照中,最熱門且有第三方掃描紀錄的 954 個技能 | skills.sh 是 Vercel 的技能目錄 |
| 被標記 | 168 個(17.6%),共 289 項發現 | 這是工具標記的比例,不是確認的比例 |
| 人工複核 | 三位審查者看 100 項發現,多數確認 84 項 | 作者判斷是潛在漏洞,不是刻意埋的注入 |
| 實際攻擊 | 挑 5 個技能,30 次模型與技能組合裡 13 次得手 | 5 個技能身分保密,等協調揭露 |
| 修補後重打 | 同 5 個技能,30 次裡剩 3 次得手 | 只量這 5 個技能 |
| 修補建議審查 | 75 項確認發現的修補建議,65 項被評為有效(86.7%) | 另一個母體,論文沒說包不包含那 5 個 |
| 偵測率 | 在 345 個受控樣本上 100% | 只在受控樣本、而且後端用 Claude Sonnet 5 時成立 |
實際攻擊的方式很平常:把惡意內容放進技能本來就會讀的外部輸入,例如工單、程式碼合併請求、網頁。技能照常工作,讀到那段內容,就被帶走了。
論文列的五種實測攻擊機制,每一種都不需要什麼高深技巧:把已登入的瀏覽器工作階段開成沒有驗證的代理、把網頁內容直接丟進終端機執行、執行別人送來的合併請求裡的程式碼、請求參數沒跳脫就塞進指令、把登入憑證轉給第三方。
最值得記住的一句
all models recognise the risks in Skills B and C, yet some still execute the corresponding attack.
所有模型都認出了其中兩個技能的風險,但還是有模型照做。
認得出危險,不等於不會照做。 這跟微軟同期公開的結論是同一件事。
微軟:模型不是安全邊界
微軟在 2026 年 5 月的安全部落格公開了自家 agent 框架 Semantic Kernel 的兩個漏洞:
| 漏洞 | 分數 | 發生了什麼 | 修補版本 |
|---|---|---|---|
| CVE-2026-25592 | 9.9(GitHub 評分) | 一個下載檔案的函式不小心被標成模型可以呼叫的工具,而且沒有路徑檢查 | .NET 版 1.71.0;GitHub 安全通報也列了 Python 版,1.39.3 修補 |
| CVE-2026-26030 | 9.9(GitHub 評分) | 向量資料庫的篩選功能把模型給的參數直接當程式執行 | Python 版 1.39.4 |
微軟示範的攻擊鏈只要兩句注入:先叫 agent 在隔離容器裡產生惡意腳本,再叫它用那個下載工具把腳本寫到主機的開機啟動資料夾。下次登入,整台主機就淪陷了。
微軟自己的結論原句:
your LLM is not a security boundary. The tools you expose define your attacker's affected scope.
模型不是安全邊界。你開放給它的工具,決定了攻擊者能碰到的範圍。
同一類問題在程式編輯器也出現過:CVE-2026-22708,Cursor 在自動執行模式下,某些終端機內建指令不在允許清單上也能執行,攻擊者可以透過注入改環境變數,影響本來被信任的指令。2.3 版修補。這個漏洞的分數兩邊差很多:NIST 評 9.8,GitHub 評 7.2,引用時要說是誰評的。
三個漏洞都已修補,公開資料沒有在野利用的紀錄。
對應到 OWASP
OWASP 2025 年 12 月發布的 Agentic 應用十大風險,這篇講的東西落在四格:ASI01 代理目標劫持、ASI03 身分與權限濫用、ASI04 代理供應鏈漏洞、ASI05 非預期的程式碼執行。論文的發現裡,數量最多的就是 ASI05(96 項)和 ASI01(84 項)。
買 AI 一人公司系統前的第八個問題
我們前幾天寫過買 AI 一人公司系統前該問的七個問題。那些系統的本體,就是裝進你 Claude Code 或 Codex 的一大包技能、規則與腳本,跑在你有完整網路權限的電腦上。
所以要加第八問:這包技能能碰到什麼?
拆成五個子問題:
- 每個技能是誰寫的?有沒有來源可以追?
- 會不會連網?連去哪裡?
- 會不會去外部網址或工單、信件抓內容,再交給模型讀?(論文的攻擊全部走這條路)
- 會不會執行腳本?腳本裡有沒有把外部內容直接塞進終端機?
- 有沒有被掃描過?用什麼工具、結果給不給看?
Anthropic 的官方建議是只用自己寫的或 Anthropic 提供的技能;外來技能要把每個檔案都看過,特別留意不預期的網路呼叫與檔案存取。企業版可以對上傳的自訂技能開內容掃描,但官方也寫明,透過 API 或 Console 上傳的技能不在掃描範圍。
拿第八問對我們自己
我們賣的手冊附一個工具包。照上面五題查了一次:
- 沒有 SKILL.md,工具包是腳本、hook 與範本,不是技能。
- 有四支會連網:兩支把警報送到你自己設定的 Telegram bot;一支用 curl 抓你自己指定的網址來比對內容;一支開無頭瀏覽器到你指定的網址,照你給的欄位填表並按送出。最後這支會真的送出資料,只該對自己的測試環境跑。
- 沒有任何一支把抓回來的內容交給模型當指令。抓網頁和開瀏覽器那兩支,都只是拿頁面找成功或失敗的字串。
- 另外有兩支是 hook。它們不會自己裝上去,要你寫進專案的
.claude/settings.json;接上之後,每次 Claude Code 收工都會自動執行,用的是你本機的權限。這幾點購買頁原本沒寫清楚,寫這篇時已經補上權限說明。 - 沒有經過第三方掃描。這一格我們沒做到。
能做的事
- 用技能之前,先看它會讀哪些外部輸入。會讀網頁、工單、信件的技能,等於把陌生人的文字接進你的助理。
- 能在沙盒或 API 跑的,就不要放在有完整網路權限的本機跑。
- 把「模型自己會判斷」從防線清單裡拿掉。論文和微軟都說明了,它認得出來也可能照做。
- 如果你在做會收使用者輸入的 AI 應用,UltraProbe 的提示詞防禦掃描可以幫你看系統提示有沒有基本防線;它檢查的是你的應用,不是你裝的技能包。
資料來源
- Mecca、Verna、Bouchari、Jha、Mellia,SkillSecurer,arXiv 2609.14079,2026-09-12
- Microsoft Security Blog,When prompts become shells,2026-05-07
- NVD:CVE-2026-25592、CVE-2026-26030、CVE-2026-22708;GitHub 安全通報 GHSA-2ww3-72rp-wpp4
- Anthropic,Agent Skills 官方文件,Security considerations 一節
- OWASP,Top 10 for Agentic Applications,2025-12-09
常見問題
AI agent 的技能(skill)是什麼?
一包可以重複使用的指令、腳本與設定,裝進 Claude Code 這類 AI 程式助理後,讓它多會一件事。Anthropic 的官方文件寫明技能透過指令與程式碼給 Claude 新能力,所以惡意技能可以讓 Claude 以不符合技能宣稱用途的方式呼叫工具或執行程式碼。
熱門技能真的有 17% 有漏洞嗎?
要加限定。論文掃了 954 個熱門技能,工具標記了 168 個,比例 17.6%。人工只抽查了其中 100 項發現,三位審查者多數確認 84 項,而且判斷是潛在漏洞,不是有人刻意埋的注入。所以準確的說法是:自動工具標記約一成七,抽查確認率約八成四。
模型看得出危險就不會中招嗎?
不一定。論文拿 5 個有潛在漏洞的技能實際攻擊,30 次模型與技能的組合裡有 13 次攻擊成功;作者特別寫到,所有模型都認出其中兩個技能的風險,但仍有模型照做。修補後降到 30 次裡 3 次。
用 Claude Code 裝技能要注意什麼?
Anthropic 官方建議只用自己寫的或 Anthropic 提供的技能,外來技能要逐檔審查。官方文件也寫明,在 Claude Code 裡技能的網路權限跟你電腦上任何程式一樣;透過 API 跑的技能則在沒有網路的沙盒裡。技能若會去外部網址抓內容,風險特別高,因為抓回來的內容可能夾帶指令。
買 AI 一人公司系統要多問什麼?
問技能包的來源與權限:每個技能是誰寫的、會不會連網、會不會去外部網址抓內容再交給模型、會不會執行腳本、有沒有被掃描過。這些系統本質上就是一大包技能,裝在你有完整網路權限的電腦上。