anthropics/defending-code-reference-harness

Skills for threat modeling, scanning, triage, patching, plus an autonomous scanning harness you can /customize

해결하는 문제

이 프로젝트는 소스 코드에서 보안 취약점을 자율적으로 발견하고 수정하기 위한 레퍼런스 구현체를 제공합니다. 정찰, 취약점 발견, 검증, 보고 및 패치 과정을 자동화하여 보안 감사에 필요한 수동 작업을 줄이는 것을 목표로 합니다.

작동 방식

이 시스템은 Claude를 기반으로 하는 다단계 파이프라인을 사용하여 버그를 식별하고 실행을 통해 이를 검증합니다:

  1. Build: 대상 코드를 Docker 이미지로 컴파일합니다 (C/C++ 메모리 오류 탐지를 위해 ASAN 사용).
  2. Recon: 에이전트가 소스를 분석하여 코드베이스를 공격 가능한 서브시스템으로 분할합니다.
  3. Find: 병렬 에이전트가 잘못된 입력을 생성하고 크래시가 재현될 때까지 바이너리를 실행합니다.
  4. Verify: 별도의 grader 에이전트가 새로운 컨테이너에서 크래시를 재현하여 발견 내용을 확인합니다.
  5. Dedupe: judge 에이전트가 중복된 보고서를 제거합니다.
  6. Report: 에이전트가 심각도 및 도달 가능성을 포함한 구조화된 익스플로잇 가능성 분석을 작성합니다.
  7. Patch: patch 에이전트가 수정안을 제안하면, grader가 버그가 사라지고 회귀 오류가 발생하지 않았는지 검증합니다.

안전을 위해 자율 파이프라인은 네트워크 송신이 제한된 gVisor 샌드박스 내에서 대상 코드를 실행합니다.

대상

자신만의 자동 취약점 발견 파이프라인을 구축하거나 AI 기반 보안 스캐닝을 소프트웨어 개발 수명 주기(SDLC)에 통합하려는 보안 팀 및 개발자.

주요 특징

  • 엔드 투 엔드 자동화: 위협 모델링부터 패치 검증까지 전체 수명 주기를 다룹니다.
  • 실행으로 검증된 발견: 재현 가능한 크래시를 요구함으로써 정적 분석을 넘어선 검증을 수행합니다.
  • 샌드박스 실행: gVisor를 사용하여 잠재적으로 위험한 대상 코드의 실행을 격리합니다.
  • 커스터마이징 가능한 프레임워크: 기본적으로 C/C++에 대해 구성되어 있지만, 파이프라인 구조는 범용적이어서 다른 언어 및 취약점 클래스로 이식할 수 있습니다.

관련

  • Dispatch
  • 프로젝트
  • 프로젝트
  • 프로젝트