npm code eintegrity(npm extract)

新研究发现 npm 注册表中有 800 多个软件包与其注册表项存在差异,其中 18 个软件包被发现利用了一种名为“明显混淆”的技术。

该调查结果来自网络安全公司 JFrog,该公司表示,威胁行为者可能会利用该问题来诱骗开发人员运行恶意代码。

安全研究员安德烈·波尔科夫尼琴科 (Andrey Polkovnichenko) :“这是一个真正的威胁,因为开发人员可能会被诱骗下载看似无辜的软件包,但其隐藏的依赖项实际上是恶意的。”

清单混乱首次记录在 2023 年 7 月,当时安全研究员 Darcy Clarke 发现清单和包元数据的不匹配可以被武器化以发动软件供应链攻击。

该问题源于以下事实:npm 注册表不会验证 tarball (package.json) 中包含的清单文件是否与发布过程中通过对包 URI 端点的 HTTP PUT 请求提供给 npm 服务器的清单数据匹配。

因此,威胁行为者可以利用缺乏交叉验证的情况来提供包含在软件包安装过程中处理的隐藏依赖项的不同清单,以秘密地将恶意依赖项安装到开发人员的系统上。

JFrog 表示:“可见的或‘虚假’清单可能会误导开发人员,甚至会误导依赖 npm 注册表数据库中可用数据的审计工具。” “实际上,安装程序从 tarball 中获取文件 package.json,该文件可能与 HTTP PUT 请求中提供的可见文件不同。”

该公司表示,它发现了 800 多个软件包,其中 npm 注册表中的清单与 tarball 中的 package.json 文件不匹配。

虽然其中许多不匹配是由于协议规范差异或包文件脚本部分中的变化造成的,但其中 18 个据说是为了利用明显的混乱而设计的。

一个值得注意的问题包是 yatai-web-ui,它旨在向服务器发送 HTTP 请求,其中包含有关安装该包的计算机的 IP 地址的信息。

调查结果表明,攻击媒介似乎从未被威胁行为者使用过。也就是说,开发人员采取措施确保软件包不存在可疑行为至关重要。

“由于 npm 没有解决这个问题,仅通过 npm 网站上的外观来信任软件包可能会有风险,”Polkovnichenko 说。“组织应该引入程序来验证进入组织或开发团队使用的所有包都是安全且可信的。特别是在明显混乱的情况下,需要分析每个包以查看是否存在任何隐藏的内容。依赖关系。”

原创文章,作者:小技术君,如若转载,请注明出处:https://www.sudun.com/ask/34071.html

(0)
小技术君's avatar小技术君
上一篇 2024年4月9日 下午5:09
下一篇 2024年4月9日 下午5:11

相关推荐

  • 如何在在线种子资源网站上找到最新的电影资源?

    想要在互联网上寻找最新的电影资源,你一定会想到在线种子资源网站。但是,你是否知道这些网站究竟是什么?它们又有哪些特点和优势呢?如果你想要通过分类和筛选功能来寻找最新的电影资源,又该…

    问答 2024年3月28日
    0
  • dyh是什么意思?(详解)

    你是否曾经听说过dyh?它的含义究竟是什么?在网络行业中,dyh一直扮演着重要的角色,却又鲜为人知。今天,我们将带您进入dyh的世界,揭开它神秘的面纱。什么是dyh?它究竟有哪些作…

    问答 2024年4月1日
    0
  • ddos攻击的防御措施及其实施方法

    DDoS攻击,是网络安全领域中备受关注的一个话题。它的出现给网络行业带来了巨大的挑战,也给我们的生活带来了诸多不便。那么,什么是DDoS攻击?它究竟有哪些危害和影响?又有哪些常见的…

    问答 2024年3月31日
    0
  • 如何使用cloneable接口实现对象的克隆?

    在网络行业,如何使用cloneable接口实现对象的克隆?这似乎是一个晦涩难懂的话题,但实际上,它却是非常有趣且实用的。你是否曾想过,如果我们能够快速地复制一个对象,并且保留其原有…

    问答 2024年4月9日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注