GitHub 是評(píng)論全球最大的代碼托管平臺(tái),全球各地的被用科技公司和開(kāi)發(fā)者們?cè)谏厦嫱泄茼?xiàng)目或源代碼,項(xiàng)目維護(hù)者也可以開(kāi)啟評(píng)論功能讓其他開(kāi)發(fā)者提交建議或反饋問(wèn)題。冒充
不過(guò)目前 GitHub 被發(fā)現(xiàn)了一個(gè)嚴(yán)重的微軟問(wèn)題網(wǎng)設(shè)計(jì)問(wèn)題,有攻擊者利用項(xiàng)目評(píng)論功能冒充微軟等公司來(lái)分發(fā)惡意軟件,托管并且這種情況已經(jīng)持續(xù)有一段時(shí)間了。惡意
![]()
為什么說(shuō)是設(shè)計(jì)問(wèn)題:
以微軟托管在 GitHub 上的 vcpkg 項(xiàng)目為例,這個(gè)項(xiàng)目開(kāi)啟了 issues 反饋,解決用戶(hù)提交一個(gè)新的藍(lán)點(diǎn) issue 后其他用戶(hù)可以在下面評(píng)論。
評(píng)論功能支持附帶文件,評(píng)論例如當(dāng)上傳一個(gè)名為 Cheat.Lab.2.7.2.zip 的被用文件時(shí),GitHub 將會(huì)這個(gè)文件生成永久 URL 并附加在 vcpkg 項(xiàng)目下。冒充
即便用戶(hù)刪除評(píng)論這個(gè)文件也會(huì)被保留下來(lái)并繼續(xù)提供永久訪問(wèn),微軟問(wèn)題網(wǎng)甚至用戶(hù)都不需要真提交評(píng)論,托管直接上傳文件就好了。惡意
這樣這個(gè)惡意文件就可以通過(guò) https://github [.] com/microsoft/vcpkg/files/14125503/Cheat.Lab.2.7.2.zip 下載。
由于這個(gè)地址看起來(lái)就像是微軟官方的文件,因此在一些場(chǎng)合中更容易釣魚(yú),這也是為什么黑客看中 GitHub 這個(gè)功能并進(jìn)行濫用的原因。
項(xiàng)目所有者不知情:
正如上文提到的那樣,上傳一個(gè)文件不用真發(fā)布評(píng)論,或者發(fā)布后立即刪除就可以獲取這個(gè)文件的永久鏈接,而項(xiàng)目的維護(hù)者是不知道自己的項(xiàng)目路徑下還存在這種惡意軟件的。
從某些方面來(lái)說(shuō)這可能也會(huì)對(duì)一些公司的聲譽(yù)造成影響,問(wèn)題是這個(gè)問(wèn)題還不太容易解決,因?yàn)樗鼘儆?GitHub 的設(shè)計(jì)問(wèn)題,GitHub 顯然不能一刀切直接關(guān)閉這個(gè)功能。
所以后續(xù) GitHub 如何解決問(wèn)題還是個(gè)難題,可能需要專(zhuān)門(mén)新建一個(gè)臨時(shí)文件路徑來(lái)托管這些文件,這樣不影響使用但也不會(huì)托管在其他路徑下。