一位工程師找到一個 AI agent 的擴充工具,剛好能解決團隊這週卡住的工作:自動整理 issue、產生變更紀錄。說明文件寫得很完整,GitHub 上的星星數不低,丟進安全掃描器跑一次,沒有任何警告。他準備把它裝進團隊共用的環境。

這裡說的擴充工具,在不同產品裡叫 skill、plugin 或 MCP server;最後這種是讓 AI 工具用統一方式連接外部資料與功能的介面。它們的共同點是:裝好之後,agent,也就是會自己連續執行多個步驟的 AI 助手,會在覺得需要的時候自動呼叫它,而且呼叫時帶著當下的任務內容、檔案和權限。

掃描器沒亮燈,就可以裝了嗎?2026 年 7 月的一篇研究給了一個不太舒服的答案:不行。擴充工具的風險在它跑起來之後,而安裝前的掃描看不到那個時候。比較可靠的判斷,是先在沒有真資料、沒有網路、不能寫入的環境讓它跑一次,看它實際碰了什麼。

掃描器看得到的,只有安裝時的樣子

掃描器確實有用。NVIDIA 開源的 SkillSpector 就是一個專門檢查 agent 擴充工具的掃描器,能找出資料外洩、供應鏈風險,以及提示詞注入等可疑模式;提示詞注入指的是在文字裡藏指令,讓 AI 做原本不該做的事。但它的說明文件也寫得很誠實:它只做靜態分析,從不執行被掃描的工具。

靜態分析看的是工具「看起來」是什麼樣子:程式碼裡有沒有可疑字串、檔案結構符不符合惡意模式。問題是,看起來的樣子可以偽裝。

危險的部分可以等到執行時才出現

2026 年 7 月發表在論文預印本平台 arXiv 的論文〈Cloak and Detonate〉測試了這件事。研究者設計了一種偽裝手法:把惡意的部分打包藏起來,安裝時看不到,等 agent 真的執行這個工具時才自動還原。他們拿 1,613 個惡意擴充工具測試八種掃描器,這種手法對每一種掃描器的躲過率都超過 90%。

同一篇論文也提出了對策:不看工具安裝時的樣子,改在隔離的沙盒裡實際執行它,追蹤敏感資料有沒有流出系統邊界。用這種方式,研究者報告能抓到 97% 的攻擊,誤報率 2%;換成真實世界的惡意工具,偵測率是 87%。

這兩組數字放在一起看,意思很清楚:判斷一個擴充工具危不危險,要看它跑起來時做了什麼,而不是安裝時長什麼樣子。

廣告

先在空房間裡跑一次

所以,掃描器的結果適合當成入場門檻:沒過就不必再看。過了之後,在裝進日常環境之前,還要做一次隔離試跑。小團隊不需要研究等級的沙盒,可以照這個順序做。

準備一個假的工作環境。 不要拿正式專案當第一個測試對象。做一個小型的假專案,結構模仿真的,裡面故意放幾個誘餌:假的設定檔、假的客戶資料、假的 API key(讓程式存取服務的鑰匙)。再給工具一個明確的任務,例如「整理這個專案的變更紀錄」。這樣不只看它能不能完成任務,也看它有沒有去碰那些誘餌。

把權限分三層開,能在第一層完成就不往上開。 第一層只給讀檔、不給網路;第二層允許連到少數指定的網域;第三層才給寫入,而且只能寫到指定的輸出資料夾。很多 AI 開發工具已經內建這種限制,例如 Claude Code 的沙盒會由作業系統強制限制指令能碰到的檔案與網域。如果工具在第一層就能完成主要任務,就沒有理由給它更多。

記下四種痕跡。 它讀了哪些檔案、寫了哪些檔案;連到哪些網域;呼叫了哪些工具或指令;最後的輸出有沒有出現它不該知道的內容。只要它碰了誘餌,或連到說明文件沒提到的地方,答案就是不裝。

一次乾淨的試跑,不等於永遠安全

隔離試跑只能看到這一次試跑碰到的行為。有心的惡意工具可以等特定條件才發作,例如偵測到正式環境的特徵才動手,所以一次乾淨的試跑不等於永遠安全。這也是為什麼試跑通過之後,正式使用時仍要保留同樣的權限限制和紀錄,而不是試跑一過就把權限全部打開。

風險也不只來自單一工具。一個只負責讀 issue 的工具,和另一個會自動開 PR 的工具,各自看起來都沒問題;但 agent 在同一個流程裡連續呼叫兩者,讀取和寫入就串起來了。多個工具之間的權限要怎麼分,參考〈多個 AI 模組搶著處理同一件事,該修的是誰能寫入〉。掃描器提出問題之後要不要讓工具自動修,則是另一個要由人判斷的關卡,參考〈AI 容器掃描工具自己也把線畫在這裡:機械修改可以自動,換基底映像要人決定〉。

下一次有人要裝第三方擴充工具,請他附上三件事:工具的來源和固定版本、它要完成的那一件任務、隔離試跑時它實際碰了哪些檔案和網域。三件事都說得出來,才進團隊環境。

AI 整理卡

請 AI 幫你規劃一次擴充工具的隔離試跑 這段提示詞會先問清楚你要裝的工具和用途,再幫你設計假資料、權限分層與要記錄的痕跡,最後依試跑結果判斷要不要裝。

我準備替團隊安裝一個第三方 AI agent 擴充工具(skill、plugin 或 MCP server),掃描器沒有發現問題,但我想先做一次隔離試跑。
判斷方法來自這篇文章:https://boosterminiclass.com/posts/ai-agent-skill-install-runtime-risk-checklist/
文章的看法是:靜態掃描看不到執行時才出現的行為,所以安裝前要在沒有真資料、沒有網路、不能寫入的環境跑一次,看它實際讀了什麼、連到哪裡、呼叫了什麼,再決定能不能裝。

請先問我 3 個問題:
1. 這個工具是什麼、來源與版本是什麼,要完成哪一件任務;
2. 它的說明文件宣稱需要哪些檔案、網路和寫入權限;
3. 我們有什麼可以用來隔離試跑的環境(例如容器、測試機、AI 工具內建的沙盒)。

根據我的回答,請輸出:
- 一份假專案的設計:要模仿哪些結構、放哪些誘餌(假設定檔、假客戶資料、假 API key);
- 三層權限的試跑順序,以及每一層要觀察的重點;
- 試跑時要記錄的四種痕跡,以及哪些情況代表直接不裝;
- 一份給同事看的結論格式:可以裝/限定範圍裝/不裝,附上理由。
不要假設我有我沒提到的工具或環境;資訊不足時先問我。

試跑結果只能說明這一次看到的行為,裝不裝,仍要由負責這個環境的人決定。

廣告

Share

分享這篇微課

如果這篇剛好解開一個工作卡點,可以分享給也在判斷 AI 怎麼用的人。

參考來源