---
name: code-review
description: "GUARDiA 프로젝트 소스 코드 리뷰 스킬. 다음 상황에서 사용: (1) '코드 리뷰', '소스 분석', '보안 취약점 검사', '코드 품질 점검'; (2) 특정 프로젝트 디렉토리 분석 요청; (3) SQL 인젝션, XSS, 패스워드 평문 저장 등 보안 이슈 점검; (4) 배포 전 코드 검증; (5) '빠른 스캔', 'quick scan', '즉시 보안 검사'. C:\\GUARDiA\\projects\\ 하위 프로젝트를 대상으로 하며, Ollama 로컬 LLM 사용 (외부 API 없음)."
---

# 코드 리뷰 스킬

GUARDiA 프로젝트 소스를 분석하여 보안·성능·품질 이슈를 발견한다.

## 빠른 시작

### 1. 리뷰 가능 프로젝트 목록 확인
```
GET /api/code-review/projects/list
```

### 2. 빠른 보안 스캔 (즉시 결과, LLM 불필요)
```
POST /api/code-review/quick-scan?project_dir=testcase-java-api
```

### 3. 전체 코드 리뷰 요청 (비동기)
```
POST /api/code-review
{
  "project_id": 1,
  "model": "codellama",
  "focus": "security"
}
→ 202 + review_id 반환
```

### 4. 결과 폴링
```
GET /api/code-review/{review_id}
→ status: PENDING | RUNNING | DONE | FAILED
```

## 발견 항목 구조

```json
{
  "file": "testcase-java-api/src/.../ItemController.java",
  "severity": "CRITICAL|HIGH|MEDIUM|LOW|INFO",
  "category": "SECURITY|PERFORMANCE|CODE_QUALITY|ARCHITECTURE|TESTING",
  "line": 42,
  "message": "문제 설명",
  "suggestion": "개선 방안"
}
```

## 점수 기준

| 점수 | 등급 | 의미 |
|------|------|------|
| 95-100 | 우수 | 배포 즉시 가능 |
| 80-94  | 양호 | 배포 가능 (LOW 이슈 후속 처리) |
| 60-79  | 개선 필요 | MEDIUM+ 수정 후 배포 |
| 0-59   | 위험 | 배포 차단, CRITICAL/HIGH 즉시 수정 |

## 지원 테스트케이스 프로젝트

| 디렉토리 | 언어 | 주요 이슈 |
|---------|------|---------|
| `testcase-java-api` | Java/Spring Boot | SRP 위반, NPE 위험, null 반환 |
| `testcase-py-api` | Python/FastAPI | SQL 인젝션, 패스워드 평문, user enumeration |
| `testcase-js-frontend` | HTML/JS | XSS (innerHTML), API 키 하드코딩 |
| `testcase-php-legacy` | PHP | SQL 인젝션, CSRF 없음, DB 정보 하드코딩 |

## 참조
- 보안 패턴 목록: `references/security-patterns.md`
- Ollama 모델 선택 가이드: `references/model-guide.md`
