HeadlinesBriefing favicon HeadlinesBriefing.com

NPM数学库中发现加密加载器

Hacker News •
×

我们在mathmain中发现了一个隐藏的远程访问植入程序,mathmain是一个复制流行mathjs库的npm包。恶意代码以加密形式发布。它保持休眠状态,直到程序使用该库解出特定方程。该方程就是密钥。当密钥匹配时,该包会解密一个有效载荷并运行它。该有效载荷接收来自攻击者的命令并在主机上运行它们。它使用一个公共聊天服务和区块链网络作为其命令通道。

我们从2026年9月17日对mathmain进行Safe Dep分析开始。该包看起来像是mathjs的副本,只是名称不同且代码经过混淆。求解器中一个新增的调用将我们引向了加载器。在lusolve()的末尾附近,我们在Common JS构建中发现了一个额外的调用。求解器已经计算出了结果。然后它传递来自下三角矩阵的数据以调用remove Solve Validation()。

我们跟踪remove Solve Validation()到lib/cjs/utils/is.js中的is Graph(x)。新增的is Graph()函数解密并加载代码。它将其输入转换为JSON字符串,并将该字符串用作密码。它首先解密一个文件名。然后它将文件路径和密码传递给event(),并使用require()加载返回的路径。

矩阵数据变成了密码。在lib/cjs/utils/event.js中,我们找到了解密函数。它们使用scrypt将密码转换为256位的密钥。然后它们使用AES-GCM解密数据。加载器写入并运行该文件。event()辅助函数解密文件,将结果写入磁盘,并返回输出路径。

关键实体:公司:mathjs、Safe Dep

常见问题:恶意npm包mathmain如何解密其有效载荷?

该包使用由mathjs库解出的特定方程作为密钥。当方程被解出时,得到的矩阵数据被转换为JSON字符串,并用作密码,通过scrypt和AES-GCM解密有效载荷。

常见问题Q:恶意npm包mathmain如何解密其有效载荷?

常见问题A:该包使用由mathjs库解出的特定方程作为密钥。当方程被解出时,得到的矩阵数据被转换为JSON字符串,并用作密码,通过scrypt和AES-GCM解密有效载荷。