Community라이팅 & 에디팅github.com

antoniovrf/초강력-핵융합-바이브코딩-보안-검토

🛡️ AI 코딩 어시스턴트를 위한 포괄적인 보안 스킬 — 바이브코딩 앱을 위한 50개 항목 감사 체크리스트 + 예방 지침

초강력-핵융합-바이브코딩-보안-검토란 무엇인가요?

이 스킬은 AI 코딩 어시스턴트(Claude Code, Cursor, Codex 등)가 생성한 코드를 보안 관점에서 감사(AUDIT)하고, 코드 생성 중 취약점이 삽입되지 않도록 예방(PREVENTIVE)하는 이중 모드 보안 검토 기능을 제공합니다. 먼저 프로젝트의 기술 스택(Next.js, Supabase, Stripe, Firebase 등)을 자동 탐지한 후, 50개 항목의 체크리스트(치명적 15, 일반 25, 프로덕션 10)를 실행하여 점수를 산출하고 상세 보고서를 출력합니다. 각 취약점 유형(인젝션, 접근 제어, 인증, CSRF/SSRF, 파일 업로드, 암호화, 경쟁 조건)별 지식 베이스와 스택별 보안 모듈(Supabase RLS, Next.js Server Actions, Stripe 웹훅 등)을 참조하여 실무에 바로 적용 가능한 패턴을 제공합니다. 가장 중요한 원칙은 '클라이언트를 절대 신뢰하지 말라'는 것으로, 모든 가격, 사용자 ID, 역할, 구독 상태, 기능 플래그, 속도 제한 카운터는 반드시 서버측에서 검증되어야 합니다.

지원 대상✓Claude Code✓Codex CLI~Cursor
npx skills add antoniojvrf/ultra-thermo-nuclear-vibecoding-security-review

Installed? Explore more 라이팅 & 에디팅 skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

초강력 핵융합 바이브코딩 보안 검토 — 에이전트 스킬

핵심 원칙

클라이언트를 절대 신뢰하지 마십시오. 모든 가격, 사용자 ID, 역할, 구독 상태, 기능 플래그, 속도 제한 카운터는 반드시 서버측에서 검증되거나 강제되어야 합니다. 브라우저, 모바일 번들 또는 요청 본문에만 존재한다면 공격자가 이를 제어할 수 있습니다.

추가 원칙 — core/principles.md 참조:

  • 심층 방어: 단일 보안 제어에 의존하지 않음
  • 안전한 실패: 문제 발생 시 접근 차단(폐쇄 실패)
  • 최소 권한: 필요한 최소 권한만 부여
  • 입력 검증: 사용자 입력을 절대 신뢰하지 말고 서버측에서 모두 검증
  • 출력 인코딩: 데이터가 렌더링되는 컨텍스트에 맞게 인코딩

작동 모드

모드 1: 감사 (사후 분석)

다음에 의해 트리거: "보안 감사 실행", "취약점 확인", "바이브 보안 감사", "안전한가요?" 또는 기존 코드를 검토하라는 명시적 요청

프로세스:

  1. 기술 스택 탐지 (아래 1단계 참조)
  2. 50개 항목 체크리스트 실행 — core/audit-process.md 참조
  3. 점수 계산 및 보고서 작성 — core/output-format.md 참조
  4. 필요에 따라 관련 취약점 참조 및 스택 모듈 로드

모드 2: 예방 (코드 생성 중)

인증, 결제, 데이터베이스 접근, API 키, 비밀, 사용자 데이터 또는 파일 업로드를 다루는 코드를 작성하거나 검토할 때 트리거 — 사용자가 보안을 언급하지 않더라도

프로세스:

  1. 작성 중인 코드에 적용되는 보안 도메인 식별
  2. 코드를 생성하기 전에 관련 참조 파일 확인
  3. 처음부터 안전한 패턴 적용
  4. 명확하지 않은 보안 결정에 인라인 주석 추가
  5. 사용자에게 보안 트레이드오프 플래그 표시

1단계: 기술 스택 탐지

다음 파일을 검사하여 프로젝트의 기술을 식별합니다:

탐지 항목찾을 내용
프레임워크next.config.*, nuxt.config.*, astro.config.*, vite.config.*, angular.json, svelte.config.*
패키지 관리자package.json, requirements.txt, go.mod, Gemfile, Cargo.toml, pubspec.yaml
데이터베이스prisma/, drizzle.config.*, supabase/, firebase.json, convex/
인증임포트: @clerk, next-auth, @supabase/auth, @auth0, lucia, passport, firebase/auth
저장소임포트: @aws-sdk/client-s3, @supabase/storage, @google-cloud/storage
AI API임포트: openai, @anthropic-ai/sdk, @google/generative-ai, langchain, @ai-sdk
결제임포트: stripe, @paddle/paddle-node, @lemonsqueezy
이메일임포트: resend, @sendgrid/mail, nodemailer
GraphQLschema.graphql, 임포트: @apollo/server, graphql-yoga, type-graphql
모바일app.json (Expo), react-native.config.js, capacitor.config.*
배포vercel.json, netlify.toml, fly.toml, Dockerfile, docker-compose.*, .github/workflows/
엣지 런타임wrangler.toml, 소스의 엣지 런타임 지시문

