Claude Code Security Reviewer: 코드 변경을 Claude로 검토하는 보안 리뷰 도구

Claude Code Security Reviewer 소개

Claude Code Security Reviewer는 풀 리퀘스트(Pull Request)에 포함된 코드 변경을 Claude가 읽고 보안 취약점을 찾아내는 AI 기반 코드 리뷰 도구입니다. Anthropic이 직접 공개한 프로젝트로, GitHub Action 형태로 저장소에 붙이면 PR이 열릴 때마다 변경된 코드를 분석하고 발견한 문제를 해당 코드 줄에 코멘트로 남깁니다.

기존의 정적 분석(SAST) 도구가 정해진 패턴 매칭에 의존하는 것과 달리, 이 도구는 Claude의 추론 능력을 활용해 코드의 의미와 의도를 이해하는 방식으로 취약점을 판단한다고 저자는 설명합니다. 특정 언어에 종속되지 않고 어떤 프로그래밍 언어에도 동작하며, PR에서는 변경된 파일만 분석하는 diff 기반 스캔을 수행합니다. 자세한 배경은 Anthropic의 소개 블로그 글 에 정리되어 있습니다.

본 게시물에서는 Claude Code Security Reviewer의 동작 워크플로우, 탐지하는 취약점 유형, 그리고 GitHub Action과 /security-review 슬래시 명령으로 사용하는 방법을 정리합니다.

Claude Code Security Reviewer의 동작 워크플로우

이 도구는 PR이 열린 시점부터 코멘트가 달리기까지를 다섯 단계로 처리합니다. 먼저 PR이 열리면 Claude가 변경된 diff를 분석해 무엇이 바뀌었는지 파악합니다. 이어서 변경된 코드를 맥락 속에서 검토하며, 그 변경의 목적과 잠재적 보안 영향을 함께 이해하려고 시도합니다.

검토 결과로 보안 문제가 식별되면, 각 문제에 대해 상세한 설명과 심각도 등급(severity rating), 수정 가이드를 함께 생성합니다. 그다음 오탐(false positive) 가능성이 높거나 영향이 적은 발견 항목을 걸러내는 필터링 단계를 거쳐 노이즈를 줄입니다. 마지막으로 남은 발견 항목을 해당 코드 줄 위에 리뷰 코멘트로 게시합니다.

오탐 필터링은 이 도구가 비중을 두는 부분입니다. 서비스 거부(DoS) 취약점, 속도 제한(rate limiting) 관련 우려, 메모리·CPU 고갈 문제, 영향이 입증되지 않은 일반적인 입력 검증 지적, 오픈 리다이렉트(open redirect) 같은 항목을 기본적으로 제외해 영향도가 높은 취약점에 집중하도록 합니다. 이 필터링 기준은 프로젝트의 보안 목표에 맞게 조정할 수 있습니다.

Claude Code Security Reviewer가 탐지하는 취약점

저자가 밝힌 탐지 대상은 OWASP 계열의 주요 취약점 범주를 폭넓게 포함합니다.

  • 인젝션 공격: SQL 인젝션, 명령어 인젝션, LDAP·XPath·NoSQL 인젝션, XXE
  • 인증·인가: 인증 우회, 권한 상승, 안전하지 않은 직접 객체 참조(IDOR), 세션 결함
  • 데이터 노출: 하드코딩된 비밀값, 민감 데이터 로깅, 정보 유출, 개인정보(PII) 처리 위반
  • 암호화 문제: 취약한 알고리즘, 부적절한 키 관리, 안전하지 않은 난수 생성
  • 코드 실행: 역직렬화·pickle·eval 인젝션을 통한 원격 코드 실행(RCE)
  • 크로스 사이트 스크립팅(XSS): 반사형, 저장형, DOM 기반 XSS

이 외에도 비즈니스 로직 결함(경쟁 상태, TOCTOU), 설정 보안(안전하지 않은 기본값, 누락된 보안 헤더, 과도하게 허용된 CORS), 공급망(취약한 의존성, 타이포스쿼팅) 등을 다룹니다.

Claude Code Security Reviewer 설치 및 사용법

GitHub Action으로 쓰려면 저장소의 .github/workflows/security.yml 에 다음 워크플로우를 추가합니다. Anthropic Claude API 키를 시크릿으로 등록해야 하며, 이 키는 Claude API와 Claude Code 사용이 모두 활성화되어 있어야 합니다.

name: Security Review

permissions:
  pull-requests: write  # PR 코멘트 작성에 필요
  contents: read

on:
  pull_request:

jobs:
  security:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
        with:
          ref: ${{ github.event.pull_request.head.sha || github.sha }}
          fetch-depth: 2

      - uses: anthropics/claude-code-security-review@main
        with:
          comment-pr: true
          claude-api-key: ${{ secrets.CLAUDE_API_KEY }}

comment-pr, exclude-directories, claude-model(기본값 Opus 4.1), claudecode-timeout(기본 20분) 등의 입력값으로 동작을 조정할 수 있습니다.

Claude Code 개발 환경에서는 GitHub Action 없이도 같은 분석을 쓸 수 있습니다. Claude Code에 기본 내장된 /security-review 슬래시 명령 을 실행하면 현재 대기 중인 모든 변경에 대해 보안 검토를 수행합니다. 이 명령은 저장소의 security-review.md 를 프로젝트의 .claude/commands/ 폴더에 복사해 커스터마이징할 수 있습니다.

한 가지 주의할 점은, 저자가 밝힌 대로 이 Action은 프롬프트 인젝션 공격에 대해 강화되어 있지 않으므로 신뢰할 수 있는 PR에만 사용해야 한다는 것입니다. 공개 저장소라면 외부 기여자의 워크플로우 실행에 메인테이너 승인을 요구하도록 설정하는 것을 권장합니다.

Claude Code Security Reviewer의 라이선스

Claude Code Security Reviewer는 MIT 라이선스로 공개되어 있어 개인 및 상업적 목적으로 자유롭게 사용할 수 있습니다.

:github: Claude Code Security Reviewer 프로젝트 GitHub 저장소

더 읽어보기




이 글은 GPT 모델로 정리한 글을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다. :hugs:

:pytorch:파이토치 한국 사용자 모임:south_korea:이 정리한 이 글이 유용하셨나요? 회원으로 가입하시면 주요 글들을 이메일:love_letter:로 보내드립니다! (기본은 Weekly지만 Daily로 변경도 가능합니다.)

:wrapped_gift: 아래:down_right_arrow:쪽에 좋아요:+1:를 눌러주시면 새로운 소식들을 정리하고 공유하는데 힘이 됩니다~ :star_struck: