成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

GitHub主要倉庫泄露訪問令牌,代碼與云環境面臨風險

安全 云安全
對一些大型公司的開源庫中GitHub Actions工作流生成的構建工件進行的分析顯示,這些工件中包含了對第三方云服務以及GitHub本身的敏感訪問令牌,此外,GitHub在今年對工件功能進行的一項改動引入了一種競爭條件,攻擊者可以利用這一點來濫用此前無法使用的GitHub令牌。

對一些大型公司的開源庫中GitHub Actions工作流生成的構建工件進行的分析顯示,這些工件中包含了對第三方云服務以及GitHub本身的敏感訪問令牌,此外,GitHub在今年對工件功能進行的一項改動引入了一種競爭條件,攻擊者可以利用這一點來濫用此前無法使用的GitHub令牌。

Palo Alto Networks的研究員Yaron Avital進行的調查發現,在數十個公共庫中存儲的工件中發現了機密信息,其中一些庫對應的項目由Google、Microsoft、Amazon AWS、Canonical、Red Hat、OWASP等大型組織維護,這些令牌提供了對各種云服務和基礎設施、音樂流媒體服務等的訪問權限。

“這使得惡意行為者能夠通過訪問這些工件,潛在地破壞這些機密信息所授予訪問權限的服務,”Avital在報告中寫道,“在我們此次研究中發現的大多數易受攻擊的項目中,最常見的泄露是GitHub令牌的泄露,這使得攻擊者能夠對觸發的GitHub庫采取行動,這可能導致惡意代碼的推送,通過CI/CD管道流入生產環境,或訪問存儲在GitHub庫和組織中的機密信息。”

機密信息如何被包含在工件中

GitHub Actions是一種CI/CD服務,允許用戶在GitHub或自己的基礎設施中設置工作流,以自動化代碼構建和測試,這些工作流在.yml文件中使用YAML語法定義,當庫中發生特定觸發器或事件時會自動執行。例如,新代碼提交可能會觸發一個操作來編譯和測試該代碼并生成報告。

Actions工作流通常會生成構建工件,這些工件可以是編譯后的二進制文件、測試報告、日志或其他執行工作流及其各個作業所產生的文件,這些工件會被存儲90天,并且可以被其他工作流或同一工作流的一部分所使用。在開源項目中,這些工件通常對所有人可見 

然而,在工作流執行過程中,常常會將訪問令牌臨時存儲在容器的環境變量或其他臨時文件中,以便作業能夠訪問完成所需的外部工具和服務。因此,必須格外小心,確保這些機密信息在工作流完成后不會離開該環境。

Avital發現的一個示例是,一個被許多項目使用的流行代碼靜態檢查工具生成了一個日志,該日志包括了環境變量;該日志隨后被保存為一個工件。代碼靜態檢查工具是靜態代碼分析工具,用于查找錯誤、漏洞和風格問題,以提高代碼質量。

更常見的是,通過使用actions/checkout命令創建庫的本地克隆,以執行作業時暴露了GitHub令牌。作為這一過程的一部分,會創建一個臨時的GITHUB_TOKEN并將其保存到本地.git文件夾中,以允許執行經過認證的git命令,該令牌應為臨時令牌,并在工作流完成后停止工作,但如果暴露,仍然有方法可以濫用它。

“根據我的觀察,用戶通常——也是錯誤地——將他們整個checkout目錄作為工件上傳,”Avital在他的報告中寫道,“該目錄包含存儲持久化GITHUB_TOKEN的隱藏.git文件夾,導致公開可訪問的工件中包含了GITHUB_TOKEN。”

Avital在工件中發現的另一個GitHub令牌是ACTIONS_RUNTIME_TOKEN,它在調用特定的GitHub Actions時存儲在環境變量中,例如actions/cache和actions/upload-artifact。與僅在工作流運行期間有效的GITHUB_TOKEN不同,ACTIONS_RUNTIME_TOKEN即使在工作流完成后仍然有效六小時,因此存在較大的濫用風險。

“我自動化了一個流程,可以下載工件,提取ACTIONS_RUNTIME_TOKEN,并使用它來替換該工件為惡意版本,”這位研究人員寫道,“后續的工作流作業通常依賴于之前上傳的工件,這類情況為遠程代碼執行(RCE)打開了大門,攻擊者可以在運行作業的Runner上執行惡意工件。如果開發人員下載并執行了惡意工件,也可能導致工作站被入侵。”

新的GITHUB_TOKEN競態條件

