Agent skill · security · affaan-m
security-review
인증 추가, 사용자 입력 처리, 시크릿 관리, API 엔드포인트 생성, 결제/민감한 기능 구현 시 이 스킬을 사용하세요. 포괄적인 보안 체크리스트와 패턴을 제공합니다.
Why this skill is useful
Adds comprehensive security checklists and executable code patterns for secret management, input validation, and SQL injection prevention that are not commonly found in public documentation.
What it needs
About 7k tokens when loaded. Last updated 2026-08-06. 238,342 stars on the source repository.
What this skill does
보안 리뷰 스킬 이 스킬은 모든 코드가 보안 모범 사례를 따르고 잠재적 취약점을 식별하도록 보장합니다. 활성화 시점 인증 또는 권한 부여 구현 시 사용자 입력 또는 파일 업로드 처리 시 새로운 API 엔드포인트 생성 시 시크릿 또는 자격 증명 작업 시 결제 기능 구현 시 민감한 데이터 저장 또는 전송 시 서드파티 API 통합 시 보안 체크리스트 1. 시크릿 관리 절대 하지 말아야 할 것 반드시 해야 할 것 확인 단계 [ ] 하드코딩된 API 키, 토큰, 비밀번호 없음 [ ] 모든 시크릿이 환경 변수에 저장됨 [ ] .env.local이 .gitignore에 포함됨 [ ] git 히스토리에 시크릿 없음 [ ] 프로덕션 시크릿이 호스팅 플랫폼(Vercel, Railway)에 저장됨 2. 입력 유효성 검사 항상 사용자 입력을 검증할 것 파일 업로드 유효성 검사 확인 단계 [ ] 모든 사용자 입력이 스키마로 검증됨 [ ] 파일 업로드가 제한됨 (크기, 타입, 확장자) [ ] 사용자 입력이 쿼리에 직접 사용되지 않음 [ ] 화이트리스트 검증 사용 (블랙리스트가 아닌) [ ] 에러 메시지가 민감한 정보를 노출하지 않음 3. SQL Injection 방지 절대 SQL을 연결하지 말 것 반드시 파라미터화된 쿼리를 사용할 것 확인 단계 [ ] 모든 데이터베이스 쿼리가 파라미터화된 쿼리 사용 [ ] SQL에서 문자열 연결 없음 [ ] ORM/쿼리 빌더가 올바르게 사용됨 [ ] Supabase 쿼리가 적절히 새니타이징됨 4. 인증 및 권한 부여 JWT 토큰 처리 권한 부여 확인 Row Level Security (Supabase) 확인 단계 [ ] 토큰이 httpOnly 쿠키에 저장됨 (localStorage가 아닌) [ ] 민감한 작업 전에 권한 부여 확인 [ ] Supabase에서 Row Level Security 활성화됨 [ ] 역할 기반 접근 제어 구현됨 [ ] 세션 관리가 안전함 5. XSS 방지 HTML 새니타이징 Content Security Policy {nonce}는 요청마다 새로 생성하고, 헤더와 인라인 <script>/<style> 태그에 동일하게 주입해야 합니다. 확인 단계 [ ] 사용자 제공 HTML이 새니타이징됨 [ ] CSP 헤더가 구성됨 [ ] 검증되지 않은 동적 콘텐츠 렌더링 없음 [ ] React의 내장 XSS 보호가 사용됨 6. CSRF 보호 CSRF 토큰 SameSite 쿠키 확인 단계 [ ] 상태 변경 작업에 CSRF 토큰 적용 [ ] 모든 쿠키에 SameSite=Strict 설정 [ ] Double-submit 쿠키 패턴 구현 7. 속도 제한 API 속도 제한 비용이 높은 작업 확인 단계 [ ] 모든 API 엔드포인트에 속도 제한 적용 [ ] 비용이 높은 작업에 더 엄격한 제한 [ ] IP 기반 속도 제한 [ ] 사용자 기반 속도 제한 (인증된 사용자) 8. 민감한 데이터 노출 로깅 에러 메시지 확인 단계 [ ] 로그에 비밀번호, 토큰, 시크릿 없음 [ ] 사용자에게 표시되는 에러 메시지가 일반적임 [ ] 상세 에러는 서버 로그에만 기록 [ ] 사용자에게 스택 트레이스가 노출되지 않음 9. 블록체인 보안 (Solana) 지갑 검증 참고: Solana 공개 키와 서명은 일반적으로 base64가 아니라 base58로 인코딩됩니다. 트랜잭션 검증 확인 단계 [ ] 지갑 서명 검증됨 [ ] 트랜잭션 세부 정보 유효성 검사됨 [ ] 트랜잭션 전 잔액 확인 [ ] 블라인드 트랜잭션 서명 없음 10. …
How to use it
Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:
@skills affaan-m/security-review--819463