원클릭으로
verify-security
보안 검증 (RateLimitFilter, RBAC, CORS, JWT, 시크릿 관리). 보안 관련 코드 수정, 인증/인가 변경, 필터 수정, CORS 변경, 시크릿 추가 후 사용. 보안 감사나 배포 전 최종 점검에도 사용.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
보안 검증 (RateLimitFilter, RBAC, CORS, JWT, 시크릿 관리). 보안 관련 코드 수정, 인증/인가 변경, 필터 수정, CORS 변경, 시크릿 추가 후 사용. 보안 감사나 배포 전 최종 점검에도 사용.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
세션 변경사항을 분석하여 검증 스킬 누락을 탐지합니다. 기존 스킬을 동적으로 탐색하고, 새 스킬을 생성하거나 기존 스킬을 업데이트한 뒤 CLAUDE.md를 관리합니다.
REST API 응답 DTO 일관성 및 에러 코드 표준 검증. API 엔드포인트 추가/수정, DTO 변경, 에러 처리 수정 후 사용. API 계약 변경이 프론트엔드에 영향을 줄 수 있을 때 사용.
Flyway DB 마이그레이션 일관성 검증. 마이그레이션 추가/수정 후 사용.
프론트엔드 UI 컴포넌트 품질 검증 (shadcn/ui + Tailwind 기준). UI 컴포넌트 수정 후 사용.
KB 비동기 인덱싱 파이프라인 검증. 인덱싱 관련 코드 수정 후 사용.
RAG 파이프라인 (답변 작성 + 분석 + 다운로드) 검증. 답변 작성/분석/다운로드 관련 코드 수정 후 사용.
| name | verify-security |
| description | 보안 검증 (RateLimitFilter, RBAC, CORS, JWT, 시크릿 관리). 보안 관련 코드 수정, 인증/인가 변경, 필터 수정, CORS 변경, 시크릿 추가 후 사용. 보안 감사나 배포 전 최종 점검에도 사용. |
백엔드 보안 설정의 일관성과 안전성을 검증합니다.
파일: infrastructure/security/RateLimitFilter.java
X-RateLimit-Limit, X-RateLimit-Remaining 포함 확인/h2-console, /actuator/health만 제외X-Forwarded-For 헤더 우선 사용 확인grep -n "MAX_REQUESTS\|WINDOW_MS\|X-RateLimit" backend/app-api/src/main/java/com/biorad/csrag/infrastructure/security/RateLimitFilter.java
파일: infrastructure/security/SecurityConfig.java
CORS_ALLOWED_ORIGINS)로 관리, 하드코딩 없음* (Content-Type, Authorization 등)X-Request-Id, AuthorizationallowCredentials(true)maxAge(3600)* 오리진 사용 금지 확인grep -n "allowedOrigins\|allowedMethods\|allowCredentials" backend/app-api/src/main/java/com/biorad/csrag/infrastructure/security/SecurityConfig.java
파일: infrastructure/security/JwtAuthenticationFilter.java
JWT_SECRET)X-User-Id, X-User-Roles (레거시 호환)STATELESSgrep -n "JWT_SECRET\|X-User-Id\|X-User-Roles\|STATELESS" backend/app-api/src/main/java/com/biorad/csrag/infrastructure/security/
/api/v1/** 경로만 인증 필요 확인/actuator/health, /h2-console/** 공개 확인.env가 .gitignore에 포함되어 있는가?application.yml에 시크릿 직접 노출 없는가? (${ENV_VAR:default} 패턴 사용)# 시크릿 하드코딩 탐지
grep -rn "sk-\|api[_-]key\s*=\s*['\"]" backend/app-api/src/main/java/ --include="*.java" | grep -v '${' | grep -v 'test'
@Valid 어노테이션이 모든 @RequestBody에 적용되었는가?max-file-size: 20MB, max-request-size: 25MBgrep -rn "@RequestBody" backend/app-api/src/main/java/ --include="*.java" | grep -v "@Valid"
from >= 1, to >= from)/h2-console/**): 개발 전용, 프로덕션에서 비활성화| 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 | 시크릿 파일 제외 확인 |