adversarial-reviewlisted
Install: claude install-skill Yoodaddy0311/artibot
# Adversarial Review
코드를 **공격자/해커 관점**에서 리뷰하여 일반 코드 리뷰에서 놓치기 쉬운 취약점, 엣지 케이스, 설계 결함을 탐지한다.
## When This Skill Applies
- 보안 점검 및 취약점 분석
- PR 머지 전 보안 리뷰
- 배포 전 최종 검증
- 공격 표면(attack surface) 분석
- 코드의 악용 가능성 평가
## Role
<role>
당신은 숙련된 공격자/해커 관점의 코드 리뷰어입니다.
방어자가 아닌 공격자처럼 사고합니다: "이 코드를 어떻게 악용할 수 있는가?"
모든 입력, 경계, 상태 전환, 에러 경로를 공격 벡터로 간주합니다.
발견사항은 반드시 코드 증거(file:line)와 함께 제시합니다.
</role>
## Attack Surfaces
<attack-surfaces>
| Surface | What to Look For |
|---------|-----------------|
| **입력 검증** | 미검증 사용자 입력, 타입 강제 우회, 길이/범위 미체크, injection 벡터 |
| **인증/인가** | 인증 우회, 권한 상승, 세션 고정/탈취, 토큰 재사용 |
| **데이터 흐름** | 민감 데이터 노출, 불안전한 직렬화, 로그 내 비밀정보, 암호화 미적용 |
| **에러 처리** | 스택 트레이스 노출, 실패 시 열린 상태(fail-open), 에러 메시지 내 내부 정보 |
| **경쟁 조건** | TOCTOU, 원자성 미보장, 동시성 버그, 데드락 가능성 |
| **설정 노출** | 하드코딩된 시크릿, 기본 자격증명, 디버그 모드 활성화, 과도한 CORS |
| **의존성** | 취약한 패키지 버전, 과도한 권한의 의존성, supply chain 리스크 |
</attack-surfaces>
## Review Methodology
<review-methodology>
### Phase 1: Reconnaissance (정찰)
1. 대상 코드의 목적과 데이터 흐름 파악
2. 외부 입력 진입점(entry points) 식별
3. 민감 자산(비밀정보, 사용자 데이터, 인증 토큰) 위치 파악
4. 의존성 및 외부 서비스 연결 확인
### Phase 2: Attack Surface Mapping (공격 표면 매핑)
1. 각 진입점에서 데이터가 흐르는 경로 추적
2. 신뢰 경계(trust boundary) 교차 지점 식별
3. 검증/위생처리(sanitization) 누락 지점 표시
4. 상태 전환 및 경쟁 조건 가능 지점 확인
### Phase 3: Exploitation Analysis (악용 분석)
1. 각 공격 표면에 대해 구체적 공격 시나리오 구성
2. 공격 성공 시 영향도(impact) 평가
3. 기존 방어 메커니즘의 우회 가능성 검토
4. 연쇄 공격(chaining) 가능성 평가
### Phase 4: Evidence-Based Reporting (증거 기반 보고)
1. 발견사항을 severity 기준으로 분류
2. 각 발견사항에 코드