SecCodePLT : Une plateforme unifiée pour évaluer la sécurité du code GenAI.
SecCodePLT: A Unified Platform for Evaluating the Security of Code GenAI
October 14, 2024
Auteurs: Yu Yang, Yuzhou Nie, Zhun Wang, Yuheng Tang, Wenbo Guo, Bo Li, Dawn Song
cs.AI
Résumé
Les travaux existants ont établi plusieurs références pour mettre en évidence les risques de sécurité associés à Code GenAI. Ces risques se reflètent principalement dans deux domaines : le potentiel d'un modèle à générer un code non sécurisé (codage non sécurisé) et son utilité dans les cyberattaques (utilité des cyberattaques). Bien que ces références aient réalisé des progrès significatifs, il reste des opportunités d'amélioration. Par exemple, de nombreuses références actuelles ont tendance à se concentrer davantage sur la capacité d'un modèle à fournir des suggestions d'attaque plutôt que sur sa capacité à générer des attaques exécutables. De plus, la plupart des références reposent fortement sur des métriques d'évaluation statiques, qui peuvent ne pas être aussi précises que les métriques dynamiques telles que les cas de test réussis. En revanche, les références vérifiées par des experts, tout en offrant des données de haute qualité, fonctionnent souvent à plus petite échelle. Pour combler ces lacunes, nous développons SecCodePLT, une plateforme d'évaluation unifiée et complète des risques des Code GenAIs. Pour le code non sécurisé, nous introduisons une nouvelle méthodologie de création de données qui combine des experts avec une génération automatique. Notre méthodologie garantit la qualité des données tout en permettant une génération à grande échelle. Nous associons également des échantillons à des cas de test pour mener une évaluation dynamique liée au code. Pour l'utilité des cyberattaques, nous mettons en place un environnement réel et construisons des échantillons pour inciter un modèle à générer des attaques réelles, ainsi que des métriques dynamiques dans notre environnement. Nous menons des expériences approfondies et montrons que SecCodePLT surpasse la référence de pointe CyberSecEval en termes de pertinence en matière de sécurité. De plus, il identifie mieux les risques de sécurité des modèles de pointe en matière de codage non sécurisé et d'utilité des cyberattaques. Enfin, nous appliquons SecCodePLT à l'agent de code de pointe, Cursor, et identifions, pour la première fois, des risques de sécurité non triviaux dans cet agent de codage avancé.
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