黑客锁定GitHub存储库下手,挖掘开发团队存放的帐密数据的情况,不时有安全事故传出,但最近有越来越频繁的现象,例如:有人假冒NPM市场客服,向组件开发者发送钓鱼邮件骗取凭证,并至少在18个热门组件植入恶意程序,意图窃取用户加密货币;8月底知名开源构建工具Nx被发现于NPM上架恶意版本,超过6千个私人GitHub存储库被波及。最近有一起大规模供应链攻击,使得开发安全再度亮起红灯。

安全企业GitGuardian披露发生在9月5日的大规模供应链攻击GhostAction,黑客于GitHub存储库注入恶意工作流程,窃得3,325组帐密、凭证或密钥,影响327名GitHub用户、817个存储库。针对黑客窃得机密敏感数据,涵盖能访问PyPI、NPM、DockerHub的凭证,他们通过远程端点发出HTTP POST请求而得逞。

针对这起事故发现的过程,GitGuardian指出他们起初是侦测到与FastUUID项目有关的GitHub疑似遭到入侵的迹象,经调查发现,此项目被注入了恶意的工作流程文件,而且,维护者Grommash9于9月2日提交(Commit)恶意内容,标题是“添加Github Actions安全工作流程”,内置工作流程文件,但用途却是窃取机密敏感数据。

GitGuardian解析文件内容,指出此工作流程会从CI/CD流程截取PyPI凭证,并发送到攻击者控制的服务器。此凭证的用途,是FastUUID项目开发组件所用。虽然该凭证可被用来上传有问题的FastUUID组件,不过攻击者并未用来发布恶意组件。该公司在GitHub项目发出问题(Issue)向FastUUID开发团队提出警告,并向PyPI通报此事,随后PyPI将项目变更为只读状态,而遭到入侵的GitHub用户也取消原本发布的恶意内容。

不过,FastUUID似乎并非黑客的主要目标,因为在他们在成功入侵的3天后,并未出现进一步的活动。然而后续GitGuardian发现,这实际上是规模更大的攻击活动,他们后来看到有人将相同的恶意提交内容,推送到5个公开的存储库,以及10个私人存储库,于是进一步根据特征进行比对,结果找到327个受害的GitHub用户,并确认有3,325组机密敏感数据外流,其中最大宗的是DockerHub用户名称及凭证,分别有154、149个,其次是GitHub、NPM的凭证,有148、145个,其余还有Confluence的凭证、URL、用户名,以及AWS访问密钥与ID等。

于是,GitGuardian决定在817个受影响的存储库提交问题来通知开发团队,结果有100个已采取行动处理,剩下的717个项目其中,他们成功发出573个问题,其余则是将问题删除,或是停用相关功能。该公司也通报GitHub、PyPI、NPM的安全团队,并对受影响的软件组件进行监控,根据初步调查,有9个NPM组件、15个PyPI组件可能存在相关风险。