이 워크플로우는 CVE 1건을 하나의 케이스로 받아, 취약점의 유형과 패치의 수정 여부를 판단한다. 입력은 NVD의 CVE 기록과 패치 커밋·diff를 묶은 카드 PDF다. 연구자와 개발자가 CVE 설명과 코드 diff를 일일이 대조하던 작업을 자동화하고, 판단 근거와 불확실성을 함께 남기는 것이 목적이다. 처리는 네 단계로 이루어진다. Parse가 카드의 설명과 스크린샷 코드를 OCR로 읽고, Classify가 이를 5개 계열 19개 유형으로 1차 분류한다. Extract는 판독된 내용에서 CVE ID, NVD 설명, CWE, 커밋 정보, diff 같은 판단 재료를 뽑아 항목별로 나눠 담는다. 이 값을 받은 Instruct가 실제 분석과 판정을 맡는다. 입력 누락을 점검하고 원인과 취약 위치를 정한 뒤, diff를 보안 수정과 무관한 변경으로 나눈다. 이어서 방어가 위험 동작보다 먼저 실행되는지, 고쳐지지 않은 경로는 없는지, 표준 방어가 맞는지를 확인한다. 결과는 FIXED, PARTIAL_FIX, SECURITY_RELATED_CHANGE, REVIEW_NEEDED 중 하나의 판정과 코드 근거를 담은 12개 키 JSON으로 작성되고, 사람이 읽기 쉬운 한국어 보고서로도 정리된다. 예를 들어 dbeaver의 XXE 취약점(CVE-2021-3836)은 패치에 보안 설정이 추가되었지만, 그 설정이 파서를 만든 뒤에 들어가 실제로는 적용되지 않는다. 워크플로우는 이 점을 코드 근거로 짚어 PARTIAL_FIX로 판정한다. 활용처는 크게 네 가지다. 첫째, 취약점–패치 데이터셋에서 CVE에 연결된 커밋이 실제 수정인지 가려내고, 무관한 변경을 걸러 데이터를 정제할 수 있다. 둘째, 의존성 라이브러리에 CVE가 보고됐을 때 업그레이드만으로 충분한지, 백포트한다면 어느 줄이 핵심인지 판단하는 데 쓸 수 있다. 셋째, 보안 패치를 리뷰할 때 놓치기 쉬운 미수정 경로나 조건식 결함을 미리 찾는 보조 도구가 된다. 넷째, CWE 번호가 아닌 실제 공격 방식으로 취약점을 일관되게 분류해 보안 현황 집계에 활용할 수 있다. 다만 판정은 카드에 담긴 자료 범위 안에서만 유효하며, 패치의 완전성을 보장하지 않는다. PARTIAL_FIX와 REVIEW_NEEDED는 사람이 추가로 검토해야 할 지점을 알려 주는 신호로 보는 것이 맞다.
Workflow steps: Parse, Classify, Extract, Instruct.
Industry: Others.
Language: ko.
Author: parkjonghyuk.
Created: 2026-11-10.
Last updated: 2026-11-10.