English

Detecting Malicious Source Code in PyPI Packages with LLMs: Does RAG Come in Handy?

Software Engineering 2025-04-21 v1

Abstract

Malicious software packages in open-source ecosystems, such as PyPI, pose growing security risks. Unlike traditional vulnerabilities, these packages are intentionally designed to deceive users, making detection challenging due to evolving attack methods and the lack of structured datasets. In this work, we empirically evaluate the effectiveness of Large Language Models (LLMs), Retrieval-Augmented Generation (RAG), and few-shot learning for detecting malicious source code. We fine-tune LLMs on curated datasets and integrate YARA rules, GitHub Security Advisories, and malicious code snippets with the aim of enhancing classification accuracy. We came across a counterintuitive outcome: While RAG is expected to boost up the prediction performance, it fails in the performed evaluation, obtaining a mediocre accuracy. In contrast, few-shot learning is more effective as it significantly improves the detection of malicious code, achieving 97% accuracy and 95% balanced accuracy, outperforming traditional RAG approaches. Thus, future work should expand structured knowledge bases, refine retrieval models, and explore hybrid AI-driven cybersecurity solutions.

Keywords

Cite

@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}
}

Comments

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

R2 v1 2026-06-28T23:03:24.837Z