LLM(대규모 언어 모델)의 코드 생성 능력이 향상되는 동시에, 훈련 데이터에 내재된 보안 취약점을 그대로 재현하는 문제가 지적돼 왔다. 이를 해결하기 위한 TSP(트리형 셀프플레이, Tree-like Self-Play) 프레임워크가 arXiv에 공개됐다. 기존의 SFT(지도 학습 파인튜닝)와 RL(강화 학습)이 시퀀스 수준의 거친 최적화를 적용해 단일 토큰의 잘못된 선택이 프로그램 전체를 위험에 빠뜨리는 국소적 보안 결함을 처리하지 못한다는 한계에서 출발한다.
TSP는 보안 코드 생성을 세밀한 순차적 의사결정 과정으로 재구성한다. 모델이 분기 경로를 탐색하며 안전한 ‘황금 경로’와 취약한 변형을 동시에 생성하는 결정 트리를 구성하고, 코드 생성을 셀프플레이 게임으로 처리해 취약점이 주로 발생하는 핵심 결정 노드에서 모델이 자신의 국소적 오류를 엄격히 배제하도록 학습한다. 이를 통해 정책 기반의 밀집 학습 신호를 제공한다. 연구팀은 Python 보안 벤치마크 실험에서 TSP가 지도 학습 파인튜닝(SFT)이나 구조화되지 않은 셀프플레이 방식보다 단일 시도 기준 안전 코드 생성률을 유의미하게 끌어올렸다고 보고했다.

특히 주목할 결과는 분포 외 일반화 성능이다. TSP는 훈련 시 보지 못한 CWE(취약점 유형) 카테고리에서도 취약점을 추가로 줄였으며, 특정 언어 학습으로 습득한 보안 원칙이 다른 프로그래밍 언어로 전이되는 경향을 보였다. 연구팀은 TSP가 특정 패치를 암기하는 것이 아니라 언어 독립적인 추상적 보안 논리를 내재화한다는 증거로 해석했다.
AI 코드 보조 도구의 보안 결함 문제는 기업 도입 확산과 함께 중요성이 커지고 있다. TSP처럼 모델이 스스로의 오류 패턴을 학습해 교정하는 접근 방식은 보안 중심 코드 LLM 개발의 새로운 방향을 제시한다는 점에서 주목받으며, 향후 더 큰 규모의 모델과 다양한 취약점 유형으로의 확장 연구가 예상된다.














