6 月 1 日消息,GitHub 官方 MCP 服務(wù)器可賦予大語言模型多項新能力,包括讀取用戶有權(quán)訪問的倉庫議題、提交新拉取請求(PR)。這構(gòu)成了提示注入攻擊的三重威脅:私有數(shù)據(jù)訪問權(quán)限、惡意指令暴露及信息滲出能力。
瑞士網(wǎng)絡(luò)安全公司 Invariant Labs 周四發(fā)文稱,他們發(fā)現(xiàn) GitHub 官方 MCP 服務(wù)器存在漏洞,攻擊者可在公共倉庫中隱藏惡意指令,誘導(dǎo) Claude 4 等 AI 智能體泄露 MCP 用戶的私有倉庫敏感數(shù)據(jù)。同時,類似漏洞也出現(xiàn)在 GitLab Duo 中。

攻擊核心在于獲取“用戶正在處理的其他倉庫”信息。由于 MCP 服務(wù)器擁有用戶私有倉庫訪問權(quán)限,LLM 處理該議題后將創(chuàng)建新 PR—— 而這就會暴露私有倉庫名稱。
在 Invariant 測試案例中,用戶僅需向 Claude 發(fā)出以下請求即可觸發(fā)信息泄露:
▲ 用戶指令

▲ 完整聊天截圖
值得一提的是,若將多個 MCP 服務(wù)器組合(一個訪問私有數(shù)據(jù)、一個暴露惡意 Token、第三個泄露數(shù)據(jù)),將構(gòu)成更大風(fēng)險。而 GitHub MCP 現(xiàn)已將這三要素集成于單一系統(tǒng)。

攻擊機制詳解
前置條件:
用戶使用 Claude 等 MCP 客戶端,并綁定 GitHub 賬戶 用戶同時擁有公共倉庫(如 /public-repo)與私有倉庫(如 < 用戶 >/private-repo)攻擊流程:
攻擊者在公共倉庫創(chuàng)建含提示注入的惡意議題 用戶向 Claude 發(fā)送常規(guī)請求(如“查看 pacman 開源倉庫的議題”) AI 獲取公共倉庫議題時觸發(fā)惡意指令 AI 將私有倉庫數(shù)據(jù)拉取至上下文環(huán)境 AI 在公共倉庫創(chuàng)建含私有數(shù)據(jù)的 PR(注:攻擊者可公開訪問該數(shù)據(jù))實測結(jié)果:
成功滲出用戶 ukend0464 的私有倉庫信息 泄露內(nèi)容包括私人項目“Jupiter Star”、移居南美計劃、薪資等敏感數(shù)據(jù)
該漏洞源于 AI 工作流設(shè)計缺陷,而非傳統(tǒng) GitHub 平臺漏洞。作為應(yīng)對,該公司提出兩套防御方案:動態(tài)權(quán)限控制,限制 AI 智能體訪問權(quán)限;持續(xù)安全監(jiān)測,通過實時行為分析和上下文感知策略攔截異常數(shù)據(jù)流動。




京公網(wǎng)安備 11011402013531號