| name | verify-security |
| description | 보안 검증 (RateLimitFilter, RBAC, CORS, JWT, 시크릿 관리). 보안 관련 코드 수정, 인증/인가 변경, 필터 수정, CORS 변경, 시크릿 추가 후 사용. 보안 감사나 배포 전 최종 점검에도 사용. |
Purpose
백엔드 보안 설정의 일관성과 안전성을 검증합니다.
Checks
1. Rate Limiting
파일: infrastructure/security/RateLimitFilter.java
grep -n "MAX_REQUESTS\|WINDOW_MS\|X-RateLimit" backend/app-api/src/main/java/com/biorad/csrag/infrastructure/security/RateLimitFilter.java
2. CORS 설정
파일: infrastructure/security/SecurityConfig.java
grep -n "allowedOrigins\|allowedMethods\|allowCredentials" backend/app-api/src/main/java/com/biorad/csrag/infrastructure/security/SecurityConfig.java
3. JWT 인증
파일: infrastructure/security/JwtAuthenticationFilter.java
grep -n "JWT_SECRET\|X-User-Id\|X-User-Roles\|STATELESS" backend/app-api/src/main/java/com/biorad/csrag/infrastructure/security/
4. 필터 체인 순서
5. 시크릿 관리
grep -rn "sk-\|api[_-]key\s*=\s*['\"]" backend/app-api/src/main/java/ --include="*.java" | grep -v '${' | grep -v 'test'
6. 입력 검증
grep -rn "@RequestBody" backend/app-api/src/main/java/ --include="*.java" | grep -v "@Valid"
7. 답변 워크플로우 RBAC
8. 문서 다운로드 보안
Exceptions
- H2 콘솔 (
/h2-console/**): 개발 전용, 프로덕션에서 비활성화
- Actuator health: 모니터링용 공개 엔드포인트
Related Files
| File | Purpose |
|---|
backend/app-api/src/main/java/.../infrastructure/security/RateLimitFilter.java | Rate limiting |
backend/app-api/src/main/java/.../infrastructure/security/SecurityConfig.java | CORS, 세션, 필터 체인 |
backend/app-api/src/main/java/.../infrastructure/security/JwtAuthenticationFilter.java | JWT 인증 |
backend/app-api/src/main/java/.../common/exception/GlobalExceptionHandler.java | 에러 응답 |
backend/app-api/src/main/resources/application.yml | 보안 설정 (JWT, CORS, 파일 크기) |
.gitignore | 시크릿 파일 제외 확인 |