GitLab이 리팩토링 및 재포맷을 통해 취약점을 추적... 노트
GitLab 한국어

GitLab이 리팩토링 및 재포맷을 통해 취약점을 추적하는 방법

보안 스캔은 코드에 주석을 추가하거나 파일을 다시 포맷하는 등 사소한 변경으로 인해 동일한 취약점을 두 번 보고하는 문제에 자주 직면합니다. 이는 무익한 감사 노력을 초래하고 스캔 결과에 대한 신뢰를 약화시킵니다. 이 문제를 해결하기 위해 2022년에 고급 취약점 추적이 도입되었으며, 이는 Scope+Offset 지문 인식 방법을 사용하여 가장 좁은 포함 범위와 줄 오프셋으로 탐지를 식별합니다. 그러나 이 방법은 특히 주석이나 빈 줄 추가와 같은 비기능적 변경으로 인해 오프셋이 변경되어 추적기가 중복 취약점으로 인식할 수 있는 한계가 있었습니다. 이를 해결하기 위해 지문 인식을 계산할 때 비기능적 코드를 무시하는 개선된 방법이 개발되었으며, 주석 추가 또는 파일 재포맷이 더 이상 지문 인식을 변경하지 않도록 보장합니다. 이 정규화된 방법은 여러 프로그래밍 언어에 걸쳐 439개의 소스 파일 벤치마크에서 평가되었으며, 중복이 전혀 발생하지 않았고 전체적으로 고유 지문 인식이 43% 감소했습니다. 반면에 원래 Scope+Offset 방법은 1,361개의 중복 지문 인식을 축적하여 기준선 대비 77% 증가했습니다. 정규화된 Scope+Offset 방법은 이제 GitLab에서 scope_offset_compressed 추적 알고리즘으로 제공되며, 여러 프로그래밍 언어를 지원하고 SAST 도구의 모든 조합과 결합할 수 있습니다. "Normalized Scope+Offset을 사용한 취약점 추적"이라는 제목의 이 방법에 대한 연구는 ASE 2026 Industry Showcase에서 발표될 예정이며, 그 결과는 보안 스캔의 정확성과 효율성을 개선하는 데 중요한 영향을 미칩니다. 이 방법의 개발은 Julian Thome, Hua Yan, Lucas Charles, Craig Smith, Jason Leasure를 포함한 여러 연구원의 협력의 결과이며, 이들은 연구 및 논문에 기여했습니다.