← 最新论文
💻 computer science

Killing Two Birds with One Stone: Malicious Package Detection in NPM and PyPI using a Single Model of Malicious Behavior Sequence

该论文介绍了 Cerebro,这是一个统一的深度学习模型,通过利用行为序列的高层抽象来融合跨生态系统的知识并捕捉序列恶意模式,从而检测 NPM 和 PyPI 生态系统中的恶意软件包,并成功识别了数百个新威胁。

原作者: Junan Zhang, Kaifeng Huang, Yiheng Huang, Bihuan Chen, Ruisi Wang, Chong Wang, Xin Peng

发布于 2026-06-23
📖 1 分钟阅读☕ 轻松阅读

原作者: Junan Zhang, Kaifeng Huang, Yiheng Huang, Bihuan Chen, Ruisi Wang, Chong Wang, Xin Peng

原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明

想象一下,软件开发的世界就像一个规模宏大、繁忙有序的全球市场。开发者(即“软件包开发者”)构建工具和库(即“软件包”),并将它们在两个巨大的热门集市中出售:NPM(针对 JavaScript)和 PyPI(针对 Python)。每个人都喜爱这些集市,因为它们让构建软件变得快速且简单。

然而,问题出现了。坏人(黑客)开始潜入这些市场。他们不仅是偷窃,还在其中植入了特洛伊木马。他们上传看起来很有帮助、实则包含隐藏恶意代码的软件包,旨在窃取你的密码、监视你的电脑或挟持你的数据。

长期以来,这些集市的守卫者(安全团队)面临着两个主要问题:

  1. 他们语言不通: NPM 集市的守卫只懂得如何识别坏的 JavaScript。而 PyPI 集市的守卫只懂得如何识别坏的 Python。如果一名罪犯将他们的“邪恶计划”从一个集市复制到另一个集市,另一边的守卫将无法识别出来。
  2. 他们孤立地观察线索: 守卫们检查的是单个可疑项,比如“这个软件包的名字很奇怪吗?”或者“它是否尝试连接互联网?”但他们并没有观察一个软件包所做行为的整个过程。如果只检查一项,一个软件包可能看起来是无害的;但如果你观察它的整天行程,你可能会发现它的真面目:窃取一个文件,隐藏它,然后将其通过电子邮件发送给陌生人。 这个序列才揭示了真实的真相。

解决方案:“Cerebro”(超级大脑)

研究人员构建了一个名为 Cerebro 的新安全系统。你可以把 Cerebro 想象成一位精通两种语言、并且是解读故事专家的超级智能侦探。

以下是 Cerebro 如何运作的,我们使用简单的类比:

1. 通用翻译官(特征提取)
与其观察具体的代码(这在 Python 和 JavaScript 中看起来完全不同),Cerebro 观察的是高层级的动作

  • 类比: 想象你在看一部外语电影。你不需要理解台词,也能知道剧情。你会看到一个角色撬锁、跑向汽车并开车离开。
  • Cerebro 也是如此。它忽略特定的语法,转而寻找通用的“不良行为”:读取秘密文件、连接互联网、隐藏数据或尝试运行隐藏命令。 这使得它能同样出色地理解来自 NPM 和 PyPI 的恶意软件包。

2. 故事讲述者(行为序列)
这是 Cerebro 的秘密武器。它不仅仅是列出一个软件包可能做的坏事,而是将它们排列成一条时间轴

  • 类比: 如果你看到一个人买了一个面具、一把撬棍和一辆逃生车,这很可疑。但如果你看到他戴上面具,然后用撬棍砸碎窗户,接着跳进车里,这就是一场清晰的劫案
  • Cerebro 构建了一个“行为序列”。它会询问:“这个软件包是在尝试通过互联网发送数据之前读取了一个文件吗?”通过理解事件的顺序,它能够区分出一个合法的工具(例如需要发送数据的天气应用)和一个窃取数据并将其发送出去的窃贼。

3. 专家读者(AI 模型)
Cerebro 将这种关于恶意行为的“故事”输入到一个强大的 AI(大语言模型)中,该模型经过训练,能够理解恶意代码的“氛围”。这就像是教一名侦探阅读数千本犯罪小说,以便让他们能瞬间识别出罪犯的行为模式。

他们取得了什么成就?

研究人员在包含数千个真实软件包的大型数据集上测试了 Cerebro。结果如下:

  • 这是一个“一石二鸟”的解决方案: 他们训练了同一个单一模型来捕捉 NPM 和 PyPI 中的恶意软件包。它不需要两支不同的团队;它只需要一个聪明的头脑。
  • 它比旧有的守卫更出色: 在测试中,Cerebro 的准确度显著高于现有的最佳安全工具。它抓住了更多的恶意软件包(更高的召回率),并且在判断正常软件包时犯错更少(更高的精确度)。
  • 它在现实世界中行之有效: 研究人员不仅在旧数据上进行测试。他们让 Cerebro 观察了数月的实时市场。
    • 它在 PyPI 中发现了 683 个新的恶意软件包,在 NPM 中发现了 799 个,而此前从未被其他人发现。
    • 他们向官方团队报告了这些情况,随后这些软件包被移除。
    • 官方团队非常感激,甚至寄出了 707 封“感谢信”

核心结论

这篇论文表明,通过教计算机去理解动作的序列(故事)而非仅仅是孤立的线索,并教它同时理解两个主要软件市场的“语言”,我们可以更有效地抓住数字窃贼。Cerebro 证明了,一个单一的、智能的模型可以同时保护两个不同的世界,让软件供应链对所有人来说都更加安全。

您所在领域的论文太多了?

获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。

试用 Digest →