경량 트랜스포머 VulnScout‑C로 구현하는 실시간 C 코드 취약점 탐지

VulnScout‑C는 Qwen 기반의 693 M 파라미터(추론 시 353 M 활성) 경량 트랜스포머와 33 565개의 고품질 C 코드 샘플로 구성된 VULNSCOUT 데이터셋을 결합해, CASTLE 벤치마크에서 기존 대형 LLM 및 상용 정적 분석 도구를 모두 능가하면서 5 ms 이하의 초저지연을 달성한다.

저자: Aymen Lassoued, Nacef Mbarek, Bechir Dardouri

경량 트랜스포머 VulnScout‑C로 구현하는 실시간 C 코드 취약점 탐지
본 논문은 소프트웨어 보안 분야에서 C 언어 프로그램의 취약점 탐지를 실시간으로 수행할 수 있는 경량 트랜스포머 모델 VulnScout‑C와, 이를 학습시키기 위한 고품질 데이터셋 VULNSCOUT을 제안한다. 연구 동기는 기존 대형 LLM(예: GPT‑4, DeepSeek R1)이 뛰어난 탐지 성능을 보이지만, 수십억 파라미터 규모와 높은 연산·메모리 요구량으로 인해 개발 환경에 직접 통합하기 어렵다는 점이다. 이를 해결하기 위해 저자는 두 가지 핵심 전략을 채택한다. 첫째, Qwen‑3‑30B‑A3B 임베딩을 기반으로 MoE(전문가 혼합) 구조를 적용한 693 M 파라미터 모델을 설계하고, 추론 시 활성화되는 파라미터를 353 M으로 제한함으로써 메모리와 지연 시간을 크게 절감한다. 전문가 수와 라우팅 전략을 최적화해 코드 토큰화와 위치 인코딩을 C‑특화 방식으로 재구성했으며, 이는 메모리 관리, 포인터 연산, 경계 검사 등 저수준 특성을 효과적으로 학습하게 만든다. 둘째, 데이터 측면에서는 기존 Juliet, SecVulEval, FormAI‑v2, BenchVul 등 네 가지 공개 데이터와 자체 제작한 VULNSCOUT 데이터셋을 결합한다. VULNSCOUT은 33 565개의 C 함수 샘플을 다중 에이전트 파이프라인을 통해 자동 생성하고, ESBMC와 GPT‑OSS‑120B 두 형식 검증기가 독립적으로 동일한 취약점 여부를 판단할 때만 라벨을 확정하는 이중 검증 프로세스를 도입한다. 이 과정에서 라벨 오류와 거짓 양성을 최소화하고, 기존 데이터에서 부족했던 CWE‑Top‑25(특히 CWE‑78, CWE‑787 등)의 커버리지를 크게 확대하였다. 학습에서는 이진 취약점 여부와 25개 CWE 분류를 동시에 최적화하도록 가중 이진 교차 엔트로피 손실을 설계했으며, MITRE Top‑25 CWE의 심각도에 따라 가중치를 부여해 고위험 취약점 탐지에 집중한다. 모델은 4 GPU(80 GB) 환경에서 12 시간 내에 수렴했으며, 추론 시 배치 32 기준 4.97 ms(초당 201 샘플)의 초저지연을 달성한다. 성능 평가는 표준화된 CASTLE 벤치마크(250 샘플)와 추가 실세계 코드베이스에서 수행되었다. VulnScout‑C는 이진 F1 85.4 %, 정확도 82.4 %를 기록해 GPT‑4(≈78 % F1), DeepSeek R1, GPT‑3.5‑Turbo 등 최신 LLM을 모두 앞섰으며, 상용 정적 분석 도구(예: Coverity, Fortify)의 평균 F1 ≈68 %와도 큰 격차를 보였다. 특히 CWE‑78, CWE‑787, CWE‑416 등 Top‑25 CWE에서 90 % 이상의 F1를 달성했으며, 100 % F1를 기록한 CWE도 존재한다. Ablation 연구에서는 MoE 전문가 수, 가중 BCE 손실 적용 여부, 데이터 혼합 비율 등을 변형해 각각의 기여도를 정량화했다. 전문가 수를 4→8로 늘릴 경우 소폭 성능 향상이 있었지만 메모리 사용량이 급증해 실시간 적용 가능성이 떨어졌다. 가중 BCE 손실을 사용하지 않을 경우 고위험 CWE 탐지율이 7 % 감소했으며, VULNSCOUT 데이터 비중을 0 %로 낮출 경우 전체 F1가 5 % 이하로 떨어졌다. 논문의 한계로는 현재 C 언어에만 초점을 맞추어 C++·Rust 등 다른 시스템 언어에 대한 일반화가 검증되지 않았으며, 다중 파일·프로젝트 수준의 인터프로시저 분석을 다루지 못한다는 점을 들었다. 또한 데이터 생성 파이프라인이 LLM 기반 코드 생성에 의존함으로써 생성 편향이 존재할 가능성이 있다. 향후 연구에서는 언어 확장, 인터프로시저 흐름을 포괄하는 하이브리드 정적·동적 분석 파이프라인 구축, 그리고 데이터 생성 단계에서 인간 전문가 검증을 도입해 라벨 품질을 더욱 향상시킬 계획이다. 요약하면, VulnScout‑C는 대형 LLM에 비해 5 배 이상 빠른 추론 속도와 30 GB 이하 메모리 사용량으로 실시간 개발 워크플로에 적합한 경량 모델을 구현했으며, VULNSCOUT 데이터셋을 통해 CWE‑커버리지를 크게 확대함으로써 기존 모델 및 상용 도구를 능가하는 취약점 탐지 성능을 입증하였다. 이는 소프트웨어 개발 단계에서 지속적인 보안 검증을 가능하게 하는 중요한 전진을 의미한다.

원본 논문

고화질 논문을 불러오는 중입니다...

댓글 및 학술 토론

Loading comments...

의견 남기기