研究團隊重現一條從 OpenAI 的 Codex 自動分類工作出發、可能通往 npm 發布權限的攻擊路徑,過程涉及多項自動化工作,以及維護人員刪除發布版本的操作。
資安公司 Depi 於 11 日發布的技術報告指出,這條路徑始於 GitHub issue 自動分類工作。新 issue 建立後,Codex 會讀取標題與內文,並建議合適的標籤。
研究團隊表示,外部人士可以建立 issue,觸發自動分類工作。問題在於,待分類的 issue 內文可能被 Codex 當成工作指令。
研究團隊在 issue 內文加入看似自動分類指令的文字,引導 Codex 執行診斷命令。命令中的程式碼經過壓縮與編碼,並利用「提示詞注入」手法,透過藏在外部資料中的指令改變 AI 行為。
命令最初只在 Codex 的隔離執行環境中運作。這個環境會阻擋網路連線,並限制檔案寫入範圍。
不過,研究團隊利用 GitHub 執行器的診斷通道暴露在暫存目錄中的情況,重現從執行器程序記憶體找出自動化工作所用權杖,再將其傳回工作輸出內容的路徑。目標是自動化工作的存取權限,而非 Codex 使用者的密碼。
研究團隊表示,取得這項權限後,便能在 GitHub 工作快取中放入惡意檔案;若其他工作還原快取後執行該檔案,可能波及權限更廣的工作。
報告也說明了另一個階段:先建立假的 Codex 發布版本,再利用維護人員刪除該版本時觸發的事件,取得發布 npm 套件所需的驗證資訊。單靠一個公開 issue,並不會直接發布惡意套件;這條路徑還涉及多項工作與維護人員刪除發布版本。
npm 的「信任發布」機制讓 GitHub 等自動化工作經過身分驗證後發布套件,無須長期保存發布權杖。詳細機制見npm 官方文件。研究團隊提出的路徑顯示,在進入這套發布流程之前,自動化工作的權限可能逐步暴露。
npm 是 JavaScript 軟體套件的發布平台。若攻擊者取得發布權限,就能將惡意程式碼放進開發者可能視為正常更新的套件。不過,Depi 的報告並未指出有惡意 Codex 版本實際發布至 npm,或傳送給使用者。Depi 表示已透過漏洞獎勵管道通報問題,OpenAI 也已修補核心漏洞。目前公開的Codex issue 分類設定已包含將工作空間限制為唯讀的選項。
Comment 0