피드로 돌아가기
Our Automated Security Audit Was 0% Precise — Here's What an AST Pass Found
Dev.toDev.to
Security

Literal String Search의 0% 정밀도를 AST 기반 Behavioral Shape 분석으로 해결

Our Automated Security Audit Was 0% Precise — Here's What an AST Pass Found

Elia “Airtis” Shmuelovitch2026년 5월 28일4advanced

Context

오픈소스 저장소에서 API 에러 패턴을 탐색하여 버그를 찾는 자동화 엔진을 운용함. GitHub Textmatch를 이용한 단순 문자열 검색 기반의 탐색 로직을 채택했으나, 에러를 유발하는 코드(Breaker)가 아닌 에러를 처리하는 코드(Fixer)만 탐색되는 신호 역전 현상으로 인해 정밀도가 0%로 하락함.

Technical Solution

  • 단순 텍스트 매칭에서 AST(Abstract Syntax Tree) 기반의 구조적 분석 방식으로 탐색 패러다임 전환
  • tool_use content block을 생성하는 AST Node 식별 후 tool_result가 쌍으로 존재하지 않는 구조 분석
  • 에러 클래스를 처리하는 try/catch 구문 포함 여부를 검증하여 실제 취약점 존재 여부 판단
  • 에러 문자열은 탐색의 Gate가 아닌 가점(Boost) 요소로만 활용하는 2단계 필터링 아키텍처 설계
  • 분석 결과에 따라 pattern catalog에 structurally_inverted 플래그를 부여하여 자동 제출 프로세스 차단

1. 자동화된 코드 분석 도구 설계 시 탐색 대상이 '생산자(Producer)'가 작성하는 코드인지 '처리자(Handler)'가 작성하는 코드인지 구분할 것

2. 단순 문자열 매칭 결과가 예상보다 높을 경우, 해당 문자열이 에러 핸들링 로직에 포함된 것인지 AST 레벨에서 검증할 것

3. 외부 커뮤니티 대상 자동 이슈 제보 시스템 도입 전, 반드시 자체적인 정밀도 검증 게이트(Precision Gate)를 구축할 것

원문 읽기