# InsuRo 보안 전수조사 — OWASP + 코드 품질 감사

## 작업 레벨: Lv.3

## 프로젝트 시스템 3문서
- DevSystem: `/home/jay/workspace/memory/plans/anu-guide-system/plan.md`

## 프로젝트
- InsuRo: `/home/jay/projects/InsuRo`
- 서버: `/home/jay/projects/InsuRo/server`

## 감사 범위

### 1. OWASP Top 10 보안 점검
`server/main.py` (5000줄+) 전체 엔드포인트 대상:

- **A01: 접근 제어 취약점** — JWT 인증 누락 엔드포인트, RLS 우회 가능성
- **A02: 암호화 실패** — API 키/토큰 하드코딩, 평문 저장
- **A03: 인젝션** — SQL 인젝션 (Supabase RPC), 명령어 인젝션 (subprocess)
- **A04: 불안전한 설계** — rate limiting 미적용 엔드포인트
- **A05: 보안 설정 오류** — CORS 설정, 디버그 정보 노출
- **A06: 취약한 컴포넌트** — 의존성 버전 취약점 (pip audit)
- **A07: 인증 실패** — 세션 관리, 토큰 갱신
- **A08: 데이터 무결성** — 파일 업로드 검증, 입력 크기 제한
- **A09: 로깅 실패** — 보안 이벤트 로깅 누락
- **A10: SSRF** — 외부 URL 요청 (Drive, claude CLI 등)

### 2. 프론트엔드 보안 점검
`src/` 전체:

- XSS 취약점 (dangerouslySetInnerHTML, innerHTML)
- 민감 정보 노출 (API 키, 서버 URL 클라이언트 노출)
- CSRF 방어
- Content Security Policy

### 3. 인프라/설정 점검
- `.env` 파일 보안 (git 추적 여부)
- Supabase RLS 정책 검증
- Cloudflare 보안 헤더
- subprocess 명령어 인젝션 위험 (claude CLI 호출 부분)

### 4. PII 데이터 처리
- 고객 개인정보 (이름, 생년월일, 보험 증권) 처리 흐름
- 로그에 PII 노출 여부
- 데이터 보존/삭제 정책

## 산출물
보고서: `memory/reports/insuro-security-audit-2026-04.md`
- 발견 사항별 심각도 (Critical/High/Medium/Low/Info)
- 즉시 수정 필요 항목 목록
- 권장 수정 방안

## affected_files
- `server/main.py` (전수 조사)
- `src/` 전체 (전수 조사)
- `.env`, `vite.config.ts`, `package.json` (설정 점검)

## 검증 시나리오
1. 보안 감사 보고서 생성
2. Critical/High 발견 시 즉시 수정 권고 포함
3. pip audit 결과 포함
