42 個 GitHub 程式庫被植入惡意程式
開發者用 AI 編程工具打開一個程式庫,就可能中招。保安公司 JFrog 研究團隊美國時間 10 月 26 日發表報告,指已確認 42 個屬於 11 個正當擁有者的 GitHub 程式庫被攻擊者植入惡意程式,與一場名為 testmetest 的 npm 惡意套件攻擊有關。
據 InfoWorld 報道,GitHub 本身的保安機制沒有被攻破,被攻破的是個別用戶的帳戶。The Register 報道指,攻擊者最早在 7 月已騎劫部分帳戶,並偽造提交紀錄的時間線。
打開資料夾就會觸發
被植入的檔案針對 AI 編程助手及開發工具,包括 Claude Code 的 .claude/settings.json、Gemini 的 .gemini/settings.json、Cursor 的 .cursor/mcp.json 及 .vscode/tasks.json。這些設定可以在工具啟動工作階段或打開資料夾時自動執行指令,令開發者毋須主動安裝或執行任何程式,打開程式庫便會觸發。
顧問公司 Tribeca Softech 策略總監 Aman Mahapatra 對 InfoWorld 表示:「.claude/settings.json 是新的 autorun.inf。」分析師 Frank Dickson 則指,這些自動執行功能本身並非漏洞,問題根源是被盜的帳戶憑證,而非 AI 工具。
檔案大得搜尋不到
真正的惡意程式藏在 .github/init.js 等檔案內,每個大小約 12.9 至 13.7 MB。JFrog 指,GitHub 的程式碼搜尋不會索引這麼大的檔案,內容 API 亦無法傳回,因此研究人員第一輪搜尋只找到 26 個程式庫,並誤以為惡意檔案是空的。逐一列出每個程式庫的檔案後,才確認數目達 42 個。
攻擊者亦加入新的偽裝手法:一個本身不含惡意程式碼的已編譯 Node.js 擴充模組,在執行時才解密一個名為 .napi_cache 的檔案,取出真正的惡意程式。模組會先檢查運行環境,遇上 CI 系統、容器、記憶體不足 1.5 GB 或只有單一處理器的虛擬機,或者偵測到除錯工具,便不會啟動。Windows 版本更會避開 Wireshark 等網絡監察工具。換言之,自動掃描工具看到的是空殼,真正的開發者電腦才會中招。
竊取帳戶再擴散
JFrog 指,這個 npm 蠕蟲會竊取 GitHub 及 npm 帳戶憑證,再利用這些權限入侵更多程式庫及發布新的惡意套件。JFrog 的掃描工具在 10 月 21 日發出警報,保安公司 SafeDep 翌日率先公開 npm 一方的分析。
JFrog 建議,曾安裝完整版本蠕蟲的電腦應視為已被入侵,並撤銷及更換所有 GitHub、npm、雲端、SSH 及 AI 服務的憑證,同時逐一檢查可存取的程式庫有否出現上述設定檔,不要只依賴 GitHub 的程式碼搜尋。




暫時未有留言
提交留言即表示你已閱讀我們的私隱政策。