소스코드를 이해하여 취약점을 탐지하는 언어모델(구현 및 검증)

생성형 인공지능은 다양한 분야에서 활용 가능성이 빠르게 확장되고 있으며, 그 활용 방법 또한 날로 진화하고 있습니다. 그중 앞선 블로그에서 소개드렸던 생성형 인공지능을 활용한 코드 취약점 탐지에 대하여 이번 블로그에서는 실제 코드 취약점 데이터의 전처리 및 프롬프트화 그리고 생성형 모델을 학습하고 활용하는 방법을 소개해 드리겠습니다. 또한 이렇게 학습된 모델의 실제 취약점 탐지 성능을 확인해 보도록 하겠습니다.

소스 코드를 이해하여 취약점을 탐지하는 언어모델

현재 생성형 언어모델은 그 활용 범위가 단순히 자연어 분야에 국한하지 않고 나날이 넓어지고 있는 연구 주제 중 하나입니다. 그중 하나인 생성형 인공지능을 활용한 소스코드 취약점 탐지는 자동으로 소스코드 내의 취약점 탐지를 통해 사전에 외부로의 공격으로부터 방어할 수 있도록 하는 연구입니다. 본 글에서는 코드를 이해하는 언어모델을 통한 연구는 무엇이 있는지 알아보고, 그 중 하나인 소스코드 취약점 탐지는 구별형 언어모델과 생성형 언어모델로 나뉘어 어떤 방식으로 모델을 구축하고 탐지하는지 알아보겠습니다.