체크리스트 시스템
코드 수정 시 자동으로 품질/보안/문서 검증을 수행하고, 프로젝트별 리포트를 관리하며, /-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 | 에러 핸들링 패턴 | AI | try-catch 일관성, 사용자 친화적 에러 메시지 |
| R2 | 구조화 로깅 | ✅+AI | Log:: 호출에 context array 포함, 계층적 로그 채널 |
| R3 | PII 마스킹 | ✅ | 로그에 비밀번호, 토큰, 이메일 노출 금지 |
| R4 | Rate Limiting | ✅ | 인증 엔드포인트에 throttle 미들웨어 |
| R5 | 트랜잭션/멱등성 | AI | DB::transaction, 중복 요청 방지 |