Bible Network Crypto DeFi Onchain RWA AI Agent Stablecoin Chain SAFU CryptoTax DeFAI AGI Claude Me Claude Skill Claude Design Claude Cowork
獨立知識媒體
與任何項目無關聯
拆解加密世界的 AI Agent:機制、風險、經濟模型
aiagent-bible.com
最新
為什麼 AI 代理付款產品幾乎都不讓你用密碼了?  ·  怎麼知道你信任的 MCP 工具,內容已經被悄悄換掉?  ·  把「二選一法則」套進你的 Agent 架構:三種實作方式的取捨  ·  AI 代理幫你花錢時,錢包裡的鑰匙其實不在它手上  ·  接第三方 MCP 伺服器前,「已驗證」標章保護不了你——實務審查清單  ·  開發者該挑哪套 Agent 支付協議?先看交易型態,不是先看陣營
risk

怎麼知道你信任的 MCP 工具,內容已經被悄悄換掉?

30 秒速讀
不管新內容偽裝得多好,只要雜湊值對不上,警報就會觸發——工具鎖定機制不需要判斷惡意,只需要確保沒有變更被悄悄放過。

完整解析 +
01 · 為什麼發生?

如果攻擊者知道系統有做雜湊比對,能不能想辦法繞過這個偵測?

雜湊比對這個機制本身在密碼學上很難被直接繞過——只要工具說明的文字內容有任何一個字元不同,計算出來的雜湊值就會完全不同,這是雜湊函數的基本特性,攻擊者無法透過調整攻擊指令的措辭來讓修改後的內容產生跟原始版本相同的雜湊值。真正的攻擊面不在雜湊演算法本身,而在雜湊比對機制有沒有被正確、持續地執行——例如系統是否只在初次安裝時做一次雜湊記錄,之後從未再比對;或是主動代理模式沒有被啟用,只依賴一次性的被動掃描,這樣攻擊者只要挑在被動掃描之後的空窗期動手,變更依然不會被即時發現。

這也是為什麼被動掃描(一次性檢查)跟主動代理(持續監控)需要搭配使用的實際原因:如果組織只做了初次上線前的雜湊記錄,卻沒有建立持續性的重新比對機制,等於雖然有了偵測工具,卻沒有把它真正運作起來,這種「有工具但沒有持續使用」的落差,才是攻擊者真正能利用的空間,不是雜湊演算法本身的弱點。

02 · 運作原理是什麼?

Invariant Labs 被 Snyk 收購後改名,這對已經在用 MCP-Scan 的團隊有什麼實際影響?

從技術延續性的角度來看,被具備更大資源的資安公司收購,通常代表工具的長期維護會更有保障——獨立小型研究團隊開發的開源工具,常見的風險是核心開發者轉移重心後專案停止更新,Snyk 收購後把 MCP-Scan 整合進企業級 Agent Scan 產品線,反而代表這套工具有更明確的商業化路徑跟持續投入的誘因,這對依賴它做長期防護的團隊是正面訊號。

需要留意的實務細節是,收購後的產品定位可能出現分層——開源版本繼續維持基本功能(如文件中提到的免費、Apache 2.0 授權),企業級功能(如更完整的持續背景監控、跨團隊儀表板)可能被劃入付費的 Snyk Agent Scan 產品線。如果你的團隊目前用的是開源版本,值得定期確認核心的偵測能力(工具鎖定、提示注入偵測)是否仍然維持在開源授權範圍內,而不是假設收購前後功能完全沒有變化。

03 · 如何應用

Tool Pinning 需要「第一次記錄的版本就是乾淨的」這個前提,如果一開始記錄的就已經是被污染的版本呢?

這是一個真實存在的限制,工具鎖定機制本質上是「凍結某個時間點的狀態,之後追蹤變化」,它沒有能力回答「這個被凍結的初始狀態本身乾不乾淨」——如果攻擊者一開始發布的就是已經帶有惡意指令的工具(也就是工具描述污染本身,而不是後續才變質的地毯式撤除),雜湊比對機制會忠實地把這個惡意版本當成「基準」記錄下來,之後只要沒有再變更,就不會觸發任何警報。

這也是為什麼工具鎖定跟語意層的偵測(例如 MCP-Scan 呼叫 Invariant Guardrails API 做的惡意指令分析)需要同時存在,而不是互相取代:語意偵測負責在工具第一次被記錄之前,先做一次「這個初始版本本身乾不乾淨」的判斷;工具鎖定負責的是「確認過乾淨之後,之後有沒有偷偷變質」。兩者處理的是攻擊生命週期裡不同的階段,只做其中一項,等於在整條攻擊鏈裡留下另一段沒有防護的空窗。

04 · 我該怎麼做?

如果我的團隊決定導入工具鎖定機制,實務上該由誰負責看警報、多久檢查一次比較合理?

比較可行的起點是先把工具依關鍵程度分級,而不是用同一套節奏處理所有工具。直接接觸私有資料或有對外通訊能力的高風險工具(可以對照致命三要素框架判斷),警報應該接近即時處理,由固定的資安或平台團隊成員輪值負責;只用來讀取公開資訊、風險相對低的工具,可以用每日或每週彙整的方式批次複核,不需要每次變更都中斷正常工作流程去處理。

責任歸屬上,工具鎖定機制產生的警報不該只丟給資安團隊單方面判斷「這個變更看起來合理嗎」——資安團隊通常不熟悉每個工具的業務脈絡,沒辦法獨立判斷一次功能更新是否合理,比較務實的做法是讓警報同時通知該工具的實際使用團隊(例如導入某個 MCP 伺服器的產品或工程團隊),由業務脈絡的擁有者跟資安團隊共同確認變更是否在預期範圍內。這也是為什麼在導入這套機制之前,先講清楚警報觸發後誰該在多久之內回應、責任怎麼分工,比單純安裝好工具本身更重要——沒有明確流程的警報系統,最終往往會退化成沒有人真正看的通知信箱。

