보안 취약점 탐지의 병목은 취약점을 발견하는 것이 아니라, 그 이후 과정(검증·분류·패치)이다. Anthropic이 공개한 이 가이드는 Claude Opus를 활용해 위협 모델링부터 패치 적용까지 방어자 루프(defender’s loop)를 구축하는 방법을 소개한다. 또한 PR마다 자동으로 보안 리뷰를 수행하는 GitHub Action도 함께 다룬다.
방어자 루프: 6단계 워크플로
위협 모델링 → 샌드박스 구축 → 취약점 탐지 → 검증 → 분류 → 패치위협 모델링과 샌드박스 구축에 한 번 투자하면, 이후 탐지·검증·분류·패치의 반복 루프를 효율적으로 운영할 수 있다.
1. 위협 모델링 (Threat Model)
스캔을 시작하기 전에 무엇이 취약점인지 정의한다. Claude에게 코드베이스의 공격 표면, 신뢰 경계, 민감한 데이터 흐름을 분석하도록 지시한다.
"이 Python 웹 앱의 위협 모델을 만들어줘.
외부 입력 진입점, 인증 경계, 데이터베이스 접근 패턴을 중심으로."2. 샌드박스 구축 (Sandbox)
에이전트가 실제 취약점을 증명(exploit)할 수 있는 격리 환경을 만든다. 샌드박스 없이는 발견된 취약점의 실제 악용 가능 여부를 확인할 수 없다.
3. 취약점 탐지 (Discovery)
Claude가 소스 코드에서 취약점을 탐색한다. 반복 실행 가능한 스크립트나 Claude Code 스킬로 자동화하면 지속적인 스캔이 가능하다.
"다음 파일들에서 SQL 인젝션, 입력값 미검증,
경쟁 조건(race condition) 취약점을 찾아줘."4. 검증 (Verification)
발견된 취약점이 실제로 악용 가능한지 독립적으로 확인한다. 샌드박스에서 실제 익스플로잇을 재현해 오탐(false positive)을 걸러낸다.
5. 분류 (Triage)
중복 제거, 심각도(CVSS) 평가, 수정 우선순위 결정. 취약점이 많아지면 Claude에게 영향 범위와 악용 가능성을 기준으로 순위를 매기도록 지시한다.
6. 패치 (Patching)
수정 사항을 적용하고 취약점이 실제로 제거됐는지 확인한다. 같은 패턴의 변형(variant)도 함께 탐색한다.
GitHub Action: PR마다 자동 보안 리뷰
claude-code-security-review는 PR이 열릴 때마다 Claude가 코드 변경사항을 보안 관점에서 분석하고 인라인 코멘트를 남기는 GitHub Action이다.
# .github/workflows/security-review.yml
name: Security Review
on:
pull_request:
jobs:
security-review:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: anthropics/claude-code-security-review@main
with:
comment-pr: true
claude-api-key: ${{ secrets.CLAUDE_API_KEY }}동작 방식
- PR 분석: 변경된 diff를 파악해 무엇이 바뀌었는지 이해
- 컨텍스트 리뷰: 변경 목적과 보안 영향을 함께 고려
- 발견 생성: 심각도·설명·수정 가이드를 포함한 이슈 생성
- 오탐 필터링: 낮은 영향·오탐 발생률 높은 항목 제거
- 인라인 코멘트: 해당 코드 라인에 직접 리뷰 코멘트 게시
주의사항
- 신뢰할 수 없는 외부 기여 PR에 대한 프롬프트 인젝션 공격에 취약할 수 있음
- GitHub 저장소 설정에서 “외부 기여자 전체 승인 요구” 옵션 권장
관련 Anthropic 리소스
| 도구 | 설명 |
|---|---|
| Claude Security | Anthropic의 관리형 에이전틱 취약점 탐지·패치 제품 |
| defending-code-reference-harness | 인터랙티브 워크플로용 스킬·자율 실행 데모 하네스 |
| Vulnerability Detection Agent Cookbook | 위협 모델 구축·취약점 스캔·보고서 생성 에이전트 레시피 |
관련 문서
- claude-code — Claude Code 개요
- anthropics/claude-code-security-review — GitHub Action 저장소
참고 자료
- Using LLMs to secure source code — Anthropic Claude Blog (2026-05-27)
- anthropics/claude-code-security-review — GitHub 공식 저장소