73 lines
2.3 KiB
Markdown
73 lines
2.3 KiB
Markdown
---
|
|
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`
|