資安工程師Luke Marshall針對GitLab雲端服務展開大規模掃描,利用秘密掃描工具TruffleHog檢查約560萬個GitLab公開儲存庫,最後確認有超過1.7萬組憑證在掃描時經驗證仍可使用,涵蓋雲端服務金鑰、API存取權杖與平臺專用Token。

Luke Marshall這次研究的目標,是掌握GitLab所有公開儲存庫中憑證外洩的整體狀況,而非只抽樣少數專案。Luke Marshall透過GitLab公開API列舉所有標示為公開的專案,建立約560萬個儲存庫清單交由TruffleHog掃描。掃描結果顯示,這些有效憑證分散在約2,804個網域或組織,類型以雲端與SaaS服務金鑰為主,其中Google雲端平臺憑證是最常見的一類。

他估算,大約每1,060個GitLab公開儲存庫,就會找到至少一組仍能使用的GCP憑證,有些憑證出現於2009年的提交紀錄,雖然這些紀錄應是從舊系統或其他平臺匯入,但仍被驗證為有效,也就是說只要組織沒有主動汰換與撤銷,金鑰就可能在程式碼歷史裡存活十年以上。

由於儲存庫數量龐大,Luke Marshall將整個掃描流程建構在AWS雲端,他先使用本機程式把560萬個GitLab儲存庫名稱丟進AWS Simple Queue Service佇列,再由大量啟動的AWS Lambda函數負責取出任務,並呼叫TruffleHog掃描並回傳結果。

該研究顯示憑證洩漏存在平臺在地性現象,TruffleHog在GitLab公開儲存庫共找到406組仍可使用的GitLab憑證,但在Bitbucket僅找到16組GitLab憑證,Luke Marshall指出,開發者在自己最常使用的平臺,更容易意外提交該平臺本身的存取金鑰。

研究中發現一個由個人電子郵件帳號提交的Slack Token,透過後續分析,確認這組Token實際屬於某家企業的Slack與Okta登入環境,而該案例在負責任通報後被評為最高優先級,並核發2,100美元獎金。Luke Marshall在過程中協助多家組織撤銷外洩憑證,也透過漏洞回報與獎勵計畫累積超過9,000美元報酬。

Luke Marshall此前也曾以相同方法掃描Bitbucket公開儲存庫,當時檢查約260萬個專案,找到6,212組仍有效的憑證,累積約1萬美元獎金,與這次GitLab結果相比,GitLab上的有效憑證約為Bitbucket三倍,但獎勵金額卻相近,顯示憑證外洩的件數與實際風險未必成正比。另外,Luke Marshall提醒,程式碼託管平臺中的長期有效雲端與平臺憑證,需要企業透過例行的大規模自動化掃描主動找出並撤銷,避免多年未輪替的金鑰長期暴露在程式碼歷史裡。

熱門新聞

Advertisement