4가지 위험 시나리오

"동작은 한다"와 "안전하다"는 완전히 다른 문제
🔓
위험 01
인증과 권한 처리
  • API 엔드포인트에 인증 미들웨어 누락 — 외부에서 누구나 호출 가능
  • 관리자 전용 API에 일반 사용자도 접근 — 권한 체크 누락
  • JWT 검증을 클라이언트에서만 — 서버는 무방비
  • Supabase RLS(Row Level Security) 미설정
💉
위험 02
데이터 처리 — Injection 공격
  • SQL Injection — 문자열 보간 쿼리를 그대로 생성
  • XSS — 사용자 입력을 escape 없이 렌더링
  • CSRF — 토큰 검증 누락
  • parameterized query를 안 쓰는 패턴이 빈번
📉
위험 03
성능과 확장성
  • N+1 쿼리 — 100명 사용자 → 100번 DB 호출
  • 이벤트 리스너 미해제로 인한 메모리 누수
  • 재고 차감 로직의 race condition 미처리
  • 엣지 케이스에서 끝나지 않는 재귀 호출
🔑
위험 04
비밀 정보 노출
  • AI가 "예시"로 넣은 실제 시크릿 키 하드코딩
  • Stripe Live Key, Supabase Service Key 등 노출
  • 퍼블릭 GitHub 레포에 그대로 커밋되는 사례 다수
  • .env 파일을 .gitignore에 안 넣음