본문으로 건너뛰기

© 2026 Molayo

arXiv논문2026. 05. 22. 22:36

4가지 원칙 프레임워크를 통한 품질 보증 퍼즈 하네스 생성

요약

LLM 에이전트를 활용하여 C/C++, Java 등 소프트웨어의 퍼즈 하네스(fuzz harnesses)를 자율적으로 생성하고 검증하는 QuartetFuzz 시스템을 제안합니다. 4가지 원칙 프레임워크를 통해 논리적 정확성과 API 준수 등을 체계적으로 보장하며, 실제 프로젝트에서 다수의 CVE를 발견하는 성과를 거두었습니다.

핵심 포인트

  • 4가지 원칙(P1-P4) 기반의 하네스 정확성 정의
  • LLM 에이전트의 '생성-검사-수정' 루프를 통한 품질 보증
  • 23개 오픈 소스 프로젝트 적용 및 3개의 CVE 발견
  • 기존 프로덕션 하네스에 대한 품질 감사 도구로 활용 가능

퍼즈 테스팅 (Fuzz testing)은 C/C++ 소프트웨어에서 메모리 안전성 취약점 (memory-safety vulnerabilities)을 찾는 지배적인 기술이지만, 그 효과는 퍼저 (fuzzer)와 라이브러리 API를 연결하는 프로그램인 퍼즈 하네스 (fuzz harnesses)의 품질에 달려 있습니다. 현재 하네스 생성을 자동화하는 도구들이 점점 늘어나고 있지만, 생성된 하네스의 정확성을 체계적으로 보장하는 도구는 아직 없습니다. 즉, 논리적 오류 (logic errors), API 오용 (API misuse), 생명주기 위반 (lifecycle violations) 등이 소스 레벨에서 탐지되지 않은 채 방치됩니다. LLM (Large Language Model) 기반의 생성이 하네스 제작 규모를 확장함에 따라, 통제되지 않은 품질은 규모의 확장을 오히려 부담으로 만듭니다. 본 논문에서는 생성 과정 전반에 걸쳐 정확성을 체계적으로 개선하는 자율적 하네스 생성 시스템인 QuartetFuzz를 제시합니다. 이 시스템의 핵심은 4가지 원칙 (Four Principles) 프레임워크인 논리적 정확성 (Logic Correctness, P1), API 프로토콜 준수 (API Protocol Compliance, P2), 보안 경계 존중 (Security Boundary Respect, P3), 진입점 적절성 (Entry Point Adequacy, P4)입니다. 이는 수학적 명세와 구현 가능한 검사 기능을 갖춘 최초의 소스 레벨 하네스 정확성 정의입니다. 우리는 이러한 원칙들을 자율적인 LLM 에이전트 (LLM agent)로 구현하여, 퍼징이 시작되기 전 '생성-검사-수정 (generate-check-fix)' 루프를 통해 P1-P4를 만족하는 하네스를 생성하도록 했습니다. C/C++, Java, JavaScript를 아우르는 23개의 오픈 소스 프로젝트에 적용한 결과, 이 시스템은 42개의 버그 리포트를 제출했으며, 그 중 29개는 업스트림에서 수정되거나 확인되었고 (3개의 CVE 포함), 단 2개만이 거절되었습니다 (4.8%의 FP (false positive) 비율). 생성 과정 중 내장된 P1/P2 검사는 하네스로 인해 발생할 수 있었던 58개의 크래시 (crashes)를 자동으로 차단하여, 그렇지 않았다면 오탐 (false positives)으로 이어졌을 오류들을 방지했습니다. 또한 70개 프로젝트에 걸친 586개의 기존 프로덕션 하네스에 품질 감사 도구로 적용하여 53개의 위반 사항을 식별했습니다 (45개 확인, 35개 수정). 우리는 재현 가능한 평가를 위해 100개의 라벨링된 하네스 데이터셋을 공개합니다. 코드와 데이터셋은 https://github.com/OwenSanzas/QuartetFuzz 에서 확인할 수 있습니다.

AI 자동 생성 콘텐츠

본 콘텐츠는 arXiv Codex (cs.SE)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0