# 보안 리뷰 체크리스트 (security-review)

> 비밀 관리, 입력 검증, SQL 인젝션, 인증·인가, XSS, CSRF, 속도 제한, 의존성 보안 체크리스트와 코드 패턴입니다.

- 카테고리: [보안 감사](https://www.myskills.tools/ko/categories/security-audit/)
- 출처: 커뮤니티 · Affaan Mustafa
- 저장소: https://github.com/affaan-m/ECC/tree/main/skills/security-review (commit afa5651)
- SKILL.md: https://github.com/affaan-m/ECC/blob/main/skills/security-review/SKILL.md
- 설치 명령: `npx skills add affaan-m/ECC --skill security-review`
- 라이선스: MIT
- 호환 도구: Claude Code, Codex, Cursor, Copilot, OpenCode
- 권한: read-repo ✓, write-files ✓, shell ✓, network ✓
- 상태: 스캔 통과
- 규칙 스캔으로 모든 위험을 찾을 수는 없습니다. 설치 전에 이 스킬의 SKILL.md를 읽고 권한을 확인하세요.

## 핵심 규칙

API 키, 토큰, 비밀번호를 절대 하드코딩하지 않고 모든 비밀 값은 환경 변수에 둡니다.

## 실행 단계

1. **적용 상황 파악** — 작업이 인증·인가, 사용자 입력이나 파일 업로드, 새 API, 비밀 값, 결제, 민감 데이터, 외부 API와 관련되는지 판단합니다.
2. **항목별 점검** — 비밀 값, 입력 검증, 매개변수화 쿼리, 인증·인가, XSS, CSRF, 속도 제한, 민감 데이터 노출, Solana 블록체인 보안을 점검합니다.
3. **의존성 점검** — npm audit로 취약점을 확인하고 의존성을 업데이트하며 lock 파일을 커밋하고 CI에서는 npm ci를 사용합니다.
4. **보안 테스트 작성** — 인증(401), 인가(403), 잘못된 입력(400), 속도 제한(429)에 대한 자동화 테스트를 작성합니다.
5. **배포 전 점검** — 운영 배포 전에 HTTPS, 보안 헤더, CORS, 로그, Supabase 행 수준 보안을 포함한 체크리스트를 확인합니다.

## 권한 설명 (SKILL.md 기준)

| 기능 | 필요 여부 | 설명 |
|---|---|---|
| 파일 쓰기 | 필요 | 체크리스트 패턴에 맞춰 코드를 수정하고 보안 테스트를 추가합니다. |
| 명령 실행 | 일부 필요 | npm audit, npm update, npm outdated 같은 의존성 점검 명령과 테스트를 실행합니다. |
| 네트워크 송신 | 일부 필요 | npm audit 등 의존성 명령이 npm 레지스트리에 접근합니다. |

## SKILL.md 프런트매터(YAML)

```yaml
---
name: security-review
description: Use this skill when adding authentication, handling user input, working with secrets, creating API endpoints, or implementing payment/sensitive features. Provides comprehensive security checklist and patterns.
metadata:
  origin: ECC
---
```

홈: https://www.myskills.tools/ko/ · URL: https://www.myskills.tools/ko/skills/security-review/
