GitHub Actions工具遭黑客攻擊,數(shù)千個(gè)開源項(xiàng)目面臨風(fēng)險(xiǎn)
在GitHub Actions持續(xù)集成和持續(xù)交付/部署(CI/CD)平臺(tái)中使用一個(gè)流行工具的應(yīng)用程序開發(fā)團(tuán)隊(duì)需要清理他們的代碼,因?yàn)樵摴ぞ呱现茉馊肭?,?dǎo)致憑證被盜。
這一警告是在StepSecurity的研究人員發(fā)現(xiàn)tj-actions/changed-files工具的所有版本(直至45.0.7版本)在3月14日均被威脅行為者篡改后發(fā)出的。通常,該工具可幫助開發(fā)人員檢測(cè)存儲(chǔ)庫(kù)中的文件更改,但GitHub的一份咨詢報(bào)告稱,此次更改執(zhí)行了一個(gè)惡意Python腳本,使得遠(yuǎn)程攻擊者能夠通過讀取操作日志來(lái)發(fā)現(xiàn)諸如API密鑰、訪問令牌和密碼等秘密信息。
此次入侵事件已被指定為CVE-2025-30066。
據(jù)Endor Labs的一份報(bào)告顯示,該工具在23000多個(gè)GitHub存儲(chǔ)庫(kù)中使用。報(bào)告稱,該遭篡改的工具可能會(huì)影響數(shù)千條CI管道。
GitHub在3月16日停止了對(duì)該工具的訪問,并用一個(gè)修補(bǔ)過的版本進(jìn)行了替換。
CI/CD管道中的秘密信息可能已泄露
Endor Labs警告稱:“任何在CI管道中創(chuàng)建軟件包或容器的公共存儲(chǔ)庫(kù)都可能已受到影響,這意味著數(shù)千個(gè)開源軟件包有可能已被篡改?!?/p>
Endor表示,攻擊者可能不是在尋找公共存儲(chǔ)庫(kù)中的秘密信息,因?yàn)樗鼈兪枪_的?!八麄兛赡茉噲D破壞用此工具創(chuàng)建的其他開源庫(kù)、二進(jìn)制文件和工件的軟件供應(yīng)鏈?!?/p>
Endor補(bǔ)充說(shuō),該警告適用于擁有私有存儲(chǔ)庫(kù)和公共存儲(chǔ)庫(kù)的開發(fā)團(tuán)隊(duì)?!叭绻@些存儲(chǔ)庫(kù)共享用于工件或容器注冊(cè)表的CI/CD管道秘密,則這些注冊(cè)表可能已被破壞。
“我們目前沒有證據(jù)表明任何下游開源庫(kù)或容器已受到影響。但我們敦促開源維護(hù)者和安全社區(qū)與我們一道密切關(guān)注可能出現(xiàn)的二次泄露事件。”
在周一的一次采訪中,Endor Labs的CTO Dimitri Stiliadis表示,使用該tj-actions工具的應(yīng)用程序存在受損風(fēng)險(xiǎn)。但他補(bǔ)充道,黑客可能會(huì)利用從Docker Hub或其他開源存儲(chǔ)庫(kù)中竊取的憑證來(lái)訪問其他軟件包并插入惡意軟件?!拔覀兛赡軙?huì)有被惡意軟件感染的軟件包,但無(wú)人知曉?!薄皵?shù)量可能成千上萬(wàn),甚至數(shù)百萬(wàn)……我們目前不知道實(shí)際損害程度。我們將在未來(lái)幾天內(nèi)有所了解。”
Wiz Threat Research的研究人員在一篇博客文章中表示,他們已確定“數(shù)十個(gè)”受影響且暴露敏感信息的公共存儲(chǔ)庫(kù),并正在聯(lián)系受影響的各方。
GitHub的建議
為了確定其存儲(chǔ)庫(kù)是否受到影響,信息安全負(fù)責(zé)人應(yīng)審核GitHub日志以查找可疑IP地址。如果發(fā)現(xiàn)可疑IP地址,則需要輪換存儲(chǔ)庫(kù)中的活動(dòng)秘密。
Wiz Threat Research的研究人員也表示,按照GitHub的建議,開發(fā)人員應(yīng)將所有GitHub Actions固定到特定的提交哈希值,而不是版本標(biāo)簽,以減輕未來(lái)供應(yīng)鏈攻擊的風(fēng)險(xiǎn)。他們還應(yīng)使用GitHub的允許列表功能來(lái)阻止未經(jīng)授權(quán)的GitHub Actions運(yùn)行,并配置GitHub以僅允許受信任的操作。
“一起非常嚴(yán)重的事件”
在周一上午的一次采訪中,StepSecurity的CEO Varun Sharma稱其為“一起非常嚴(yán)重的事件”。StepSecurity是一家為CI/CD環(huán)境提供端點(diǎn)檢測(cè)和響應(yīng)工具的公司,該公司發(fā)現(xiàn)使用tj-actions/changed-files的工作流存在異常出站網(wǎng)絡(luò)連接,并警告GitHub稱,已插入該工具的惡意版本以在構(gòu)建日志中暴露CI/CD憑證。
“雖然原始版本已恢復(fù),”他補(bǔ)充道,“但目前尚不清楚其被篡改的原因?!?/p>
他表示,信息安全或開發(fā)負(fù)責(zé)人應(yīng):
? 審查tj-actions/changed-files在工作流中的使用情況;
? 確定受篡改版本是否在CI/CD管道中使用;
? 如果受影響,請(qǐng)立即輪換暴露的憑證,包括API密鑰、訪問令牌和密碼;
? 切換到該工具的安全替代版本或升級(jí)到修補(bǔ)過的版本。
一種高效的入侵手段
威脅行為者已經(jīng)發(fā)現(xiàn),在軟件開發(fā)過程中進(jìn)行破壞是一種高效手段,可讓他們滲透到各種IT環(huán)境中,而無(wú)需一次又一次地攻擊單個(gè)應(yīng)用程序。GitHub和其他開源代碼存儲(chǔ)庫(kù)(如NPM、GitLab、Ruby on Rails和PyPI)越來(lái)越受到黑客的濫用。
就在一年多前,我們報(bào)道了安全研究人員如何證明GitHub Action中的Bazel可能被植入后門。在2012年,我們報(bào)道了一個(gè)Rails漏洞,該漏洞可能被利用以通過Web表單將未經(jīng)授權(quán)的數(shù)據(jù)插入到Rails應(yīng)用程序數(shù)據(jù)庫(kù)中。
因此,CISO必須確保其應(yīng)用程序開發(fā)人員在使用開源平臺(tái)磨練代碼時(shí)遵循安全最佳實(shí)踐。