| name | security-review |
| description | 구현 완료 후 보안 관점 심층 리뷰 — 즉시 반영 항목을 수정하고 결과를 보고한다 |
| user-invocable | true |
Security Review
절차(대상 수집, 수정 적용, 중단, 보고)는 .agents/skills/_shared/review-protocol.md를 읽고
그대로 따른다. 이 문서는 무엇을 볼지만 정한다.
.agents/rules/security.md를 함께 읽는다 — 프로젝트가 이미 정한 보안 규칙.
분석 렌즈 (extended thinking)
먼저 security.md의 규칙 준수 여부를 변경된 코드에서 확인하고, 그 위에 다음을 본다.
입력과 주입
- 시스템 경계(사용자 입력, 외부 API 응답, 파일 경로, URL 파라미터, 헤더)의 검증 여부.
- Command Injection, XSS, Path Traversal 등 OWASP Top 10 노출 경로.
- 신뢰할 수 없는 입력의 역직렬화.
인증 및 권한
- 인증 우회 가능성, 권한 검사가 빠진 엔드포인트·명령.
- 세션/토큰의 만료, 무효화, 저장 방식. 권한 상승 경로.
정보 노출
- 키/토큰 하드코딩. 민감 정보가 로그, 에러 메시지, 응답 본문, 커밋 히스토리에 새는지.
- 에러 응답의 내부 세부사항(스택 트레이스, 내부 경로) 노출.
- 에러 처리가 보안 검사를 우회하는 경로를 만드는지.
노출면
- 로컬 daemon 소켓과 web viewer의 바인드 주소·권한이 필요한 최소인지.
- CORS, CSP 등 브라우저 보안 정책 설정.
- root/admin 권한을 요구하는 구현, 불필요하게 넓은 권한을 요구하는 의존성.
분류 경계
- 즉시 반영: 보안 취약점, 민감 정보 노출, 인증/권한 우회, 입력 검증 누락.
- 사용자 판단 필요: 보안-편의성 트레이드오프, 위협 모델에 따라 달라지는 항목,
대규모 리팩토링이 필요한 보안 개선.
- 무시: 현재 위협 모델에서 위험도가 낮은 항목, 범위 밖 개선 제안.
보고 시에는 공통 형식의 각 항목에 취약점 유형을 함께 적는다.
추가 중단 기준
- 보안 취약점(인증 우회, 권한 상승, 데이터 유출)이 즉시 반영으로 해결되지 않은 경우
- 민감 정보가 소스 코드나 커밋 히스토리에 포함된 경우
- 알려진 CVE가 있는 의존성이 추가된 경우