GitHub 中插入 35K 恶意代码:攻击还是漏洞赏金活动? Plato区块链数据智能。垂直搜索。人工智能。

GitHub 中的 35K 恶意代码插入:攻击还是漏洞赏金?

软件专家今天表示,一名名为“Pl0xP”的黑客克隆了大量 GitHub 存储库,并略微更改了克隆的存储库名称,以进行域名仿冒以冒充合法项目,从而可能感染任何导入代码的软件。

广泛的克隆导致超过 35,000 次恶意 URL 插入不同的代码存储库,尽管受影响的软件项目的确切数量可能要小得多,软件工程师 Stephen Lacy 在清晨的 Twitter 帖子中表示。 攻击,一种变体 依赖混淆,可能会导致开发人员在没有对软件源进行充分验证的情况下使用假 GitHub 存储库的问题,他说。

据 Lacy 称,如果被导入,恶意代码就会在系统上执行代码。 “这次攻击会将脚本、应用程序、笔记本电脑(电子应用程序)的整个环境发送到攻击者的服务器! ENV 包括: 安全密钥; AWS 访问密钥; 加密密钥……更多。” 

“ENV”是环境变量,用于存储开发人员希望在其工作流程中引用的信息。

Lacy 说,软件工程师在审核他考虑纳入自己项目的软件库时发现了恶意功能。

“我在审查通过 Google 搜索发现的项目时发现了这个漏洞,” 他啾啾. “这就是为什么我们不从 Internet 安装随机软件包的原因!”

克隆——或“分叉”——不是一种新的恶意技术,但它是一种棘手的技术。

Aqua Security 软件工程师 Mor Weinberg 说:“过去,不良行为者因使用恶意代码创建克隆/分叉的流行存储库而为人所知。” “这可能变得很难发现,因为克隆的存储库可能会保留带有原始作者的用户名和电子邮件地址的代码提交,从而给人一种误导印象,即原始项目作者也做出了新的提交。 使用真实项目作者的 GPG 密钥签名的开源代码提交是验证代码真实性的一种方法。”

ArmorCode 产品副总裁 Mark Lambert 补充说:“这……类似于有人建立一个‘虚假’网站或发送网络钓鱼电子邮件。” “这会吸引那些没有注意的人。”

攻击还是合法研究?

GitHub 中的这种大规模分叉可能不是真正的攻击。 一个声称了解该问题的人将广泛的域名仿冒定位为合法的研究工作。

“这仅仅是一项漏洞赏金计划。 没有造成伤害。 报告将被发布,”一个 名为“pl0x_plox_chiken_p0x”的 Twitter 用户于 3 月 XNUMX 日发了推文.

虽然一个构思不周的研究项目可以解释这次攻击,但为研究创建数千个代码更改似乎具有非理性的风险。 此外,推特用户仅在前三天注册了该帐户——较短的帐户生命周期通常是欺诈性在线角色的一个特征。

软件安全公司 Checkmarx 的供应链安全工程负责人 Jossef Harush 告诉 Dark,声称这次攻击是漏洞赏金的一部分的说法“有待证实,因为该活动具有恶意行为的特征”阅读。

无论如何,漏洞赏金平台 Bugcrowd 的安全运营高级主管 Michael Skelton 指出,至少原始代码存储库没有受到影响。

“虽然不清楚 Pl0xP 的漏洞赏金发现的性质是什么(因为社会工程超出了几乎所有漏洞赏金计划的范围),但看起来他们确实克隆了一些存储库,并在这些克隆中进行了更改只是——在任何情况下,这种变化都不会进入被克隆的原始存储库,”他说。 “克隆存储库是一个标准操作,不会影响原始存储库,除非所有者合并回更改(通过拉取请求请求),这在此处没有完成。”

恶意软件依赖比比皆是

GitHub 似乎清理了恶意代码提交,截至 3 月 XNUMX 日下午,对嵌入的错误 URL 的搜索结果为零。 然而,这次攻击并不是开源项目第一次不得不与攻击者打交道。 针对软件供应链的攻击次数 650 年上涨 2021%,主要由依赖混淆攻击驱动,攻击者使用几乎相同名称的开源代码块版本,希望开发人员错误输入所需库或组件的名称,或者没有注意到命名法上的细微差别。 

将恶意的、命名错误的项目植入存储库需要攻击者做一些基础工作。 XNUMX 月,软件安全公司 Checkmarx 透露了一种在 GitHub 上创建虚假开发者帐户的方法, 完成代码提交的活跃历史 以增加他们的可信度。 Harush 说,该技术以及最新的攻击强调维护者需要采取措施只接受签名的代码提交。 开发人员需要“提防拉取请求和贡献有可疑的未经验证的提交,[并且需要]审查......与提交消息中的免责声明相比贡献的内容以及将现有依赖项添加或修改为类似命名依赖项的贡献作为一部分贡献,”他补充道。

不信任,验证

为了避免他们的项目被毒化,维护者和开发者应该只信任那些他们知道的贡献者,并且有广泛和可验证的提交历史。 Harush 说,他们还应该使用可用的工具——例如数字签名和多因素身份验证——来保护他们的账户。

“就像你不应该相信陌生人的糖果一样——也不要相信陌生人的代码,”他说。 “用户在评估候选项目时可能会被欺骗,认为它们是合法的,[因此]他们在本地开发计算机、构建环境、生产环境甚至构建软件中使用它,[直到最终对客户执行一些恶意操作] [系统]。

在 Checkmarx 的 XNUMX 月份关于欺骗身份信息和提交信息的咨询中 混帐 命令行实用程序,该公司强调了当恶意提交者将自己伪装成已知贡献者时对软件项目的风险。 这“使项目看起来值得信赖”, 该公司表示. “让这种提交欺骗更加令人担忧的是,被欺骗的用户没有收到通知,也不知道他们的名字被使用了。”

Checkmarx 表示,GitHub 已经为代码提交添加了数字签名以验证贡献者的身份,但项目维护者应启用“警惕模式”,这是 GitHub 的一项功能,可显示每个提交及其贡献者的验证状态的详细信息。

Harush 说,至少,开发人员和项目维护人员应该偶尔检查他们的提交日志并要求他们的其他维护人员启用 GPG 签名的提交。 “习惯拥有签名的提交日志将使您有利于关注未经验证的贡献。”

无法立即联系到 GitHub 征求意见。

时间戳记:

更多来自 暗读