An Empirical Study of Vulnerabilities in Python Packages and Their Detection

2509.04260v1 cs.SE, cs.AI, cs.CR 2025-09-06
Авторы:

Haowei Quan, Junjie Wang, Xinzhe Li, Terry Yue Zhuo, Xiao Chen, Xiaoning Du

Резюме на русском

## Контекст Python — одна из наиболее популярных и удобных языков программирования, чье простое синтаксисное оформление, широкий спектр применений и богатый экосистема сделали его широко распространенным в современном программном обеспечении. Однако, несмотря на все преимущества, Python-пакеты часто становятся источником безопасностных уязвимостей. Это происходит в связи с тем, что Python часто используется в сочетании с другими языками для повышения производительности или обеспечения интерапредельности. Уязвимости в Python-пакетах могут привести к серьезным проблемам в системах, где эти пакеты используются. Несмотря на то, что существуют различные инструменты для обнаружения и анализа уязвимостей, их эффективность в реальных условиях и полнота остаются неизведанными. Описываемая работа посвящена разработке PyVul — первого полномасштабного бенчмарка для обнаружения уязвимостей в Python-пакетах. PyVul включает в себя 1157 уязвимостей, подтвержденных разработчиками, и работает с разными методами обнаружения, включая метки на уровне коммитов и функций. ## Метод PyVul уже стал первым полномасштабным бенчмарком для обнаружения уязвимостей в Python-пакетах. Он включает в себя 1157 уязвимостей, подтвержденных разработчиками, и предлагает метки, которые могут использоваться для тренировки различных моделей фиксации уязвимостей. Для обеспечения точности и качества данных использовано LLM-обученное алгоритм распознавания, которое позволило достичь 100% точности на уровне коммитов и 94% на уровне функций. Бенчмарк также включает подробные анализы распределения уязвимостей в PyVul, показывая, что они могут затрагивать множество языков программирования и иметь разнообразные виды. Это показывает, что многоязычные Python-пакеты могут быть более уязвимы к уязвимостям. Из PyVul также могут быть извлечены важные выводы о состоянии существующих инструментов и путях их улучшения. ## Результаты PyVul был полностью протестирован на различных данных и сравнивался с текущими инструментами для обнаружения уязвимостей. Экспериментальные результаты показали, что существующие инструменты не всегда удается обнаруживать все виды уязвимостей, в частности те, которые затрагивают многоязычные пакеты. Обнаруженным было, что большинство существующих инструментов не удается обеспечить высокую точность на уровне функций. Однако PyVul, благодаря своему точному меткам, позволяет существенно повысить точность обнаружения уязвимостей в реальных условиях. Также был проведен анализ распределения уязвимостей в различных видах, показав, что в PyV

Abstract

In the rapidly evolving software development landscape, Python stands out for its simplicity, versatility, and extensive ecosystem. Python packages, as units of organization, reusability, and distribution, have become a pressing concern, highlighted by the considerable number of vulnerability reports. As a scripting language, Python often cooperates with other languages for performance or interoperability. This adds complexity to the vulnerabilities inherent to Python packages, and the effectiveness of current vulnerability detection tools remains underexplored. This paper addresses these gaps by introducing PyVul, the first comprehensive benchmark suite of Python-package vulnerabilities. PyVul includes 1,157 publicly reported, developer-verified vulnerabilities, each linked to its affected packages. To accommodate diverse detection techniques, it provides annotations at both commit and function levels. An LLM-assisted data cleansing method is incorporated to improve label accuracy, achieving 100% commit-level and 94% function-level accuracy, establishing PyVul as the most precise large-scale Python vulnerability benchmark. We further carry out a distribution analysis of PyVul, which demonstrates that vulnerabilities in Python packages involve multiple programming languages and exhibit a wide variety of types. Moreover, our analysis reveals that multi-lingual Python packages are potentially more susceptible to vulnerabilities. Evaluation of state-of-the-art detectors using this benchmark reveals a significant discrepancy between the capabilities of existing tools and the demands of effectively identifying real-world security issues in Python packages. Additionally, we conduct an empirical review of the top-ranked CWEs observed in Python packages, to diagnose the fine-grained limitations of current detection tools and highlight the necessity for future advancements in the field.

Ссылки и действия

Связанные статьи

Semantic-Aware Fuzzing: An Empirical Framework for LLM-Guided, Reasoning-Driven ...

## Контекст Многочисленные проблемы безопасности в системах, таких как Интернет вещей (IoT), мобильные платформы и автом...

2025-09-26