研究发现,攻击者通过伪造时间戳等方式在GitHub上传播恶意代码Forged,并用于传播恶意代码。在一份新的报告中,Checkmarx研究人员警告说,开发人员在查看元数据时应该尝试验证背后贡献者的身份,而不是仅仅停留在元数据的表面。通常,开发人员在GitHub上寻找开源项目时,往往会选择活跃的贡献者提供的项目,并且有活跃的维护记录。Git为每个更改分配一个唯一的ID,其中记录了谁进行了更改。更新、具体更新内容和时间戳。相对来说,更新多了,体现了贡献者对这个项目的重视,项目得到了很好的维护和优化。但根据Checkmarx的说法,攻击者可以轻松伪造这些记录。报告称,衡量GitHub用户活跃度的一个重要指标是用户个人资料页面上的活跃热图,它展示了一段时间内用户的活跃度,攻击者可以通过伪造带时间戳的Commit来注册全新的账户看起来他们在平台上活跃了很长时间的记录。使用gitset更改两个本地环境变量以在GitHub上显示假时间戳。同样,攻击者也可以“借用”一些知名的、有信誉的贡献者来上传包含恶意代码的项目。攻击者只需要找到这些贡献者的电子邮件地址,然后在Git命令行上设置您的用户名和电子邮件地址并提交您的更改。报告称,虽然GitHub提供了隐藏电子邮件地址的方法,但大多数人并不使用这些功能,这使得攻击者相对容易获得这些功能。此外,被借用的贡献者将不会收到任何通知,告知他们的帐户已被添加为另一个项目的贡献者。Checkmarx供应链安全总监TzachiZornstain强调,开发者在选择开源项目时,要注意这些项目贡献者的身份是否经过验证。如果一个项目包含多个贡献者提交的代码,则需要确保这些贡献者也是诚实可靠的。他还建议这些项目贡献者使用GitHub的数字签名功能来签署他们自己的代码,以便他们的贡献得到验证。该功能包括一个“警报模式”,显示以他们的名义贡献的所有代码的状态,包括其他人可能以他们的名义提交的代码。GitHub声明,如果所有贡献者都希望能够这样做,则需要在2023年之前启用双因素身份验证。参考来源:https://www.darkreading.com/application-security/how-attackers-could-dupe-developers-into-downloading-malicious-code-from-github
