开源软件可帮助开发人员更快地创建应用程序,如果他们认为第三方代码来自可信源审计,他们中的许多人可能会跳过对第三方代码的适当审查。例如,他们可能会选择积极维护的GitHub存储库或有信誉良好的个人作为贡献者的存储库。根据Checkmarx的说法,威胁行为者可以伪造一些与GitHub存储库相关的数据,以加强他们的跟踪记录,并使他们更有可能被应用程序开发人员采用。具体来说,研究人员发现有人可以篡改提交元数据以使存储库看起来比实际更旧,或者有信誉的贡献者参与其维护。提交对于Git版本控制系统至关重要:它们记录对文件所做的更改、更改时间以及更改人。每个提交都有一个唯一的ID或哈希。然而,根据Checkmarx的说法,人们可以操纵与提交相关的时间戳,使得GitHub上列出的时间戳可以早于用户提交的创建和更改所针对的存储库。虚假提交可以自动生成并自动添加到用户的GitHub活动图中,这可能会让恶意用户看起来好像他们已经在代码托管平台上活跃了很长时间。“由于活动图显示了公共和私人存储库上的活动,因此不可能抹黑这些虚假提交,因此这种欺骗技术也很难被发现,”Checkmarx说。此外,研究人员还发现,提交者身份可以被伪造,将提交归于真实的GitHub帐户,例如平台上的顶级贡献者。为此,恶意用户需要检索目标帐户的电子邮件地址——如果开发人员选择启用该功能,该地址通常是隐藏的——并使用特定命令将GitCLI中的用户名和电子邮件设置为被欺骗的用户。电子邮件。虽然这增加了GitHub存储库的声誉,但受骗用户永远不会被告知他们的名字正在被使用。“为了让他们的项目看起来值得信赖,攻击者可以使用这种技术一次或多次,并用已知可靠的贡献者填充他们存储库的贡献者部分,这反过来又使项目看起来值得信赖,”Checkmarx指出。GitHub用户可以使用提交签名验证功能对他们的提交进行加密签名,但未签名的提交不会被标记。根据Checkmarx的说法,用户可以启用“警戒模式”,其中显示所有提交的验证状态,从而提高该功能的有效性。“虚假元数据可能会误导开发人员使用他们故意不使用的代码,并且可能包含恶意代码。缺乏对提交者身份和提交时间戳的验证本身就是一个问题。
