체크리스트 시스템
코드 수정 시 자동으로 품질/보안/문서 검증을 수행하고, 프로젝트별 리포트를 관리하며, /-msk-checklist-review로 미해결 항목을 검토하는 시스템입니다.
전체 흐름
코드/문서 수정
↓ PostToolUse Hook
↓ checklist-validator.sh 실행
↓ validators/*.sh (자동 검사)
↓ projects/{project}/latest.json 저장
↓
다음 턴
↓ <checklist-review> 태그로 AI에게 주입
↓ tmux 4줄: [code]15/35 +20r [doc]3/5 +2r 13:21
↓
사용자: /-msk-checklist-review
↓ 항목별 AI 설명 → 승인/수정/보류
↓ 리포트 갱신
41항목 7분류
보안 (Security) — 9항목
| ID | 항목 | 자동 | 설명 |
|---|---|---|---|
| S1 | 하드코딩 시크릿 | ✅ | API키, 비밀번호, 토큰 패턴 탐지 |
| S2 | SQL Injection | ✅ | Raw SQL, 바인딩 미사용 |
| S3 | XSS | ✅ | {!! !!}, dangerouslySetInnerHTML |
| S4 | Authorization | AI | CRUD+READ 전체 권한 검사. 타 테넌트 자원은 404 반환 |
| S5 | 테넌트 격리 | ✅+AI | Global Scope 적용, cross-tenant 차단 |
| S6 | 입력 검증 | ✅ | FormRequest 존재, $request->all() 금지 |
| S7 | CSRF/CORS | ✅ | CSRF 토큰, CORS 과다 허용 방지 |
| S8 | 에러 정보 노출 방지 | ✅ | production stack trace, internal path 차단 |
| S9 | 의존성 취약점 | ✅ | composer audit + npm audit |
테넌트 격리 (S5)
Multi-tenant SaaS에서 가장 치명적인 사고는 cross-tenant 데이터 유출입니다. 모든 Eloquent 모델에 tenant scope가 적용되어 있는지 확인합니다.
안정성/운영 (Reliability) — 5항목
| ID | 항목 | 자동 | 설명 |
|---|---|---|---|
| R1 |