top of page

當AI成為雙面刃:MCP提示注入技術的善與惡

  • 作家相片: Hao Chen Lu
    Hao Chen Lu
  • 5月28日
  • 讀畢需時 6 分鐘

Source: TWCERT/CC台灣電腦網路危機處理暨協調中心


Anthropic於2024年底提出的「模型上下文協定(Model Context Protocol, MCP)」是一項創新框架,旨在讓大語言模型(LLM)與外部系統無縫連接。 透過MCP框架,AI模型不僅能查詢資料與執行運算,還可利用API與外部資源互動,大幅提供其應用的靈活性與實用性。 然而,MCP將LLM與外部系統做連結是一把雙面刃,提供AI存取權限、帶來更高便利性與自動化效率的同時,也擴大了攻擊面,為資安防護帶來新的挑戰。 MCP可以視為一種通用的「翻譯器」,讓LLM能即時與外部系統互通,透過這項機制,模型可動態獲取最新資訊,如即時天氣、使用者當下的資料配置等,並將其整合於回應中,有效解決過去LLM所面臨資訊無法即時的問題。 圖1: 用戶端和伺服器端於MCP架構中的通訊。 圖片來源:SentinelOne 第一種常見的攻擊:惡意工具(Malicious Tools) 惡意工具是一種較為直接且普遍使用的攻擊手法,攻擊者透過偽裝名稱相同的合法工具,誘使使用者在建構MCP過程中,不慎使用包含惡意程式的工具,攻擊者可能在使用者系統中執行惡意程式,或試圖影響使用者所建置的雲端伺服器及基礎設施。 儘管如此,透過對工具描述、發布來源等細節的仔細檢視,仍可察覺潛在異常。 以圖2為範例,攻擊者創建名為「daily_report_analysis」的惡意工具,當使用者啟動MCP時,此惡意工具即不慎被呼叫使用。 圖2: 惡意MCP伺服器在背景執行惡意活動之流程圖。 圖片來源:SentinelOne 第二種攻擊:MCP Rug Pulls 「MCP Rug Pulls」是一種透過建立初期信任,再進行惡意行為的延遲性攻擊。 簡單來說,這類工具在初期看似正常、安全,使用者將其串接至MCP伺服器並使用運作一段時間後,彼此建立信任後,工具的開發者不另行通知的情況下修改其內部描述,插入僅對AI可見的惡意指令,便可能觸發未經授權的行為。 圖3為MCP Rug Pulls攻擊流程。 圖3: MCP Rug Pulls攻擊流程。 圖片來源:invariantlabs 第三種攻擊:工具中毒攻擊(Tool Poisoning Attack, TPA) 工具中毒攻擊則屬於更高階且更為隱蔽的技術型攻擊,與直接誘使使用者執行惡意工具不同,攻擊者會將惡意指令嵌入MCP工具描述中,這些指令對使用者而言是不易察覺的,但對AI模型卻是可辨識並可執行。 當AI模型依據描述進行操作時,可能在使用者毫未注意的情況下執行未授權行為,例如存取敏感檔案(SSH Key、設定檔和資料庫等)、誘導AI傳輸敏感資料並對使用者隱藏此次操作等。 圖4為invariantlabs研究員提供的範例。 當使用者使用add函數功能時,僅看到第18行「return a+b」,而不會看到第3行至第16行要求AI模型讀取敏感設定檔「~/.cursor/mcp.json」、存取SSH私鑰「~/.ssh/id_rsa」、透過「sidenote」參數以隱藏方式傳輸資料,但這些對於AI模型而言是可識別且可執行。 圖4:隱藏惡意指令在MCP工具中。 圖片來源:invariantlabs 第四種攻擊:跨工具汙染(Cross-Tool Contamination) 當使用者允許單一LLM代理程式與多個來自不同MCP伺服器上的工具互動時,可能出現伺服器互相干擾的風險。 具惡意意圖的MCP伺服器可透過注入隱藏指令,悄悄竄改原本受信任的工具行為,無須直接執行惡意工具,即可對系統造成破壞。 圖5為跨工具汙染的案例說明,「daily_report_analysis」工具的描述已遭惡意修改,當另一個原本受信任的工具「send_daily_email」執行調用該工具時,觸發潛在其中的惡意指令。 在這個情境中,「send_daily_email」除了執行原有的發信任務外,額外向攻擊者發送一封電子郵件且不通知使用者此操作。 圖5:跨工具汙染破壞受信任工具之流程圖。 圖片來源:SentinelOne 總結來說,MCP伺服器雖然替AI生態系帶來高度彈性與便利性,但因串接第三方平台,在此之間是無條件信任而無任何端點驗證、完整性檢查以及透明化機制,所以具有極高的資安風險,這些是MCP未來需要改進的部分。 根據上述的資安風險,提出以下幾項資安防禦建議: 工具的敘述應對使用者是可見、明確定義和區分使用者和AI的指令 執行MCP工具之前,應透過Hash或簽章驗證等機制確認工具內容未被竄改 多個MCP伺服器共同運作時,應對邊界和資料實行嚴格的控管,並使用安全代理工具,確保彼此之間的安全性

