SecCodePLT: Единая платформа для оценки безопасности кода GenAI
SecCodePLT: A Unified Platform for Evaluating the Security of Code GenAI
October 14, 2024
Авторы: Yu Yang, Yuzhou Nie, Zhun Wang, Yuheng Tang, Wenbo Guo, Bo Li, Dawn Song
cs.AI
Аннотация
Существующие работы установили несколько стандартов для выявления уязвимостей, связанных с генерацией кода с использованием искусственного интеллекта (Code GenAI). Эти риски в основном проявляются в двух областях: потенциал модели генерировать небезопасный код (небезопасное кодирование) и ее полезность в кибератаках (помощь в кибератаках). Хотя эти стандарты сделали значительные шаги вперед, остаются возможности для дальнейшего улучшения. Например, многие текущие стандарты склонны сконцентрироваться больше на способности модели предлагать советы по атакам, чем на ее способности генерировать исполнимые атаки. Кроме того, большинство стандартов полагаются в основном на статические метрики оценки, которые могут быть менее точными, чем динамические метрики, такие как прохождение тестов. Напротив, стандарты, проверенные экспертами, хотя и предлагают данные высокого качества, часто работают в меньшем масштабе. Для заполнения этих пробелов мы разрабатываем SecCodePLT, единый и всесторонний платформу оценки рисков генерации кода с использованием искусственного интеллекта. Для небезопасного кода мы предлагаем новую методологию создания данных, которая объединяет экспертов с автоматической генерацией. Наш метод обеспечивает качество данных, обеспечивая масштабную генерацию. Мы также ассоциируем образцы с тестовыми случаями для проведения динамической оценки, связанной с кодом. Для оценки полезности в кибератаках мы создаем реальную среду и создаем образцы для стимулирования модели к генерации реальных атак, вместе с динамическими метриками в нашей среде. Мы проводим обширные эксперименты и показываем, что SecCodePLT превосходит стандарт CyberSecEval в области безопасности. Более того, он лучше выявляет риски безопасности моделей SOTA в небезопасном кодировании и помощи в кибератаках. Наконец, мы применяем SecCodePLT к передовому кодовому агенту SOTA, Cursor, и впервые выявляем нетривиальные риски безопасности в этом продвинутом кодовом агенте.
English
Existing works have established multiple benchmarks to highlight the security
risks associated with Code GenAI. These risks are primarily reflected in two
areas: a model potential to generate insecure code (insecure coding) and its
utility in cyberattacks (cyberattack helpfulness). While these benchmarks have
made significant strides, there remain opportunities for further improvement.
For instance, many current benchmarks tend to focus more on a model ability to
provide attack suggestions rather than its capacity to generate executable
attacks. Additionally, most benchmarks rely heavily on static evaluation
metrics, which may not be as precise as dynamic metrics such as passing test
cases. Conversely, expert-verified benchmarks, while offering high-quality
data, often operate at a smaller scale. To address these gaps, we develop
SecCodePLT, a unified and comprehensive evaluation platform for code GenAIs'
risks. For insecure code, we introduce a new methodology for data creation that
combines experts with automatic generation. Our methodology ensures the data
quality while enabling large-scale generation. We also associate samples with
test cases to conduct code-related dynamic evaluation. For cyberattack
helpfulness, we set up a real environment and construct samples to prompt a
model to generate actual attacks, along with dynamic metrics in our
environment. We conduct extensive experiments and show that SecCodePLT
outperforms the state-of-the-art (SOTA) benchmark CyberSecEval in security
relevance. Furthermore, it better identifies the security risks of SOTA models
in insecure coding and cyberattack helpfulness. Finally, we apply SecCodePLT to
the SOTA code agent, Cursor, and, for the first time, identify non-trivial
security risks in this advanced coding agent.Summary
AI-Generated Summary