完整內容 +

地毯式撤除攻擊(rug-pull attack)最難處理的地方,不在於攻擊手法有多精巧,而在於它利用的是一個結構性的觀察盲區:你不會去持續盯著一個「已經確認安全」的東西。一個工具通過初期審查、被寫進常用清單、被多個流程依賴之後,它就從「需要被檢視的對象」變成「背景裡理所當然存在的基礎設施」——而這正是攻擊者選擇動手的時間點。要防範這類攻擊,不能只依賴人的警覺性,需要有工具把「內容有沒有變」這件事變成一個自動化、可被觀察的訊號。

核心技術:用雜湊值追蹤內容有沒有被動過手腳

目前業界處理這個問題最直接的技術手段叫做「工具鎖定」(Tool Pinning):在工具第一次通過審查、被信任的那一刻,對它的完整說明文字計算一個雜湊值(hash)並記錄下來,之後每次系統跟這個工具互動之前,重新計算一次目前的雜湊值,跟記錄下來的原始值比對——只要工具說明有任何一個字元被改動,雜湊值就會完全不同,這個機制不需要理解「這段新內容是不是惡意的」,只需要偵測「內容變了」這個事實本身,把判斷惡意與否的工作留給後續的人工複核。這個做法的優勢在於它不依賴語意理解,因此不會被「這段新指令看起來很專業、很合理」這種社會工程手法騙過——不管新內容偽裝得多好,只要雜湊值對不上,警報就會觸發。

開源工具 MCP-Scan 怎麼實作這個機制

由 Invariant Labs(蘇黎世聯邦理工學院的衍生新創,由 Martin Vechev、Florian Tramèr 等教授與研究人員共同創立)開發的開源掃描工具 MCP-Scan,已經內建工具鎖定功能。這套工具提供兩種運作模式:被動掃描模式用於單次的漏洞檢查,掃描設定檔裡列出的所有 MCP 伺服器,取得工具描述,同時進行本地檢查跟呼叫 Invariant Guardrails API 做語意層的惡意指令偵測;主動代理模式則透過在本機注入一個暫時性的閘道器,持續監控並攔截 MCP 流量,能即時執行防護規則,包括偵測跨來源權限升級(工具影子攻擊)跟阻擋不符合政策的工具呼叫。MCP-Scan 在 GitHub 上已累積超過 2,000 顆星標,是目前採用率最高的 MCP 安全掃描工具,並在 2025 年 6 月被資安公司 Snyk 收購,現已整合進 Snyk 的 Agent Scan 企業級產品線,持續維護更新,最新版本發布於 2026 年 4 月。

雜湊比對能抓到什麼,抓不到什麼

工具鎖定機制能可靠偵測到的,是工具描述文字本身的任何變動——不管變動的原因是攻擊者植入惡意指令,還是單純的合法功能更新,雜湊值都會不一致並觸發告警,這代表這套機制本身無法區分「惡意變更」跟「正常更新」,只能告訴你「有變更發生」,後續判斷仍然需要人工介入:查看變更前後的差異內容,比對是否有對應的公開變更說明,評估新增或修改的內容是否合理。這個限制不是缺陷,而是設計上刻意的取捨——比起讓自動化系統嘗試判斷語意上的惡意與否(容易被巧妙包裝的攻擊繞過),把判斷惡意與否這件事留給人,把系統的角色限定在「確保任何變更都不會被悄悄放過」,是更穩健的分工方式。這也是為什麼被動掃描(一次性檢查)跟主動代理(持續監控)需要搭配使用:被動掃描解決的是「這個工具現在乾淨嗎」,主動代理解決的是「這個工具之後有沒有偷偷被改」,只做前者代表你依然對地毯式撤除攻擊完全曝險。

這跟你的錢有什麼關係

如果你的 Agent 系統依賴任何第三方 MCP 伺服器,導入工具鎖定機制的實際效益是把「地毯式撤除攻擊什麼時候會被發現」,從「損害已經造成、事後追查」提前到「內容一變更就立刻知道」——這個時間差直接決定攻擊視窗的長短,也決定你的鑑識成本高低。沒有這個機制,你能仰賴的只有工具停止正常運作或造成明顯異常時才會發現問題,這時攻擊者早已達成目的;有了這個機制,即使無法在第一時間判斷變更是否惡意,至少能在變更發生的當下就啟動複核流程,把「不知道發生了什麼」跟「知道發生了變更、正在查證」這兩種狀態明確區分開來,後者的風險等級跟需要投入的應變資源,遠低於前者。

圖解
工具鎖定機制運作流程初次信任時記錄雜湊值作為基準,之後每次互動前重新計算並比對,不一致就觸發警報交由人工複核,機制本身不判斷惡意與否Tool Pinning: Hash-Based Change DetectionInitial TrustHash recordedas baselineEvery InteractionRecompute hashCompare to baselineMismatch?Alert →Human reviewDoes NOT judge intent — only detects that content changedPassive scan: one-time check · Active proxy: continuous monitoringAI Agent Bible · aiagent-bible.com
歡迎截圖分享,轉載請註明來源
提問
請至少輸入 10 個字
相關文章
接第三方 MCP 伺服器前,「已驗證」標章保護不了你——實務審查清單
risk · 07/31
致命三要素檢查清單:你的 Agent 有幾項危險屬性?
risk · 07/30
Agent 能用你的密碼,但看不到它:1Password 與 Claude 的零暴露憑證架構怎麼運作
risk · 07/30
怎麼在採購或投資前戳破 Agent Washing:四個能實測的判斷問題
risk · 07/28