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

Fuente: arXiv
Salvato in:
Dettagli Bibliografici
Autori principali: Ibiyo, Motunrayo, Louangdy, Thinakone, Nguyen, Phuong T., Di Sipio, Claudio, Di Ruscio, Davide
Natura: Preprint
Pubblicazione: 2025
Soggetti:
Accesso online:
Tags: Aggiungi Tag
Nessun Tag, puoi essere il primo ad aggiungerne!!
_version_ 1866910914122350592
author Ibiyo, Motunrayo
Louangdy, Thinakone
Nguyen, Phuong T.
Di Sipio, Claudio
Di Ruscio, Davide
author_facet Ibiyo, Motunrayo
Louangdy, Thinakone
Nguyen, Phuong T.
Di Sipio, Claudio
Di Ruscio, Davide
contents 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.
format Preprint
id arxiv_https___arxiv_org_abs_2504_13769
institution arXiv
publishDate 2025
record_format arxiv
spellingShingle Detecting Malicious Source Code in PyPI Packages with LLMs: Does RAG Come in Handy?
Ibiyo, Motunrayo
Louangdy, Thinakone
Nguyen, Phuong T.
Di Sipio, Claudio
Di Ruscio, Davide
Software Engineering
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.
title Detecting Malicious Source Code in PyPI Packages with LLMs: Does RAG Come in Handy?
topic Software Engineering
url https://arxiv.org/abs/2504.13769