中文

使用 LLM 检测 PyPI 软件包中的恶意源代码:RAG 是否有用?

软件工程 2025-04-21 v1

摘要

开源生态系统(如 PyPI)中的恶意软件包正扮演着日益增长的安全风险。与传统漏洞不同,这些软件包是刻意设计用于欺骗用户的,由于攻击方法不断演变且缺乏结构化数据集,导致检测难以实现。本文我们经验性地评估了大型语言模型 (LLM)、检索增强生成 (RAG) 和 few-shot 学习在检测恶意源代码方面的有效性。我们对 LLM 进行微调,并整合 YARA 规则、GitHub 安全公告和恶意代码片段,以提升分类准确度。我们发现了一个反直觉的结果:尽管 RAG 预期能提升预测性能,但在本次评估中未能实现,获得了平庸的准确度。相比之下,few-shot 学习更为有效,显著提高了恶意代码的检测能力,实现 97% 的准确度和 95% 的平衡准确度,超越了传统的 RAG 方法。因此,未来的工作应扩充结构化知识库,精炼检索模型,并探索混合 AI 驱动的网络安全解决方案。

关键词

引用

@article{arxiv.2504.13769,
  title  = {Detecting Malicious Source Code in PyPI Packages with LLMs: Does RAG Come in Handy?},
  author = {Motunrayo Ibiyo and Thinakone Louangdy and Phuong T. Nguyen and Claudio Di Sipio and Davide Di Ruscio},
  journal= {arXiv preprint arXiv:2504.13769},
  year   = {2025}
}

备注

The paper has been peer-reviewed and accepted for publication to the 29th International Conference on Evaluation and Assessment in Software Engineering (EASE 2025)