一石二鸟:使用单一恶意行为序列模型检测 NPM 与 PyPI 中的恶意包
密码学与安全
2025-05-05 v2 软件工程
摘要
开源软件(OSS)供应链扩大了攻击面,这使得包注册表成为有吸引力的攻击目标。近来,包注册表 NPM 和 PyPI 中充斥着恶意包。现有的恶意 NPM 和 PyPI 包检测方法的有效性受到两个挑战的阻碍。第一个挑战是如何以统一的方式利用来自不同生态系统的恶意包知识,从而使多语言恶意包检测可行。第二个挑战是如何以序列方式对恶意行为建模,从而精确捕捉恶意性。为应对这两个挑战,我们提出并实现了 Cerebro 来检测 NPM 和 PyPI 中的恶意包。我们基于恶意行为的高层抽象策划了一组特征,以实现多语言知识融合。我们将提取的特征组织为行为序列以对顺序恶意行为建模。我们微调 BERT 模型以理解恶意行为的语义。大量评估证明了 Cerebro 相对于最先进方法的有效性以及实际可接受的效率。Cerebro 已成功在 PyPI 和 NPM 中检测出 306 和 196 个新恶意包,并收到了来自官方 PyPI 和 NPM 团队的 385 封感谢信。
引用
@article{arxiv.2309.02637,
title = {Killing Two Birds with One Stone: Malicious Package Detection in NPM and PyPI using a Single Model of Malicious Behavior Sequence},
author = {Junan Zhang and Kaifeng Huang and Yiheng Huang and Bihuan Chen and Ruisi Wang and Chong Wang and Xin Peng},
journal= {arXiv preprint arXiv:2309.02637},
year = {2025}
}
备注
Paper accepted in TOSEM 2024