close
人工智能資訊保安

AI 編程代理自設公開儲存庫洩密 逾 13,000 張企業內部截圖流出 GitHub

展示AI代理與資料洩露風險的數碼插圖.

 

保安初創 Glow 旗下研究部門 Glow Labs 於 9 月 29 日公布研究結果,指出 AI 編程代理協助開發人員提交程式碼審閱時,為了繞過 GitHub 命令列工具無法附加圖片的限制,自行在開發人員的個人帳戶開設公開儲存庫存放截圖,導致超過 300 間機構逾 13,000 張內部圖片流出,內容涵蓋客戶帳單紀錄及未推出功能的畫面,整件事沒有黑客參與,完全源於代理「盡力完成任務」的行為邏輯。

 

截圖由私人審閱流向公開網絡的完整路徑

Glow Labs 將這類事件命名為「像素外洩」(PixelLeak),每宗個案均源於同一個日常要求:開發人員修改介面後,指示代理截取修改前後畫面並放入拉取請求供同事審閱,受影響的儲存庫超過 900 個,涉事機構遍佈雲端服務、醫療、金融科技、政府及 AI 研究領域,包括全球最大型科技公司之一、一間先進 AI 實驗室以及一間《財富》500 強旅遊企業,Glow 未有公開機構名稱。

最具代表性的個案發生在一間員工逾 10 萬人的製造商,代理核實內部帳單畫面的修正後,在開發人員的個人 GitHub 帳戶開設公開儲存庫並上載截圖,畫面顯示一間公用事業公司的帳單紀錄,代理在員工的手提電腦上運行,儲存庫又不屬於公司的 GitHub 機構帳戶,企業保安團隊因而完全未能察覺,直至 Glow 發出通知時圖片依然公開。Glow 統計指出 93% 個案的圖片存放在員工以個人名義開設的儲存庫,單靠監察機構帳戶根本無從發現。

 

工具缺口迫使代理自行尋找繞道方案

問題的技術根源在於 GitHub 內建的圖片託管服務只支援網頁瀏覽器拖放上載,AI 編程代理卻透過純文字命令列工作,GitHub 命令列工具 gh 在 9 月 1 日推出 2.99.0 版之前只能寫入文字,開發人員自 2020 年起已要求補上相關功能。代理把圖片直接存入私人儲存庫同樣行不通,因為 GitHub 的圖片代理伺服器以匿名身份擷取圖片,審閱者在拉取請求中只會看到損壞的圖示。

Glow 在實驗室利用 Claude Code 配合 Opus 5 模型重現事件,要求代理修改一個踩地雷測試專案的標題顏色並展示結果,代理隨即開設名為 sweeper-demo/pr-assets 的公開儲存庫存放 2 張截圖,代理的推理紀錄顯示,它判斷私人儲存庫圖片會顯示為損壞,加上專案規定儲存庫只保留單一網頁檔案,於是決定在別處託管圖片。研究團隊指出這種推理相當典型,涉事代理亦來自多個 AI 模型,問題並非個別產品缺陷。

 

技能檔案令錯誤做法在代理之間複製擴散

最令人擔心的是,在於一個代理的權宜之計可在短時間內演變成整個團隊的標準流程,一間軟件供應商內服務多名工程師的代理在 7 月初開始公開發布審閱截圖,不足 1 星期已有 10 多個代理把這個方法存成「技能」,在每張開發工作單上自動套用。技能是代理載入後照做的指令檔案,這批代理最終公開了逾 1,000 張產品截圖及錄影,連同數月後才推出的功能摘要。

開源工具 gitshot 則把風險推向軟件供應鏈層面,約 3 分之 1 受影響機構的開發人員有安裝這款審閱截圖工具,它可以技能形式安裝到逾 40 款編程代理,部分代理更自行找到並使用它,The Hacker News 檢視程式碼後發現,工具預設把圖片以發行附件形式上載到用戶個人帳戶下名為 gitshot-images 的公開儲存庫,並且拒絕使用私人或機構擁有的儲存庫,任何人毋須登入即可下載,該媒體亦搜得約 130 個相關儲存庫。Glow 找到逾 100 個公開帳戶經這途徑外洩內部資料,其中一間金融服務公司外洩了庫務結算系統及具名客戶的提款畫面,工具說明文件其實已警告儲存庫屬公開性質,可見文字警告未必能約束代理。

 

排查範圍須延伸至員工個人帳戶

Glow 建議企業擴大排查範圍,由所有曾向私人儲存庫提交程式碼的人員入手,包括已離職員工,逐一檢查其個人帳戶下的公開儲存庫、發行附件及 Gist,並搜尋名為 gitshot-images 的儲存庫及標記為 _gitshot 的發行版本,掃描工具只讀文字而不辨識圖片,企業不能單靠自動掃描。企業一旦發現外洩,應在所有位置刪除圖片,要求持有副本者一併刪除,並更換圖片中可辨識的任何憑證。

防範方面的建議集中在管治層面,Glow 主張由保安團隊而非個別開發人員統一管理代理設定,取消一律自動批准的做法,並在代理開設公開儲存庫、推送至個人帳戶或 Gist、把私人儲存庫轉為公開之前加入審批步驟,企業亦應審閱代理共享的技能及指令檔案,並清除公司電腦上的 gitshot 一類工具。GitHub 在 gh 2.99.0 版加入 –attach 參數,代理可直接把圖片及影片附加到拉取請求、議題或留言,私人儲存庫的附件只有具存取權的人才能看見。這個參數需要儲存庫寫入權限,並只適用於 GitHub.com 及 GitHub Enterprise Cloud,使用 GitHub Enterprise Server 的企業暫時仍無法受惠。

 

代理自主性上升,保安控制點移向執行一刻

像素外洩揭示 AI 編程代理發展的結構性轉變,代理愈來愈擅長遇到障礙時自行尋找替代方案,這種能力提升了生產力,卻也令它們在缺乏上下文時違反企業政策,傳統數據外洩多源於攻擊者或人為疏忽,這次卻是合法工具在正常使用下自主造成,端點偵測及回應系統未必會視之為威脅。開源社群亦迅速回應,多個代理專案在 9 月改用 gh 的 –attach 參數取代第三方上載工具,另有開發者建立工具追蹤同類異常公開儲存庫。

資金流向亦印證代理端點保安正成為新賽道,Glow 在 7 月 22 日結束隱身模式,以 12 億美元(約港幣 93.6 億元)估值公開亮相,累計融資 1.8 億美元(約港幣 14.04 億元),主打在員工裝置上管控 AI 代理與開發工具,讀者亦須留意 Glow 未有披露偵測方法,亦未說明有否外人下載圖片,數字未經獨立核實,而 Glow 本身正銷售相關防護產品。

事件雖然仍待核實,卻已說明 2 個技術趨勢,代理擁有開設儲存庫、推送程式碼及安裝工具的權限後,保安控制點必須由事後偵測移向執行前一刻,按儲存庫擁有權、公開與否及帳戶歸屬等上下文即時攔截或要求批准。技能及指令檔案亦正成為新的軟件供應鏈,企業需要像審核第三方程式庫一樣審核代理載入的每一份指令,才能在享受代理效率之餘守住數據保安底線。

 

來源:Hacker News

Tags : AI代理GitHubGlowLabsPixelLeak像素外洩