Security & Review Skills

CLI-JAW는 취약점 탐지, 모범 사례 적용, 위협 모델링, 피어 리뷰 간소화 등을 자연어 명령만으로 수행할 수 있는 보안 분석 및 코드 리뷰 스킬 모음을 제공합니다.

스킬 개요

스킬설명트리거 예시
static-analysis코드를 실행하지 않고 코드베이스 전반에 걸쳐 정적 분석을 수행하여 버그, 안티패턴, 잠재적 취약점을 탐지합니다"정적 분석 돌려줘"
insecure-defaults설정 파일, 환경 변수, 코드에서 안전하지 않은 기본값(개방된 CORS, 프로덕션 디버그 모드, 취약한 암호화 설정)을 스캔합니다"보안 기본값 점검해줘"
security-best-practices프로젝트를 OWASP Top 10 및 언어별 보안 가이드라인에 따라 감사하여 컴플라이언스 체크리스트를 생성합니다"보안 베스트 프랙티스 검사해줘"
security-ownership-mapgit 히스토리와 CODEOWNERS를 기반으로 보안에 중요한 경로(인증, 결제, 암호화, PII 처리)의 소유자 맵을 생성합니다"보안 소유권 맵 만들어줘"
security-threat-model현재 프로젝트에 대해 STRIDE 기반 위협 모델을 구축하여 신뢰 경계, 데이터 흐름, 공격 표면을 식별합니다"위협 모델링 해줘"
differential-reviewPR이나 diff에서 변경된 라인만 리뷰하여 보안 퇴행 및 새로 도입된 위험에 집중합니다"변경된 부분만 보안 리뷰해줘"
receiving-code-review수신된 코드 리뷰 코멘트를 처리하고, 심각도를 분류하며, 각 발견 사항에 대한 수정안을 제안합니다"코드 리뷰 피드백 정리해줘"
requesting-code-review현재 변경 사항에 대해 컨텍스트, 위험 영역, 리뷰어 체크리스트가 포함된 구조화된 코드 리뷰 요청을 준비합니다"이 코드 리뷰 요청해줘"

정적 분석

static-analysis 스킬은 AST 수준의 검사와 패턴 매칭을 결합하여 다중 언어 정적 분석을 수행합니다. SQL 인젝션 벡터, XSS 싱크, 경로 탐색 패턴, 안전하지 않은 역직렬화 등을 탐지합니다.

# Run static analysis on the entire project
보안 취약점 검사해줘

# Target a specific directory
src/api 디렉토리만 정적 분석해줘

# Focus on a specific vulnerability class
SQL 인젝션 취약점만 찾아줘

결과는 심각도(Critical, High, Medium, Low)별로 그룹화되며, 파일 위치, 라인 번호, 개선 제안이 함께 제공됩니다.

팁: "보안 취약점 검사해줘"를 입력하면 전체 정적 분석이 실행됩니다. 경로나 취약점 유형을 추가하면 스캔 범위를 좁혀 더 빠른 결과를 얻을 수 있습니다.

안전하지 않은 기본값

insecure-defaults 스킬은 프로젝트에서 눈에 띄지 않게 프로덕션에 배포되는 위험한 기본 설정을 점검합니다.

점검 항목탐지 예시
인증기본 비밀번호, 비활성화된 인증 미들웨어, 허용적인 세션 설정
CORSAccess-Control-Allow-Origin: *, 지나치게 광범위한 허용 메서드
디버그 모드프로덕션 설정의 DEBUG=true, 노출된 상세 오류 페이지
암호화비밀번호 해싱에 MD5/SHA1 사용, 하드코딩된 키, 취약한 JWT 시크릿
네트워크HTTPS 대신 HTTP, 제한 없이 0.0.0.0에 바인딩, 열린 포트
의존성알려진 취약점이 있는 패키지 버전, 고정되지 않은 의존성
# Scan for insecure defaults
기본값 보안 점검해줘

# Check only environment and config files
설정 파일 보안 검사해줘

보안 모범 사례

security-best-practices 스킬은 프로젝트를 확립된 보안 표준에 따라 감사하고 구조화된 컴플라이언스 보고서를 생성합니다.

# Full OWASP Top 10 audit
OWASP 기준으로 보안 점검해줘

# Language-specific best practices
Python 보안 베스트 프랙티스 체크해줘

# Generate a compliance report
보안 컴플라이언스 리포트 만들어줘

감사 항목은 다음을 포함합니다:

팁: "OWASP 기준으로 보안 점검해줘"를 입력하면 각 OWASP 카테고리에 매핑된 체크리스트가 생성되며, 모든 항목에 통과/실패/경고 상태가 표시됩니다.

보안 소유권 맵

security-ownership-map 스킬은 git 히스토리와 프로젝트 구조를 분석하여 보안에 중요한 코드의 소유권을 시각적으로 매핑합니다.

