Travis CI 漏洞致數(shù)千個開源項目機密泄露

近日,研究人員 Felix Lange 爆出 Travis CI 存在嚴重安全漏洞,所有公共開源存儲庫的安全環(huán)境變量(簽名秘鑰、訪問憑據(jù)和所有公共開源項目的 API tokens 等)都包含到 pull request 構(gòu)建中,如果這些環(huán)境變量被竊取,那么這一漏洞將導致數(shù)千個開源項目的核心被泄露。

Travis CI 是一個開源的持續(xù)集成構(gòu)建項目,別具一格地采用了?yaml?格式,累計為超過 90 萬個開源項目和 60 萬用戶提供服務。因為它能與 GitHub 和 Bitbucket 無縫集成,所以目前大多數(shù)的 GitHub 項目都已移入到 Travis CI 的構(gòu)建隊列中。

如下圖所言,當用戶在運行構(gòu)建時,Travis CI 會將?GitHub?存儲庫克隆到一個全新的虛擬環(huán)境中,并執(zhí)行一系列的任務來構(gòu)建和測試代碼。如果其中一個或多個任務失敗,則意味著構(gòu)建中斷,如果任務全部成功,則意味著構(gòu)建通過,Travis CI 可以將用戶的代碼部署到?web?服務器或應用程序主機上。

在此之前,Travis CI 的文檔始終提示用戶:" 加密的環(huán)境變量無法從分叉中提取請求,因為存在將此類信息暴露給未知代碼的安全風險 "。然而這個漏洞(CVE-2021-41077)卻出現(xiàn)在了 Travis CI 的激活過程中,并且嚴重影響了 9 月 3 日至 10 日之間創(chuàng)建的某些特定構(gòu)建。

在 Travis CI 的激活過程中,開發(fā)者應該添加一個 ".travis.yml" 文件到開源項目存儲庫中,這個文件會告訴 Travis CI 應該做什么,不應該做什么,甚至可能包含機密內(nèi)容,另一個把核心加密的東西是 "Travis' web UI"。理想狀況下,Travis?應該阻止公眾訪問任何秘密環(huán)境變量,以太坊加密貨幣項目負責人 P é ter Szil á gyi 稱," 安全的環(huán)境變量是在?Travis ’ s web UI?上配置的(由 Travis 獨家擁有),然后這些變量會被添加到構(gòu)建運行的環(huán)境中,但僅適用于受信任的代碼,即已合并的代碼。外部代碼 (?PRs?) 不該插入?env?變量,因為維護者無法控制外部人員提交的代碼,但是 Travis 卻將密鑰注入了不受信任的構(gòu)建中 "。

在這個漏洞出現(xiàn) 8 天后,Lange 將問題同步給了 Travis 的公司,并建議所有依賴 Travis CI 的項目更換他們的核心 "secret" 。

Travis CI 的 Montana Mendy 則在安全公告中說道," 根據(jù)最新報告,從另一個庫分叉出來的公共存儲庫可以提交?pull request(如在?GitHub、BitBucket、Assembla?中),在構(gòu)建的過程中打印一些文檔,即使在未授權(quán)情況下依然可以訪問原始公共存儲庫,在這種情況下,項目的核心在 Travis CI 數(shù)據(jù)庫中仍然處于加密狀態(tài)。"

9 月 10 日,Travis CI 默默地修補了這個漏洞。

9 月 13 日,Travis CI 發(fā)布了一篇簡短的安全公告,如下圖所示。

在這封公告中,沒有對此次漏洞的分析,沒有安全報告,也沒有警告用戶他們的機密內(nèi)容可能已經(jīng)被盜。這種 " 草率敷衍 " 的態(tài)度引起了社區(qū)的不滿,Szil á gyi 與社區(qū)的幾位成員一起抨擊了該公告,網(wǎng)絡開發(fā)商 Jake Jarvis 稱這是一封 " 令人尷尬的‘安全公告’。"

但是 Travis CI 認為 " 我們已經(jīng)完成了一系列的安全補丁來解決這件事情,更新機密內(nèi)容是所有用戶都應該執(zhí)行的操作 "。

Travis CI 之所以引起社區(qū)公憤,在于它并沒有公開透明地將此次的漏洞詳情公之于眾,并將部分責任理所應當?shù)赝菩督o了項目的開發(fā)者,而那封 " 敷衍意味 " 極強的安全公告則更是讓本就岌岌可危的關(guān)系雪上加霜。但也有人認為,Travis 雖然處理事情的方式欠佳,但好在完成了一系列的安全補丁,將損失降到了最低,所以也并不算有重大過錯。

最后,你支持哪一方的觀點,歡迎在下方投票。

.www.zjqiye.net/2016/0220/177442.shtml

www.techweb.com.cn/prnews/qiyenews/archives/44841.html

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容