raptor
무엇인가
RAPTOR는 코드베이스나 바이너리를 대상으로 정적 분석, 바이너리 분석, LLM 기반 취약점 검증, 익스플로잇 생성, 패치 작성을 연쇄 실행하도록 에이전트를 공격·방어 관점으로 구성하는 프레임워크다. 이름은 Recursive Autonomous Penetration Testing and Observation Robot의 약자이며, 보안 도구 호출 순서와 검증 절차를 규칙으로 고정해 에이전트가 임의로 단계를 건너뛰지 않게 한다.
어떻게 동작하나
구성은 CLAUDE.md를 중심으로 규칙, 서브에이전트, 스킬 파일을 배치하고 보안 도구 사용을 오케스트레이션하는 방식이다. `raptor` 런처가 세션을 시작하면서 사전 신뢰·프로젝트 검사, 커버리지 추적 플러그인 로드, 환경 정리를 수행하고, 실행한 디렉터리를 기억해 `/scan` 같은 명령의 기본 대상으로 삼는다. 런처는 대상 경로와 `--project`, `--continue`, `--model` 플래그를 받는다. 개별 발견을 분석하는 디스패치 계층은 기본적으로 Claude Code가 처리하며, Claude·GPT·Gemini 같은 다중 모델 분석을 쓰려면 제공자별 API 키를 따로 넣는다.
무엇과 다른가
프롬프트를 매번 직접 작성하거나 단일 규칙 파일만 두는 방식과 달리, 분석 도구 호출과 취약점 검증·익스플로잇·패치 단계가 저장소 안의 파일로 고정되어 세션마다 같은 절차가 재현된다. Claude Code에 종속되지 않고 자체 분석 계층을 끼워 넣을 수 있게 설계된 점도 단순 규칙 파일 묶음과 구분된다.
어떻게 쓰나
설치는 저장소를 클론한 뒤 Python 의존성, Claude Code, Semgrep을 설치하고 `bin` 디렉터리를 PATH에 추가한 다음 `raptor`를 실행한다. 컨테이너로 돌리려면 `danielcuthbert/raptor:latest` 이미지를 받거나 `.devcontainer/Dockerfile`로 직접 빌드하고, 저장소를 `/workspaces/raptor`에 마운트한다. 컨테이너는 약 6GB 크기이며 파일시스템 접근 범위와 악성 코드 실행의 영향을 제한하는 용도로 쓴다.
전제와 한계
Claude Code 구독(Max·Pro·Team·Enterprise) 또는 Anthropic API 키가 있어야 하고 Python 3.10+, Node.js 18+, Semgrep이 필요하다. CodeQL은 선택이지만 권장되며 자체 라이선스 때문에 상용 사용이 허용되지 않는다. 설정을 저장소 디렉터리에서 읽으므로 다른 디렉터리에서 `claude`를 실행하면 RAPTOR가 아니라 일반 Claude Code가 뜬다. 완성도 높은 소프트웨어가 아니고 코드 대부분이 AI 생성이며, 사람은 방향 설정과 리뷰, 설계 결정을 맡는다.
관련 논문 1
유사 스킬
- Claude-BugHunter버그헌팅·외부 레드팀 작업에서 취약점 클래스별 탐지 패턴과 체인 템플릿, 범위 준수 규칙을 SKILL.md로 주입하는 Claude Code 스킬 묶음이다.
- agentic-securityAI 에이전트가 작성한 코드를 12개 축으로 스캔해 취약점·비밀값·프롬프트 인젝션을 찾고, 수정안을 재검증한 뒤에만 적용하도록 규율하는 Claude Code 플러그인이다.
- reverse-skillAPK·바이너리·JS 난독화·CTF·모의해킹 작업을 만나면 에이전트가 도구를 추측하지 않고 라우팅 표에 따라 절차와 도구 체인을 선택하게 하는 스킬 묶음이다.