# Generate ownership map for security-critical paths
보안 소유권 맵 만들어줘

# Focus on authentication code ownership
인증 관련 코드 소유자 확인해줘

맵에서 식별하는 항목:

각 경로에는 주요 소유자(가장 최근 및 가장 빈번한 커미터), 리뷰 커버리지 백분율, 마지막 보안 중심 리뷰 이후 경과 시간이 주석으로 표시됩니다.

위협 모델링

security-threat-model 스킬은 프로젝트의 아키텍처, 데이터 흐름, 외부 통합을 분석하여 STRIDE 기반 위협 모델을 구축합니다.

# Generate a full threat model
위협 모델링 해줘

# Threat model for a specific feature
결제 기능 위협 모델 만들어줘

# Update an existing threat model after changes
위협 모델 업데이트해줘
STRIDE 카테고리탐지 대상
Spoofing취약한 인증, 누락된 신원 확인, 토큰 위조 벡터
Tampering전송 중 서명되지 않은 데이터, 누락된 무결성 검사, 변경 가능한 공유 상태
Repudiation누락된 감사 로그, 서명되지 않은 트랜잭션, 부인 방지 통제 부재
Information Disclosure상세한 오류 메시지, 로그 유출, 안전하지 않은 저장소, 디버그 엔드포인트
Denial of Service누락된 요청 제한, 무한 쿼리, 자원 고갈 벡터
Elevation of Privilege누락된 인가 검사, IDOR, 권한 상승 경로
팁: "위협 모델링 해줘"를 입력하면 신뢰 경계, 데이터 흐름 다이어그램(텍스트 형식), STRIDE 카테고리별 식별된 위협, 위험도에 따라 순위가 매겨진 권장 완화 조치가 포함된 구조화된 문서가 생성됩니다.

차분 리뷰

differential-review 스킬은 PR이나 워킹 트리 diff에서 변경된 라인만 대상으로 보안 중심 리뷰를 수행하여, 병합 전에 퇴행을 포착합니다.

# Review the current diff for security issues
변경된 부분만 보안 리뷰해줘

# Review a specific PR
PR #42 보안 리뷰해줘

# Review staged changes before committing
커밋 전에 보안 검사해줘

차분 리뷰가 집중하는 항목:

코드 리뷰 워크플로

CLI-JAW는 코드 리뷰 과정의 양쪽 모두를 전용 스킬로 지원합니다.

코드 리뷰 수신

receiving-code-review 스킬은 수신된 리뷰 코멘트를 처리하고, 심각도별로 분류하며, 실행 가능한 수정 제안을 생성합니다.

# Process review feedback on the current PR
코드 리뷰 피드백 정리해줘

# Triage and prioritize review comments
리뷰 코멘트 심각도별로 정리해줘

# Auto-generate fixes for review findings
리뷰 피드백 기반으로 수정 코드 생성해줘

코드 리뷰 요청

requesting-code-review 스킬은 컨텍스트, 위험 주석, 리뷰어 체크리스트가 포함된 구조화된 리뷰 요청을 준비합니다.

# Create a review request for the current changes
이 코드 리뷰 요청해줘

# Generate a review request with security focus
보안 관점에서 리뷰 요청 만들어줘

# Add a reviewer checklist to an existing PR
PR에 리뷰 체크리스트 추가해줘

생성된 리뷰 요청에는 다음이 포함됩니다:

팁: "이 코드 리뷰해줘"를 입력하면 복합 분석이 실행됩니다 -- 정적 분석과 차분 리뷰를 모두 수행한 후, 결과를 수정 제안이 포함된 인라인 PR 코멘트로 포맷합니다.

스킬 조합

보안 스킬은 종합적인 분석을 위해 체이닝할 수 있습니다. CLI-JAW는 여러 스킬이 적용될 때 이를 자동으로 감지하고 오케스트레이션합니다.

# Full security audit (combines multiple skills)
전체 보안 감사 해줘

# Pre-release security check
릴리즈 전 보안 점검해줘

# Onboarding security review for a new project
이 프로젝트 보안 상태 전체적으로 파악해줘
결합 워크플로호출되는 스킬
전체 보안 감사static-analysis + insecure-defaults + security-best-practices
릴리즈 전 점검static-analysis + insecure-defaults + differential-review
위협 평가security-threat-model + security-ownership-map
리뷰 준비differential-review + requesting-code-review

설정

보안 스킬은 .jaw/security.yaml의 프로젝트 수준 설정을 따릅니다:

# .jaw/security.yaml
severity_threshold: medium    # Minimum severity to report (low|medium|high|critical)
ignore_paths:
  - "vendor/**"
  - "node_modules/**"
  - "**/*.test.ts"
owasp_profile: web            # web | api | mobile | desktop
custom_rules:
  - id: no-eval
    pattern: "eval("
    severity: critical
    message: "eval() is forbidden; use a safe parser instead"