탐지된 스택에 적용되지 않는 검사는 건너뜁니다.


2단계: 감사 실행

관련 체크리스트 파일을 로드하고 실행합니다:

감사 진행:
- [ ] 1단계: 기술 스택 탐지
- [ ] 2a단계: 치명적 검사 실행 (1-15) — checklists/critical-15.md 참조
- [ ] 2b단계: 일반 검사 실행 (16-40) — checklists/standard-25.md 참조
- [ ] 2c단계: 프로덕션 검사 실행 (41-50) — checklists/production-10.md 참조
- [ ] 3단계: 점수 계산 및 보고서 작성 — core/output-format.md 참조

치명적 검사를 먼저 실행 — checklists/critical-15.md를 읽고 모든 검사를 진행하기 전에 실행합니다.

각 검사에 대해 관련 참조 파일을 확인합니다:

  • 취약점 세부 정보 → vulnerabilities/*.md
  • 스택별 패턴 → stack/*.md
  • 프로덕션 준비 → production/*.md

심각도 척도

점수수준필요한 조치
10/10치명적배포 전 수정
8-9/10높음24시간 이내 수정
6-7/10중간1주일 이내 수정
4-5/10낮음편리할 때 수정
1-3/10정보 제공고려해볼 사항

프로젝트 점수 = 100에서 발견된 모든 문제의 심각도 점수 합계를 뺀 값 (최소 0).

점수등급
90-100✅ 우수함
70-89⚠️ 양호 — 사소한 문제
50-69🟡 보통 — 주의 필요
30-49🟠 나쁨 — 상당한 위험
0-29🔴 치명적 — 배포 금지

3단계: 보고서 출력

core/output-format.md에 정의된 형식을 사용합니다. 주요 요구사항:

  • 정확한 파일 및 줄 번호 참조
  • 각 발견 항목에 대해 일치하는 패턴 표시
  • 모든 문제에 대해 수정 전/후 코드 차이 제공
  • 빠른 해결 섹션 포함 (10분 미만으로 수정 가능)
  • 우선순위가 지정된 요약으로 마무리

참조 색인

핵심

  • core/principles.md — 보안 원칙 및 심층 방어 전략
  • core/audit-process.md — 50개 항목 체크리스트 라우팅 및 실행 순서
  • core/output-format.md — 점수 계산 보고서 템플릿

취약점 지식 베이스

  • vulnerabilities/injection.md — SQL 인젝션, XSS, 명령어 인젝션, LDAP 인젝션
  • vulnerabilities/access-control.md — IDOR, 권한 상승, 대량 할당
  • vulnerabilities/authentication.md — JWT, OAuth 2.0, PKCE, 세션 관리, 비밀번호 보안
  • vulnerabilities/csrf-ssrf.md — CSRF, SSRF, 오픈 리다이렉트 (우회 기법 표 포함)
  • vulnerabilities/file-upload.md — 매직 바이트, 폴리글롯 파일, ZIP 슬립, SVG XSS
  • vulnerabilities/cryptography.md — 암호화, 해싱, 키 관리, 논스 재사용
  • vulnerabilities/race-conditions.md — TOCTOU, 이중 지출, 뮤텍스 패턴

스택별 모듈

  • stack/supabase.md — RLS 정책, 인증, 저장소, 엣지 함수
  • stack/firebase.md — 보안 규칙, Firestore, 인증
  • stack/nextjs.md — 서버 액션, 미들웨어, 라우트 핸들러, 앱 라우터
  • stack/stripe-payments.md — 웹훅, 가격 검증, 구독 흐름
  • stack/react-native.md — 안전한 저장소, API 프록시, 딥 링크
  • stack/ai-llm.md — API 키 보호, 프롬프트 인젝션, 사용량 제한, 출력 정화
  • stack/graphql.md — 인트로스펙션, 깊이 제한, 배칭, 지속적 쿼리
  • stack/docker-cicd.md — 컨테이너 보안, 파이프라인 강화

프로덕션 준비

  • production/security-headers.md — CSP, HSTS, X-Frame-Options, Permissions-Policy
  • production/deployment.md — 소스 맵, 환경 분리, 디버그 엔드포인트
  • production/compliance.md — GDPR, CCPA, 계정 삭제, 데이터 보존
  • production/observability.md — 로깅 보안, PII 정화, 모니터링
  • production/dependency-audit.md — 고스트 패키지, 타이포스쿼팅, 공급망 공격

실행 가능한 체크리스트

  • checklists/critical-15.md — 15개 치명적 검사 (배포 전 수정)
  • checklists/standard-25.md — 25개 일반 검사 (1주일 이내 수정)
  • checklists/production-10.md — 10개 프로덕션 준비 검사 (라이브 전)

코드 생성 시

이 규칙은 사전 예방적으로 적용됩니다. 인증, 결제, 데이터베이스 접근, API 키 또는 사용자 데이터를 다루는 코드를 작성하기 전에 관련 참조 파일을 확인하여 처음부터 취약점이 도입되지 않도록 하십시오. 예방은 항상 탐지보다 낫습니다.

확실하지 않을 경우, 더 제한적이거나 안전한 옵션을 선택하고 주석으로 보안 고려 사항을 문서화하십시오.

관련 스킬