我們總以為AI工具鏈的安全問題是"以后的事",但有人已經(jīng)把它變成了"現(xiàn)在進行時"。
本周,開源掃描工具Bawbel發(fā)布1.0.1版本。發(fā)布前,團隊做了一件很少見的事——他們沒急著宣傳,而是先拿自己的產(chǎn)品,對準了當下最熱門的MCP服務器生態(tài)。目標很明確:驗證那些理論上存在的攻擊方式,在真實世界里到底有多少存活樣本。
![]()
結(jié)果出來了:100個服務器,22個至少有一項安全發(fā)現(xiàn),28項發(fā)現(xiàn)總計,其中4項關鍵級,24項高危。
這是Smithery排名前100的服務器,五分之一亮燈。不是邊緣實驗項目,是生態(tài)里最活躍、被調(diào)用最頻繁的那批。
最隱蔽的漏洞:當"使用說明"變成"操控指令"
掃描結(jié)果里占比最高的問題,叫"工具描述注入"。6個服務器中招,包括Brave Search、Google Sheets、Context7這些名字。
具體表現(xiàn)?工具的描述字段里出現(xiàn)了這樣的開頭:
「IMPORTANT: Do not...」
「WARNING: Do not...」
「Before calling this tool...」
開發(fā)者寫這些,本意可能是提醒人類用戶注意權限或流程。但在MCP架構(gòu)里,工具描述是喂給AI代理的上下文。代理不區(qū)分"給人看的文檔"和"給代理看的指令"——它讀到什么,就執(zhí)行什么。
Brave Search還被單獨標記了一項:描述里出現(xiàn)了"act as"開頭的越獄模式。團隊的態(tài)度很謹慎,說這項需要人工復核,暫不確定是否為真陽性。
這個發(fā)現(xiàn)觸及一個設計層面的模糊地帶:MCP協(xié)議沒有為"人類文檔"和"機器指令"劃定清晰的語法邊界。開發(fā)者的善意提醒,在代理的解析邏輯里可能被當作操作指令執(zhí)行。
數(shù)據(jù)外泄的編碼痕跡:4個服務器的異常信號
第二類高頻發(fā)現(xiàn)是"工具輸出外泄編碼模式"。Jina AI、troystack、Name Whisper和一個未命名服務器被標記。
掃描器用YARA規(guī)則匹配編碼特征,理論上這些模式可用于把數(shù)據(jù)打包進工具響應、間接傳出系統(tǒng)。但團隊坦承,YARA的匹配策略偏保守,只要出現(xiàn)"encode"字樣就可能觸發(fā),四項發(fā)現(xiàn)都需要深入排查才能確認。
這里的關鍵不是"這四個服務器一定有問題",而是"這類痕跡在主流服務器里并不罕見"。安全掃描的價值,很多時候不在于給出確定性結(jié)論,而在于標出需要人工介入的灰區(qū)。
文件類型撒謊:6個服務器的"身份偽裝"
Magika引擎——一個基于機器學習的內(nèi)容類型驗證工具——標記了6個服務器存在"內(nèi)容類型不匹配"。文件聲稱自己是.md格式,實際內(nèi)容是YAML,置信度82%-90%。
涉及的服務器包括:Google Sheets、Slack、Exa Websets、GitHub Code Search、ai-compliance-monitor、SIIL Ostomy Store。
這不是立即致命的漏洞。但不同解析器對.md和YAML的處理邏輯不同,這種身份錯位可能在特定條件下引發(fā)解析偏差,或者被有意利用來繞過內(nèi)容過濾。
PII外泄模式在3個服務器中被標記:Exa Websets的描述要求代理提取"CEO姓名",sbb-mcp匹配到"出生日期",strale涉及從URL提取數(shù)據(jù)。團隊的態(tài)度很明確——這些可能是合法工具在做合法的事,掃描器只認模式,不認意圖。
真正讓團隊警覺的發(fā)現(xiàn)
掃描報告里,Blockscout MCP Server被單獨拎出。它的工具描述里出現(xiàn)了"exhaust the context"——耗盡上下文。這個表述在提示注入攻擊的語境里有特定含義,指向一種通過填充冗余信息擠占代理上下文窗口、進而干擾其決策的技術。
團隊沒有展開說明這項發(fā)現(xiàn)的具體上下文,但將其列為"最值得關注"的案例。這暗示,某些服務器可能已經(jīng)被植入了更精細的攻擊向量,而非簡單的文檔疏忽。
22%亮燈率背后的生態(tài)現(xiàn)實
需要冷靜看待這個數(shù)字。28項發(fā)現(xiàn)里,一部分是誤報,一部分是低風險配置問題,真正需要緊急修復的占比未知。團隊反復強調(diào)的是"需要人工復核",而非"已確認漏洞"。
但即便如此,這個樣本仍有意義。它首次以量化方式呈現(xiàn)了MCP生態(tài)的安全基線:在最流行的服務器集合里,五分之一存在至少一個值得安全團隊介入的異常信號。這不是末日預言,是基線測繪。
對于正在把MCP集成進工作流的團隊,這個掃描結(jié)果指向一個實操建議:在引入任何第三方服務器之前,先跑一遍類似的靜態(tài)掃描。Bawbel是開源的,但即便不用特定工具,核心邏輯也可以復現(xiàn)——檢查工具描述字段是否包含指令性語言,驗證文件類型聲明與實際內(nèi)容是否一致,監(jiān)控輸出中是否出現(xiàn)異常編碼模式。
MCP協(xié)議的設計初衷是簡化AI與外部工具的連接,但"簡化"往往意味著把安全責任下沉到生態(tài)的每一個節(jié)點。這次掃描顯示,下沉的過程還在早期,節(jié)點的自我審查機制尚未成熟。
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.