中文

DONAPI:基于行为序列知识映射的恶意 NPM 包检测器

密码学与安全 2024-03-14 v1

摘要

随着模块化在软件开发中日益普及,包管理器和语言生态系统也随之兴起。其中,npm 作为最庞大的包管理器脱颖而出,托管着超过 200 万个第三方开源包,极大地简化了代码构建过程。然而,这种开放性也带来了安全风险,众多包投毒事件便是明证。在本文中,我们近乎实时地同步了一个包含超过 340 万个包的本地包缓存,以便访问更多的包代码细节。此外,我们对从公共数据集和安全报告中收集的包进行人工检查和 API 调用序列分析,构建了一个涵盖不同敏感行为的分层分类框架和行为知识库。我们还提出了 DONAPI,一种结合静态与动态分析的自动恶意 npm 包检测器。它通过代码重构技术和静态分析对包的恶意程度进行初步判断,提取动态 API 调用序列以确认和识别静态分析无法单独处理的混淆内容,最后基于构建的行为知识库标记恶意软件包。迄今为止,我们已识别并人工确认了 325 个恶意样本,并发现了 2 个异常 API 调用和 246 个在已知样本中未出现过的 API 调用序列。

关键词

引用

@article{arxiv.2403.08334,
  title  = {DONAPI: Malicious NPM Packages Detector using Behavior Sequence Knowledge Mapping},
  author = {Cheng Huang and Nannan Wang and Ziyan Wang and Siqi Sun and Lingzi Li and Junren Chen and Qianchong Zhao and Jiaxuan Han and Zhen Yang and Lei Shi},
  journal= {arXiv preprint arXiv:2403.08334},
  year   = {2024}
}

备注

18 pages, accepted for publication at USENIX Security 2024