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와 관련된 보안 위험을 강조하기 위해 여러 개의 벤치마크를 수립해 왔습니다. 이러한 위험은 주로 두 가지 영역에서 반영됩니다: 안전하지 않은 코드 생성의 모델 잠재력(안전하지 않은 코딩) 및 사이버 공격에서의 유용성(사이버 공격 유용성). 이러한 벤치마크들이 상당한 발전을 이루었지만, 더 나은 개선 기회가 남아 있습니다. 예를 들어, 현재 많은 벤치마크들은 공격 제안을 제공하는 모델 능력에 초점을 맞추는 경향이 있어 실행 가능한 공격을 생성하는 능력에 대한 용량에 대해 다소 미흡합니다. 게다가 대부분의 벤치마크는 정적 평가 지표에 크게 의존하는데, 이는 동적 지표인 테스트 케이스 통과와 같이 정확하지 않을 수 있습니다. 반면 전문가 검증된 벤치마크는 고품질 데이터를 제공하지만 종종 규모가 작습니다. 이러한 공백을 해결하기 위해, 우리는 코드 GenAI의 위험에 대한 통합적이고 포괄적인 평가 플랫폼인 SecCodePLT를 개발했습니다. 안전하지 않은 코드에 대해서는 전문가와 자동 생성을 결합한 데이터 생성을 위한 새로운 방법론을 소개합니다. 이 방법론은 데이터 품질을 보장하면서 대규모 생성을 가능하게 합니다. 또한 샘플을 테스트 케이스와 연결하여 코드 관련 동적 평가를 수행합니다. 사이버 공격 유용성에 대해서는 실제 환경을 구축하고 모델이 실제 공격을 생성하도록 샘플을 만들며, 우리 환경에서 동적 지표를 사용합니다. 우리는 광범위한 실험을 수행하고 SecCodePLT가 보안 관련에서 최첨단 벤치마크인 CyberSecEval을 능가함을 보여줍니다. 더 나아가, SecCodePLT는 최첨단 모델의 안전하지 않은 코딩과 사이버 공격 유용성의 보안 위험을 더 잘 식별합니다. 마지막으로, 우리는 SecCodePLT를 최첨단 코드 에이전트 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