已发布分析器,识别 NPM 和 PyPI 中的 200 个恶意软件包

OpenSSF(开源安全基金会)由Linux基金会成立,旨在提高开源软件的安全性,推出了开放项目Package Analysis,该项目开发了一个用于分析软件包中是否存在恶意代码的系统。 该项目代码是用 Go 编写的,并在 Apache 2.0 许可证下分发。 使用建议的工具对 NPM 和 PyPI 存储库进行初步扫描,使我们能够识别 200 多个以前未检测到的恶意软件包。

大部分已识别的有问题的包操纵名称与项目的内部非公共依赖项的交集(依赖项混淆攻击)或使用拼写错误方法(分配与流行库的名称类似的名称),并且还在运行期间调用访问外部主机的脚本。安装过程。 根据 Package Analysis 的开发人员的说法,大多数已识别的有问题的包很可能是由参与错误赏金计划的安全研究人员创建的,因为发送的数据仅限于用户和系统名称,并且操作是明确执行的,而不是尝试隐藏他们的行为。

具有恶意活动的软件包包括:

  • PyPI 包discordcmd,记录向 raw.githubusercontent.com、Discord API 和 ipinfo.io 发送非典型请求。 指定的软件包从GitHub下载后门代码并将其安装在Discord Windows客户端目录中,之后它开始在文件系统中搜索Discord令牌并将其发送到攻击者控制的外部Discord服务器。
  • colorss NPM 包还尝试将令牌从 Discord 帐户发送到外部服务器。
  • NPM 包 @roku-web-core/ajax - 在安装过程中,它发送有关系统的数据并启动一个处理程序(反向 shell),该处理程序接受外部连接并启动命令。
  • PyPI 包 secrevthird - 在导入特定模块时启动反向 shell。
  • NPM 包 random-vouchercode-generator - 导入库后,它向外部服务器发送请求,该服务器返回命令及其应运行的时间。

包分析的工作归结为分析源代码中的代码包,以建立网络连接、访问文件和运行命令。 此外,还会监视软件包状态的变化,以确定在最初无害的软件版本之一中是否添加了恶意插入。 为了监视存储库中新包的出现并对以前发布的包进行更改,使用了 Package Feeds 工具包,该工具包统一了与 NPM、PyPI、Go、RubyGems、Packagist、NuGet 和 Crate 存储库的工作。

包分析包括三个基本组件,可以结合使用也可以单独使用:

  • 用于根据包源数据启动包分析工作的调度程序。
  • 一种使用静态分析和动态跟踪技术直接检查包并评估其行为的分析器。 测试是在隔离环境中进行的。
  • 将测试结果放入 BigQuery 存储中的加载程序。

来源: opennet.ru

添加评论