Anthropic於2024年底提出的「模型上下文協定(Model Context Protocol, MCP)」是一項創新框架,旨在讓大語言模型(LLM)與外部系統無縫連接。 透過MCP框架,AI模型不僅能查詢資料與執行運算,還可利用API與外部資源互動,大幅提供其應用的靈活性與實用性。 然而,MCP將LLM與外部系統做連結是一把雙面刃,提供AI存取權限、帶來更高便利性與自動化效率的同時,也擴大了攻擊面,為資安防護帶來新的挑戰。 MCP可以視為一種通用的「翻譯器」,讓LLM能即時與外部系統互通,透過這項機制,模型可動態獲取最新資訊,如即時天氣、使用者當下的資料配置等,並將其整合於回應中,有效解決過去LLM所面臨資訊無法即時的問題。 圖1: 用戶端和伺服器端於MCP架構中的通訊。 圖片來源:SentinelOne 第一種常見的攻擊:惡意工具(Malicious Tools) 惡意工具是一種較為直接且普遍使用的攻擊手法,攻擊者透過偽裝名稱相同的合法工具,誘使使用者在建構MCP過程中,不慎使用包含惡意程式的工具,攻擊者可能在使用者系統中執行惡意程式,或試圖影響使用者所建置的雲端伺服器及基礎設施。 儘管如此,透過對工具描述、發布來源等細節的仔細檢視,仍可察覺潛在異常。 以圖2為範例,攻擊者創建名為「daily_report_analysis」的惡意工具,當使用者啟動MCP時,此惡意工具即不慎被呼叫使用。 圖2: 惡意MCP伺服器在背景執行惡意活動之流程圖。 圖片來源:SentinelOne 第二種攻擊:MCP Rug Pulls 「MCP Rug Pulls」是一種透過建立初期信任,再進行惡意行為的延遲性攻擊。 簡單來說,這類工具在初期看似正常、安全,使用者將其串接至MCP伺服器並使用運作一段時間後,彼此建立信任後,工具的開發者不另行通知的情況下修改其內部描述,插入僅對AI可見的惡意指令,便可能觸發未經授權的行為。 圖3為MCP Rug Pulls攻擊流程。 圖3: MCP Rug Pulls攻擊流程。 圖片來源:invariantlabs 第三種攻擊:工具中毒攻擊(Tool Poisoning Attack, TPA) 工具中毒攻擊則屬於更高階且更為隱蔽的技術型攻擊,與直接誘使使用者執行惡意工具不同,攻擊者會將惡意指令嵌入MCP工具描述中,這些指令對使用者而言是不易察覺的,但對AI模型卻是可辨識並可執行。 當AI模型依據描述進行操作時,可能在使用者毫未注意的情況下執行未授權行為,例如存取敏感檔案(SSH Key、設定檔和資料庫等)、誘導AI傳輸敏感資料並對使用者隱藏此次操作等。 圖4為invariantlabs研究員提供的範例。 當使用者使用add函數功能時,僅看到第18行「return a+b」,而不會看到第3行至第16行要求AI模型讀取敏感設定檔「~/.cursor/mcp.json」、存取SSH私鑰「~/.ssh/id_rsa」、透過「sidenote」參數以隱藏方式傳輸資料,但這些對於AI模型而言是可識別且可執行。 圖4:隱藏惡意指令在MCP工具中。 圖片來源:invariantlabs 第四種攻擊:跨工具汙染(Cross-Tool Contamination) 當使用者允許單一LLM代理程式與多個來自不同MCP伺服器上的工具互動時,可能出現伺服器互相干擾的風險。 具惡意意圖的MCP伺服器可透過注入隱藏指令,悄悄竄改原本受信任的工具行為,無須直接執行惡意工具,即可對系統造成破壞。 圖5為跨工具汙染的案例說明,「daily_report_analysis」工具的描述已遭惡意修改,當另一個原本受信任的工具「send_daily_email」執行調用該工具時,觸發潛在其中的惡意指令。 在這個情境中,「send_daily_email」除了執行原有的發信任務外,額外向攻擊者發送一封電子郵件且不通知使用者此操作。 圖5:跨工具汙染破壞受信任工具之流程圖。 圖片來源:SentinelOne 總結來說,MCP伺服器雖然替AI生態系帶來高度彈性與便利性,但因串接第三方平台,在此之間是無條件信任而無任何端點驗證、完整性檢查以及透明化機制,所以具有極高的資安風險,這些是MCP未來需要改進的部分。 根據上述的資安風險,提出以下幾項資安防禦建議: 工具的敘述應對使用者是可見、明確定義和區分使用者和AI的指令 執行MCP工具之前,應透過Hash或簽章驗證等機制確認工具內容未被竄改 多個MCP伺服器共同運作時,應對邊界和資料實行嚴格的控管,並使用安全代理工具,確保彼此之間的安全性 See more: https://www.twcert.org.tw/tw/cp-104-10157-6fcad-1.html

最新文章

查看全部
玉山銀行四階段導入Policy as Code,打造具彈性、共創的治理機制

Source: iThome 新聞 玉山銀行智能金融處(簡稱玉山智金處)在去年將整套AI的開發流程遷移上雲,開發人員開始能在雲端平臺自行宣告並建立資源,不再像以往需要等待平臺團隊、耗時3到5天協助架設環境。上雲後,雖然為開發人員帶來更大的自主性,提升不少開發效率,卻也帶來新...

 
 
 
蘋果傳洽談收購Perplexity AI

Source: iThome 新聞 彭博報導,蘋果高層內部曾討論收購新創公司Perplexity AI來加速改造AI語音助理Siri。 報導指出,參與討論的蘋果高層包括併購業務主管Adrian Perica和服務部門主管Eddy...

 
 
 

Yorumlar


雷盾資安股份有限公司版權所有 © 2022 by TS Security Co., Ltd.

  • Instagram
  • Facebook
  • LinkedIn
bottom of page