SecCodePLT: Una Plataforma Unificada para Evaluar la Seguridad del Código GenAI
SecCodePLT: A Unified Platform for Evaluating the Security of Code GenAI
October 14, 2024
Autores: Yu Yang, Yuzhou Nie, Zhun Wang, Yuheng Tang, Wenbo Guo, Bo Li, Dawn Song
cs.AI
Resumen
Trabajos existentes han establecido múltiples puntos de referencia para resaltar los riesgos de seguridad asociados con Code GenAI. Estos riesgos se reflejan principalmente en dos áreas: el potencial de un modelo para generar código inseguro (codificación insegura) y su utilidad en ciberataques (utilidad en ciberataques). Aunque estos puntos de referencia han avanzado significativamente, aún existen oportunidades para mejoras adicionales. Por ejemplo, muchos puntos de referencia actuales tienden a centrarse más en la capacidad de un modelo para proporcionar sugerencias de ataque en lugar de en su capacidad para generar ataques ejecutables. Además, la mayoría de los puntos de referencia dependen en gran medida de métricas de evaluación estáticas, que pueden no ser tan precisas como las métricas dinámicas como los casos de prueba aprobados. Por el contrario, los puntos de referencia verificados por expertos, aunque ofrecen datos de alta calidad, a menudo operan a una escala más pequeña. Para abordar estas brechas, desarrollamos SecCodePLT, una plataforma unificada y completa de evaluación de riesgos de Code GenAIs. Para el código inseguro, introducimos una nueva metodología para la creación de datos que combina expertos con generación automática. Nuestra metodología garantiza la calidad de los datos al tiempo que permite una generación a gran escala. También asociamos muestras con casos de prueba para llevar a cabo una evaluación dinámica relacionada con el código. Para la utilidad en ciberataques, configuramos un entorno real y construimos muestras para incitar a un modelo a generar ataques reales, junto con métricas dinámicas en nuestro entorno. Realizamos experimentos extensos y demostramos que SecCodePLT supera al punto de referencia de última generación (SOTA) CyberSecEval en relevancia de seguridad. Además, identifica mejor los riesgos de seguridad de los modelos SOTA en codificación insegura y utilidad en ciberataques. Finalmente, aplicamos SecCodePLT al agente de código SOTA, Cursor, e identificamos, por primera vez, riesgos de seguridad no triviales en este avanzado agente de codificación.
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