InfoGrab Docs

커버리지 기반 퍼즈 테스팅 (지원 중단됨)

커버리지 기반 퍼징, 무작위 입력, 예상치 못한 동작.

Warning 이 기능은 GitLab 18.0에서 지원 중단 되었으며 19.0에서 제거될 예정입니다. 이는 브레이킹 체인지입니다. 시작하기 # 커버리지 기반 퍼즈 테스팅은 계측된 버전의 애플리케이션에 무작위 입력을 보내 예상치 못한 동작을 유발합니다. 이러한 동작은 수정해야 할 버그를 나타냅니다. GitLab을 사용하면 파이프라인에 커버리지 기반 퍼즈 테스팅을 추가할 수 있습니다. 이를 통해 다른 QA 프로세스가 놓칠 수 있는 버그 및 잠재적인 보안 문제를 발견할 수 있습니다. 퍼즈 테스팅은 GitLab Secure 의 다른 보안 스캐너 및 자체 테스트 프로세스와 함께 사용해야 합니다. GitLab CI/CD 를 사용하는 경우 CI/CD 워크플로우의 일부로 커버리지 기반 퍼즈 테스팅을 실행할 수 있습니다. 개요를 보려면 Coverage-guided Fuzzing - Advanced Security Testing 을 참조하세요. 커버리지 기반 퍼즈 테스팅 상태 확인 # 커버리지 기반 퍼즈 테스팅의 상태를 확인하려면: 상단 표시줄에서 검색 또는 이동 을 선택하고 프로젝트를 찾습니다. 보안 > 보안 구성 을 선택합니다. Coverage Fuzzing 섹션에서 상태는 다음과 같습니다: 구성되지 않음 활성화됨 GitLab Ultimate로 업그레이드하라는 메시지. 커버리지 기반 퍼즈 테스팅 활성화 # 커버리지 기반 퍼즈 테스팅을 활성화하려면 .gitlab-ci.yml 을 편집하세요: 스테이지 목록에 fuzz 스테이지를 추가합니다. 애플리케이션이 Go로 작성되지 않은 경우, 일치하는 퍼징 엔진을 사용하여 Docker 이미지를 제공 합니다. 예를 들어: image: python:latest GitLab 설치의 일부로 제공되는 Coverage-Fuzzing.gitlab-ci.yml 템플릿 을 포함 합니다. 요구사항에 맞게 my_fuzz_target 작업을 사용자 정의합니다. 커버리지 기반 퍼징 구성 예시 # stages: - fuzz include: - template: Coverage-Fuzzing.gitlab-ci.yml my_fuzz_target: extends: .fuzz_base script: # Build your fuzz target binary in these steps, then run it with gitlab-cov-fuzz # See our example repos for how you could do this with any of our supported languages - ./gitlab-cov-fuzz run --regression=$REGRESSION -- <your fuzz target> Coverage-Fuzzing 템플릿에는 각 퍼징 대상에 대해 확장 해야 하는 숨겨진 작업 .fuzz_base 가 포함되어 있습니다. 각 퍼징 대상은 반드시 별도의 작업을 가져야 합니다. 예를 들어 go-fuzzing-example 프로젝트 에는 단일 퍼징 대상에 대해 .fuzz_base 를 확장하는 하나의 작업이 포함되어 있