如前所述,GITHUB_TOKEN在工作流完成時失效,工件只有在工作流完成后才可用,然而,自今年二月起,情況發生了變化。

GitHub Actions Artifacts的第4版引入了在工作流運行期間通過用戶界面或API下載工件的功能,這是社區請求的一項功能,在許多情況下非常有用,例如在批準發布前審查工件,或在有許多作業的工作流中盡早獲取工件,以節省完成所有作業所需的時間。

但隨著Avital發現GITHUB_TOKEN經常在工件中暴露,這一新功能也引入了一個攻擊者可能利用的競態條件:如果攻擊者知道工作流何時開始,他們可以嘗試在工作流尚未完成時獲取工件并提取GITHUB_TOKEN,因為此時該令牌仍然有效。

成功率因工作流而異。在許多情況下,生成工件是作業執行的最后一步之一,因此下載工件、提取令牌并進行惡意操作的時間窗口非常小,然而,一些工作流在生成工件后還有更多步驟,因此只需找到這些工作流即可。正如Avital指出的那樣,已經切換到v4版本工件API的項目列表正在迅速增長,因為v3版本計劃在11月棄用。

為了擴大攻擊范圍和可以針對的工作流數量,這位研究人員通過創建一個惡意工作流顯著提高了攻擊的性能。該惡意工作流運行在GitHub的基礎設施上,并在目標庫中的某個工作流執行時觸發。惡意工作流每秒發送數十個API請求,以便立即檢測到工件生成并下載它。雖然工件是歸檔的,但研究人員創建了一個腳本,只提取包含令牌的git配置文件,而不是解壓整個工件,從而顯著提高了攻擊的效率。

緩解措施

為了幫助防御此類攻擊,這位研究人員創建了一個名為upload-secure-artifact的自定義GitHub操作,其他人可以將其包含在他們的工作流中,以掃描生成的工件中的機密信息,并在檢測到任何機密信息時阻止其上傳。

“GitHub棄用Artifacts V3應該促使使用該工件機制的組織重新評估他們的使用方式,”研究人員寫道,“根據最小權限原則減少runner令牌的工作流權限,并審查CI/CD管道中的工件創建過程。”

責任編輯:華軒 來源: 企業網D1Net
相關推薦

2020-11-04 10:30:26

移動安全漏洞數據泄露

2022-09-14 09:20:47

漏洞網絡攻擊

2025-03-18 11:09:40

2022-01-25 13:52:35

云計算數字化轉型人工智能

2012-09-21 09:20:20

2023-01-10 00:11:56

2025-01-22 09:54:34

2024-08-05 14:44:27

2025-01-09 14:42:10

微軟裁員

2024-02-02 16:34:43

2025-04-25 04:30:00

網絡安全

2023-07-05 16:55:27

2021-12-12 18:19:16

密碼安全風險

2024-08-29 09:41:45

2024-03-07 11:15:46

2021-08-31 11:22:27

數據泄露SaaS信息安全

2022-09-05 15:08:58

云計算IT工具

2014-10-15 14:37:33

2018-11-02 08:44:17

2019-03-04 13:49:56

物聯網安全物聯網IOT
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲国产成人精品久久久国产成人一区 | 亚洲一页 | 日韩精品久久久久 | 一区二区三区在线 | 国产极品粉嫩美女呻吟在线看人 | 在线观看你懂的网站 | 久久精品国产一区二区电影 | 中文字幕国产视频 | 欧美专区在线 | 婷婷丁香激情 | 日本一本视频 | 久久99精品久久久久久国产越南 | 亚洲一av| 日日草夜夜草 | 一区二区三区四区国产 | 国产精品久久久久一区二区三区 | 中文字幕在线观看视频网站 | 狠狠色综合欧美激情 | 久久久夜色精品亚洲 | 国产成人精品一区二 | 91精品国产91久久久久久不卞 | 在线 丝袜 欧美 日韩 制服 | 超碰人人人人 | 天天操天天射天天 | 欧美老妇交乱视频 | 亚洲精品久久久蜜桃网站 | 中文字幕 在线观看 | 成人在线精品视频 | 美女艹b | 国产亚洲一级 | 91视频在线 | 亚洲在线视频 | 国产精品国产成人国产三级 | 天天玩夜夜操 | 日韩在线观看网站 | 逼逼视频| 成年人在线观看 | 欧美一级黄色免费看 | 日本a视频| 婷婷在线网站 | 中文字幕在线免费观看 |