推特用户@Stephen Lacy发现 GitHub 上存在大规模的混淆恶意软件攻击,目前有超过 35,000 个存储库受影响,包括 crypto、golang、python、js、bash、docker、k8s 等知名项目。
这些恶意软件攻击伪装得非常好,看起来像人畜无害的提交,比如带着“bump version to 0.3.11”之类的消息:
其中一些被混淆成合法的 PR,但其实仓库没有收到任何 PR,反而仓库中的每个 go 文件都被感染了:
其中一些仓库的历史记录包括来自原作者的提交,但该提交未经 GPG 验证,这就意味着提交是攻击者伪装的。除了原作者,恶意软件也可能伪装成其他开发者,但点进去就会发现用户不存在。
这部分恶意攻击与 GiuHub 本身的漏洞相关,比如之前我们报道过的 Linus 利用 GitHub 漏洞发布恶作剧 README ,用户可以 “通过 git 电子邮件地址冒充用户” ,然后利用 https://github.com/my/project/blob/<faked_commit> 这种 URL 发布任意提交。
这些攻击会将脚本、应用程序、笔记本电脑(电子应用程序)等包括安全密钥、AWS 访问密钥、加密密钥等帐户凭证整个 ENV 发送到攻击者的服务器。目前大部分恶意攻击提交都已被清理,但仍有新的在产生,建议大家使用 GPG 签署每个提交。