GitHub 是 TeamPCP 駭客組織最新的受害者,該組織近期發動了一系列軟體供應鏈攻擊。
所謂的軟體供應鏈攻擊,是指駭客竄改合法軟體以隱藏自身惡意程式碼。過去這類攻擊相對罕見,但其潛藏的威脅,即將無害的應用程式變成受害者網路中的危險立足點,一直讓資安界感到不安。如今,一個犯罪集團已將這種偶爾發生的噩夢,變成幾乎每週上演的事件,他們污染了數百個開源工具,勒索受害者獲利,並在整個用於建構全球軟體的生態系中播下了新的不信任種子。
週二晚間,開源程式碼平台 GitHub 宣布遭到駭客入侵,這也是一次軟體供應鏈攻擊:一名 GitHub 開發者安裝了一個「被污染」的 VSCode 擴充功能。VSCode 是一款廣泛使用的程式碼編輯器外掛程式,與 GitHub 本身一樣,都隸屬於微軟。因此,此次入侵事件的幕後駭客,一個日益惡名昭彰的組織 TeamPCP,聲稱已存取了約 4,000 個 GitHub 的程式碼儲存庫。GitHub 的聲明證實,他們已發現至少 3,800 個受影響的儲存庫,並指出根據目前的調查結果,這些儲存庫都包含 GitHub 自家的程式碼,而非客戶的程式碼。
TeamPCP 在網路犯罪論壇和市集 BreachForums 上寫道:「我們在此拍賣 GitHub 的原始程式碼和內部組織。主平台的內容應有盡有,我很樂意向有興趣的買家提供樣本,以驗證其絕對真實性。」
GitHub 的入侵事件,只是迄今為止持續時間最長的軟體供應鏈攻擊潮中的最新一起,而且似乎沒有結束的跡象。根據專注於軟體供應鏈的資安公司 Socket 的說法,TeamPCP 在過去幾個月內,已發動了 20 波供應鏈攻擊,在超過 500 個不同的軟體中植入惡意軟體,如果計算 TeamPCP 劫持的各種程式碼版本,總數將超過一千個。
雲端安全公司 Wiz 的策略威脅情報主管 Ben Read 表示,這些被污染的程式碼,已讓 TeamPCP 的駭客成功入侵了數百家安裝了這些軟體的公司。GitHub 只是該組織眾多受害者中的最新一個,其他受害者還包括人工智慧公司 OpenAI 和資料合約公司 Mercor。Read 認為 GitHub 的入侵事件「可能是他們最大的一次攻擊」,但他補充說:「但對受害公司而言,每一次攻擊都是大事。這與上週發生的 14 起入侵事件在性質上沒有區別。」
TeamPCP 的核心策略,已演變成一種循環式的軟體開發者剝削:駭客會存取一個開源工具的開發網路,而該工具通常被程式設計師廣泛使用。例如,導致 GitHub 入侵的 VSCode 擴充功能,或是 TeamPCP 本週稍早劫持的資料視覺化軟體 AntV。駭客將惡意軟體植入該工具,最終會出現在其他軟體開發者的電腦上,其中一些開發者正在編寫供程式設計師使用的其他工具。
惡意軟體讓 TeamPCP 的駭客能夠竊取憑證,進而讓他們能夠發布這些軟體開發工具的惡意版本。這個循環不斷重複,TeamPCP 的受入侵網路集合不斷擴大。「這是一個供應鏈妥協的飛輪效應,」Read 說。「它是自我延續的,並且是獲取網路存取權和竊取資料的極其成功的方式。」
最近,該組織似乎已透過一種被稱為 Mini Shai-Hulud 的自動化自我傳播蠕蟲,自動化了許多軟體供應鏈攻擊。這個名字來自該蠕蟲創建的 GitHub 儲存庫,其中包含從受害者那裡竊取的加密憑證,每個儲存庫都包含「A Mini Shai-Hulud Has Appeared」這句話,以及一些對科幻小說《沙丘》的引用。這個訊息似乎不僅是對《沙丘》中的沙蟲的引用,也是對九月出現的類似供應鏈攻擊蠕蟲 Shai-Hulud 的引用,儘管沒有證據表明 TeamPCP 是這次早期自我傳播惡意軟體的幕後黑手。
Socket 的研究主管 Philipp Burckhardt 表示:「他們絕對是為了獲得廣泛關注。他們非常在意引起人們的注意。」他追蹤 TeamPCP 已數月。「他們喜歡吹噓自己。」該組織的一個暗網網站連結了可能用於進行勒索談判的「商業聯繫」,網站上顯示著類似《駭客任務》風格的級聯數字,雷鬼融合的配樂,以及「TEAMPCP: The Cats Hijacking Your Supply Chains」的字樣。
在採取目前的供應鏈攻擊策略之前,TeamPCP 於 2025 年底出現,利用雲端配置錯誤和 Web 應用程式開發工具 Next.js 的漏洞,部署了一個用於憑證竊取和加密貨幣挖礦等攻擊的機器人網路。在此期間,該組織對蠕蟲的依賴性日益增強,成功地獲取了靜態憑證和身份驗證令牌,以更深入地滲透受害者的系統。
Palo Alto Networks 的 Cortex Cloud 情報團隊經理 Nathaniel Quist 表示:「這就像野火一樣,發展得非常快。他們找到憑證、個人存取令牌,然後問題就變成了一個憑證能走多遠。我認為我們將繼續看到這些技術。威脅行為者知道它們有效,並且正在積極利用它們。」
TeamPCP 似乎是出於經濟動機,經常對其目標部署勒索軟體或資料勒索活動,但他們也願意將受害者的資料出售給任何買家。例如,在最近的 GitHub 事件中,他們在 BreachForums 網站上寫道:「這不是勒索。我們不在乎勒索 GitHub,一個買家,我們就會銷毀我們的資料。」
他們還對 GitHub 進行了看似隱晦的威脅,或許是為了迫使該公司付款:「看來我們的退休生活即將來臨,如果找不到買家,我們就會免費洩漏。」
Quist 表示,情況變得越來越複雜,因為 TeamPCP 在四月開始轉向勒索軟體即服務模式,與網路犯罪平台 BreachForums 和 DragonForce 建立了合作夥伴關係。該組織有時似乎也涉足地緣政治,部署了地理定向的擦除器(研究人員稱之為 CanisterWorm),該擦除器針對任何帶有惡意軟體的 Kubernetes 雲端基礎設施,但僅針對伊朗目標部署了破壞性的擦除器。本週,一個聲稱是 TeamPCP 的實體也洩漏了原始的 Shai Hulud 蠕蟲原始程式碼以及詳細文件,儘管其洩漏的動機尚不清楚。
TeamPCP 的目標規模在三月急劇擴大,當時他們入侵了更多軟體工具,導致了近期供應鏈攻擊的級聯效應。該組織將一個資訊竊取器嵌入開源安全掃描器 Trivy 中,然後利用這次攻擊竊取的憑證,成功入侵了託管在流行的 Python 軟體儲存庫 PyPI 上的 AI 應用程式介面工具 LiteLLM 的某些版本。該組織還污染了 Web 應用程式安全公司 Checkmarx 的基礎設施,攻擊了開發伺服器 pgserve,並入侵了 Web 應用程式庫 TanStack 以及企業 AI 平台 Mistral AI。
後果是嚴重的。除了 GitHub 之外,TeamPCP 對軟體服務提供商的攻擊還導致了歐洲委員會公共網站和資料合約公司 Mercor 的洩漏,OpenAI 兩名員工的設備被入侵,以及許多其他事件。但 Palo Alto 的 Quist 強調,組織可以透過安全「衛生」實踐在一定程度上保護自己,這些實踐包括仔細管理身份驗證令牌並盡可能施加存取限制。
他表示:「讓這次行動成功的最大機會主義因素是這些環境中長期存在的憑證。即使您沒有使用 LiteLLM 或任何這些已被入侵的套件,更改您的令牌也至關重要。如果您有 Gitlab 和 GitHub 的個人存取令牌,請輪換它們。還有 AWS、Azure、GCP、Alibab、Oracle,所有這些憑證都正在被竊取。」
TeamPCP 的污染程式碼潮,也引發了關於如何在日益嚴重的供應鏈攻擊時代安全使用開源軟體的嚴峻問題。Wiz 的 Read 建議採取安全措施,例如對開源工具的更新進行「年齡限制」——審查並安裝安全更新,但暫緩安裝新發布的、可能帶有惡意軟體的程式碼。
Read 表示,在最近一次惡意的 TeamPCP 更新事件中,Wiz 在幾分鐘內就偵測到了供應鏈的妥協並警告了客戶,但許多軟體的用戶啟用了自動更新,並且已經下載了它。「您不希望總是安裝最新的版本,」Read 說。
Socket 的 Burckhardt 表示,在 TeamPCP 引發的供應鏈攻擊流行病中,開源用戶需要採取「信任但驗證」的措施,例如在將更新部署到整個網路之前分析更新中的惡意軟體,以及 Read 建議的在下載和運行程式碼之前的「冷卻期」。
Burckhardt 說:「當它到達您的機器時,就已經太晚了。」