시맨틱 함정 파인튜닝된 LLM이 취약점 원인 이해를 배우는가 아니면 기능 패턴만 학습하는가

시맨틱 함정 파인튜닝된 LLM이 취약점 원인 이해를 배우는가 아니면 기능 패턴만 학습하는가
안내: 본 포스트의 한글 요약 및 분석 리포트는 AI 기술을 통해 자동 생성되었습니다. 정보의 정확성을 위해 하단의 [원본 논문 뷰어] 또는 ArXiv 원문을 반드시 참조하시기 바랍니다.

초록

본 논문은 파인튜닝된 대형 언어 모델(LLM)이 소프트웨어 취약점 탐지 시 실제 보안 논리를 학습했는지, 아니면 코드의 기능적 패턴에만 의존하는지를 검증한다. 이를 위해 V2P(취약‑패치 쌍)와 V2N(취약‑정상 쌍) 두 데이터셋을 구축하고, TrapEval 프레임워크로 모델을 평가한다. 실험 결과, 파인튜닝 후에도 모델은 패치된 코드와 원본 코드를 구별하지 못하고, 의미 보존 변형에 취약하며, 의미적 차이가 작은 경우 기능 패턴에 과도히 의존한다는 점을 밝혀냈다.

상세 분석

이 연구는 LLM 기반 취약점 탐지에서 “시맨틱 트랩”이라는 현상을 정의하고, 이를 정량화하기 위한 평가 프레임워크인 TrapEval을 제안한다. TrapEval은 두 가지 핵심 데이터셋을 중심으로 설계되었다. V2N 데이터셋은 기존 취약점 탐지 과제와 동일하게 취약 코드와 전혀 관련 없는 정상 코드를 매칭시켜 모델이 기능적 패턴을 이용해 분류하도록 만든다. 반면 V2P 데이터셋은 동일 프로젝트 내에서 동일한 함수가 패치 전후로 존재하는 경우를 수집해, 코드 구조는 거의 동일하지만 보안 논리만이 달라지는 상황을 만든다. 이렇게 함으로써 모델이 “보안 논리(취약점 원인)”를 이해했는지, 아니면 “기능적 패턴(예: memcpy, 루프 구조)”에만 의존하는지를 명확히 구분할 수 있다.

실험에서는 Qwen, Llama, DeepSeek 등 세 모델 패밀리의 다섯 가지 최신 LLM을 LoRA 기반 파인튜닝으로 학습시켰다. RQ1에서는 교차 데이터셋 평가( V2P‑FT 모델을 V2N‑Test에, V2N‑FT 모델을 V2P‑Test에 적용)로 파인튜닝이 전반적인 정확도는 상승하지만, 서로 다른 데이터 구성에 따라 성능 편차가 크게 나타남을 확인했다. RQ2는 함수 파라미터 이름 변경, 변수 리네이밍, 코드 포맷팅 등 의미 보존 변형을 적용한 후 모델의 견고성을 측정했으며, 대부분의 모델이 5~10% 수준의 정확도 급락을 보였다. 이는 모델이 표면적 토큰 패턴에 과도히 의존한다는 증거이다. RQ3에서는 CodeBLEU 점수로 측정한 “시맨틱 격차”와 성능 간 상관관계를 분석했다. 시맨틱 격차가 0.95 이상(거의 동일)인 경우 모델의 정확도는 30% 이하로 급감했으며, 격차가 0.75 이하(의미적 차이가 큰 경우)에는 비교적 높은 정확도를 유지했다.

전체적으로 결과는 파인튜닝이 기존 벤치마크에서 F1 점수를 크게 향상시킬 수는 있지만, 실제 보안 논리를 이해하는 수준까지는 도달하지 못한다는 강력한 증거를 제공한다. 특히 V2P 데이터셋에서 패치된 코드를 지속적으로 “취약”으로 판단하는 현상은 모델이 “취약점이 존재할 가능성이 높은 기능 영역”을 학습했을 뿐, 구체적인 원인‑결과 관계를 파악하지 못한다는 점을 시사한다. 이러한 한계는 실무에서 LLM 기반 자동 취약점 탐지·수정 도구를 신뢰하기 어렵게 만든다. 논문은 향후 연구 방향으로 (1) 보안 논리 중심의 라벨링 스킴, (2) 의미 보존 변형에 강인한 학습 기법, (3) 모델 내부의 논리 추론 과정을 시각화·해석하는 방법론을 제시한다.


댓글 및 학술 토론

Loading comments...

의견 남기기