研究發現,攻擊者利用偽造時間戳等方式在GitHub上傳播惡意代碼
當開發人員在GitHub上尋找開源項目時,會習慣對其元數據進行檢查,但研究發現,這些元數據很容易被偽造,并以此用來傳播惡意代碼。

Checkmarx 的研究人員在一份新報告中警告說,開發人員在查看元數據時應當盡力核實背后貢獻者的身份,而不應僅停留于對元素據表面的檢查。
通常,開發人員在GitHub上尋找開源項目時,會傾向于選擇那些活躍的、有積極維護記錄的貢獻者所提供的項目,Git對每一次更改分配了一個唯一的 ID,該ID記錄了由誰更新、具體的更新內容以及時間戳,相對而言,擁有較多的更新反映了貢獻者對這個項目的重視,項目得到了較好的維護與優化。
但根據Checkmarx的說法,攻擊者可以輕松偽造這些記錄。報告稱,衡量 GitHub 上用戶活動的一個重要指標是用戶個人資料頁面上的活躍熱圖,顯示用戶在一段時間內的活躍程度,而攻擊者能在注冊的全新賬戶上通過偽造帶有時間戳的提交記錄,使之看起來已經平臺上活躍了很長時間。


利用git set更改本地兩個環境變量,從而在 GitHub 上顯示偽造的時間戳
類似的,攻擊者還可以“借用”一些知名的、信譽度良好的貢獻者身份上傳包含惡意代碼的項目,攻擊者只需要找到這些貢獻者的電子郵件地址,然后在 Git 命令行上設置用戶名和電子郵件地址并提交更改。報告稱,盡管 GitHub 提供了隱藏電子郵件地址的方法,但大多數人并沒有使用這些功能,從而讓攻擊者可以相對容易地獲取這些郵件地址。此外,被借用身份的貢獻者也不會收到任何關于他們的賬戶被添加為另一個項目的貢獻者的通知。
Checkmarx的供應鏈安全主管Tzachi Zornstain強調,開發人員在選擇開源項目時,要重視這些項目貢獻者的身份是否已被驗證,如果一個項目包含多個貢獻者提交的代碼,要確保這些貢獻者也是必須真實可靠。
他還建議這些項目貢獻者使用GitHub的數字簽名功能,對自己的代碼進行簽名,這樣他們的貢獻就會被驗證。該功能包括一個 "警惕模式",顯示所有在其名下貢獻的代碼的狀態,包括其他人可能在其名下提交的代碼。GitHub指出,如果所有貢獻者希望能夠這樣做,就需要在2023年前開啟雙因素認證。
參考來源:https://www.darkreading.com/application-security/how-attackers-could-dupe-developers-into-downloading-malicious-code-from-github
































