security-auditlisted
Install: claude install-skill SONGYEONGSIN/vibe-flow
# Security Audit
3-Layer 구조의 웹 애플리케이션 보안 감사. 자동화 가능한 스캔부터 아키텍처 수준 리뷰까지 체계적으로 수행.
## 기존 보안 도구와의 관계
| 도구 | 역할 | 이 스킬과의 관계 |
|------|------|-----------------|
| `security-guidance` 플러그인 | 코드 작성 시 위험 패턴 차단 (PreToolUse 훅) | 보완: 작성 시점 vs 감사 시점 |
| `security-specialist` 에이전트 | 비정형 보안 질문/분석 | 보완: 전문가 vs 체크리스트 |
| `deploy-safety-guard` 스킬 | 운영 안정성/비용 통제 | 분리: 운영 관점 vs 공격 관점 |
---
## Workflow
### Step 0: 프로젝트 컨텍스트 파악
감사 전 프로젝트 기본 정보 수집:
```
1. package.json 읽기 → 프레임워크, 의존성 파악
2. 디렉토리 구조 확인 → src/, app/, api/, supabase/ 등
3. .env.example 또는 .env.local 존재 여부
4. 인증 방식 파악 → Supabase Auth, NextAuth, 커스텀 등
```
### N/A 처리 규칙
- 해당 기능이 프로젝트에 없는 항목은 N/A로 처리
- N/A 항목은 총 항목 수에서 제외 (통과율 분모에서 빠짐)
- 리포트에 N/A 사유를 항목별로 명기
- N/A를 PASS로 처리하는 것은 금지 (별도 열로 구분)
### 프레임워크별 API 패턴
L2, L3 스캔 시 감지된 프레임워크에 맞는 패턴을 적용한다.
| 프레임워크 | 상태 변경 API 패턴 | 글로브 |
|-----------|------------------|--------|
| Next.js App Router | `export.*(POST\|PUT\|PATCH\|DELETE)` | `**/route.{ts,js}` |
| Next.js Pages Router | `handler.*req.*res` | `**/api/**/*.{ts,js}` |
| Express/Hono | `app\.(post\|put\|patch\|delete)\|router\.(post\|put\|patch\|delete)` | `*.{ts,js}` |
| tRPC | `\.mutation\(` | `*.{ts,js}` |
### Step 1: Layer 1 — 자동 스캔
도구(Bash, Grep)로 자동 실행 가능한 항목. 상세 패턴: [references/layer1-auto-scan.md](references/layer1-auto-scan.md)
| # | 항목 | 도구 | 판정 기준 |
|---|------|------|----------|
| 1-1 | 의존성 취약점 | `npm audit` / `pnpm audit` | Critical/High 0건 |
| 1-2 | Secret 노출 | Grep (API key, password, token 패턴) | 소스코드 내 0건 |
|