SecCodePLT: Uma Plataforma Unificada para Avaliar a Segurança do 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
Resumo
Trabalhos existentes estabeleceram múltiplos benchmarks para destacar os riscos de segurança associados ao Code GenAI. Esses riscos são principalmente refletidos em duas áreas: o potencial de um modelo para gerar código inseguro (codificação insegura) e sua utilidade em ciberataques (utilidade em ciberataques). Embora esses benchmarks tenham avançado significativamente, ainda existem oportunidades para melhorias adicionais. Por exemplo, muitos benchmarks atuais tendem a focar mais na capacidade de um modelo fornecer sugestões de ataque do que em sua capacidade de gerar ataques executáveis. Além disso, a maioria dos benchmarks depende fortemente de métricas de avaliação estáticas, que podem não ser tão precisas quanto métricas dinâmicas como casos de teste bem-sucedidos. Por outro lado, benchmarks verificados por especialistas, embora ofereçam dados de alta qualidade, frequentemente operam em uma escala menor. Para abordar essas lacunas, desenvolvemos o SecCodePLT, uma plataforma unificada e abrangente de avaliação de riscos de Code GenAIs. Para código inseguro, introduzimos uma nova metodologia para criação de dados que combina especialistas com geração automática. Nossa metodologia garante a qualidade dos dados ao permitir a geração em larga escala. Também associamos amostras a casos de teste para realizar avaliação dinâmica relacionada ao código. Para utilidade em ciberataques, configuramos um ambiente real e construímos amostras para incentivar um modelo a gerar ataques reais, juntamente com métricas dinâmicas em nosso ambiente. Realizamos experimentos extensivos e demonstramos que o SecCodePLT supera o benchmark CyberSecEval estado-da-arte em relevância de segurança. Além disso, ele identifica melhor os riscos de segurança de modelos estado-da-arte na codificação insegura e na utilidade em ciberataques. Por fim, aplicamos o SecCodePLT ao agente de código estado-da-arte, Cursor, e, pela primeira vez, identificamos riscos de segurança não triviais neste avançado agente de codificação.
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