PromptFuzzing

jin·2024년 6월 30일

Fuzzing

목록 보기
1/2
post-thumbnail

PromptFuzz : 대형 언어 모델(LLM)을 활용해서 다양한 라이브러리 API호출을 탐색하는 드라이버를 생성합니다.

핵심 기술:

  • 명령어 기반 프로그램을 생성: 특정 API 조합을 활용
  • 오류 프로그램 검증: 컴파일 오류나 런타임 오류를 탐지하여 잘못된 프로그램 filtering
  • 커버리지 기반 프롬프트 변이: 코드 커버리지 피드백을 사용해 프롬프트를 변이시켜 새로운 경로 탐색
  • 제약 조건 퍼저 스케쥴링: API 호출 인수의 제약 조건을 추론하여 변수를 생성하고 효율적은 퍼징을 지원

PromptFuzz와 OSS-fuzz 및 Hopper비교
1. 분기 커버리지: PromptFuzz가 OSS-Fuzz및 Hopper에 비해 각각 1.61배,1.63배 더 높은 분기 커버리지를 기록. 이는 PromptFuzz가 더 다양한 API호출을 탐색했기 때문
2. API 활용: PromptFuzz는 대형 언어 모델을 활용하여 다양한 라이브러리 API사용 패던을 효과적으로 탐색하고 복잡한 상호 의존성 파악
3. 효율적 향상: 라이브러리의 더 깊은 코드 경로를 탐색할 수 있었고 이전의 자동화 도구 보다 더 높은 커버리지 달성

profile
성장중

0개의 댓글