Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
vibe-coding-security — AI 생성 앱(Lovable, v0, Bolt, Cursor)을 위한 출시 전 보안 체크리스트. Supabase RLS, 노출된 키, 프롬프트 인젝션을 다루는 69개 항목. CVE-2025-48757(170개 앱)과 Moltbook 유출(150만 개 API 토큰)의 배후에 있던 것과 동일한 패턴. | Kitploit
도구/GitHubGitHub/boxed-dev/vibe-coding-security
Vulnerability AnalysisConfiguration AuditingWeb SecurityCloud SecuritySecret DetectionSupply Chain SecurityAuthenticationLearning & EducationCurated ResourcesAPI SecurityAI SecurityDatabase Security
131341개월 전아직 검토되지 않음
GitHubboxed-dev/vibe-coding-security

vibe-coding-security

AI 생성 앱(Lovable, v0, Bolt, Cursor)을 위한 출시 전 보안 체크리스트. Supabase RLS, 노출된 키, 프롬프트 인젝션을 다루는 69개 항목. CVE-2025-48757(170개 앱)과 Moltbook 유출(150만 개 API 토큰)의 배후에 있던 것과 동일한 패턴.

저장소 보기웹사이트

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

바이브 코딩 보안

출시를 알리는 트윗을 올리기 전에 이 69가지 체크리스트를 실행하세요. 이 항목들은 Lovable RLS CVE(CVE-2025-48757, 170+ 앱, 2025), Moltbook 유출(API 토큰 150만 개, 2026년 2월), 그리고 2026년 4월 Lovable 플랫폼 침해(다른 사용자 프로젝트의 소스 코드 + 서비스 키, 약 2.5개월간 노출) 뒤에 있는 정확한 패턴에 대응합니다.

전체 키트가 필요하신가요? 50개 감사 스킬, 15개 .cursorrules, 1개 MCP 설정 + 4개 CLI 레시피, 30개 적대적 리뷰 프롬프트, 10개 사례 연구. 5분 설치. 일괄 $10.

→ rishabhvaai.gumroad.com/l/plddbd


2025년 10월에 발표된 감사 보고서에서 Escape.tech는 14,600개 자산에 걸쳐 실제 AI 생성 앱 5,600개를 스캔했습니다(방법론). 이들은 해당 애플리케이션 1,400개에서 중대한 취약점 2,038개, 유출된 시크릿 400개 이상, 노출된 PII 175건을 보고했습니다(결과). 시크릿은 프런트엔드 번들에서 그대로 나왔습니다. 클라이언트 측 JavaScript에 Stripe, OpenAI, Supabase 키가 들어 있었습니다. 그 이후로도 개선되지 않았습니다. GitGuardian의 2026년 보고서는 2025년 공개 GitHub에서 새 시크릿 2,860만 개를 집계했으며(전년 대비 +34%), AI 서비스 시크릿은 81% 증가했고, 코딩 에이전트가 공동 작성한 커밋은 인간 기준치의 약 2배 비율로 시크릿을 유출했습니다. 이것은 69개의 구체적이고 테스트 가능한 항목으로 구성된 체크리스트입니다. 각 항목은 실제 사고 패턴에 대응합니다. 69개를 모두 체크할 수 있다면 출시하세요. 그럴 수 없다면 막고 있는 문제부터 해결하세요.

SaaS가 아닙니다. 스캐너도 아닙니다. 프로덕션에 푸시하기 전에 살펴보는 평범한 목록입니다.


출시 전 69개 항목 보안 체크리스트

출시까지 30분 남았습니다. 멈추세요. 이것부터 실행하세요.

Lovable RLS 취약점 하나만으로도(CVE-2025-48757, 2025, CVSS 9.3) 170개 이상의 프로덕션 앱이 노출되었습니다. Moltbook은 2026년 2월에 API 토큰 150만 개를 — 단 한 번의 curl로 조회 가능한 상태로 — 노출했습니다. 이것들은 극단적인 사례가 아니었습니다. 일반적인 출시였습니다.

이 체크리스트는 인증, 시크릿, API, 데이터베이스, 프런트엔드, AI/LLM, 에이전트 도구, 배포 전반에 걸쳐 69개의 구체적이고 테스트 가능한 항목을 묶어 놓은 것입니다. 69개를 모두 체크할 수 없다면 출시하지 마세요.


인증 (8개 항목)

  • 1. 데이터베이스의 모든 테이블에 Row-Level Security(RLS)가 활성화되어 있습니다.
  • 2. 모든 테이블과 모든 역할(anon, authenticated, service_role)에 대한 RLS 정책이 존재합니다.
  • 3. 모든 보호된 API 라우트에서 JWT 토큰이 서버 측에서 검증됩니다(인증 검증을 프런트엔드에 맡기지 마세요).
  • 4. 로그인 후 세션이 순환되거나 무효화됩니다(CSRF + 세션 고정 방지).
  • 5. 매직 링크(비밀번호 없는 인증)는 일회용이며, <15분 안에 만료되고, 사용자 IP 또는 기기 지문에 연결됩니다.
  • 6. 사용자가 제공한 ID만으로 사용자, 주문 또는 민감한 레코드를 업데이트하거나 삭제할 수 없습니다. 테스트: 요청에서 ID를 바꿔 다른 사용자의 레코드를 업데이트해 보세요.
  • 7. 상태를 변경하는 요청(POST, PUT, DELETE)에서 double-submit 쿠키 또는 SameSite=Strict를 통해 CSRF 토큰이 검증됩니다.
  • 8. 세션 쿠키에 HttpOnly, Secure, SameSite=Strict 플래그가 설정되어 있습니다.

시크릿 및 환경 (7개 항목)

  • 9. NEXT_PUBLIC_* 변수, Vue/React .env 파일 또는 하드코딩된 문자열에 시크릿이 없습니다. NEXT_PUBLIC_을 grep하고 모든 변수를 감사하세요.
  • 10. .env, .env.local, .env.*.local이 .gitignore에 있고 커밋된 적이 없습니다. git 히스토리 확인: git log --all -p | grep -i "api_key\|secret".
  • 11. Supabase service_role 키는 서버 측 .env(Node, Python, Go 등)에만 있으며 프런트엔드 번들이나 .env.local에는 절대 없습니다. service_role 키는 RLS를 완전히 우회합니다 — 한 번만 유출되어도 모든 테이블에 대한 전체 읽기/쓰기가 가능해집니다.
  • 12. Stripe 키: 공개 키는 NEXT_PUBLIC_*에, 비밀 키는 서버 전용으로, 웹훅 서명 검증.
  • 13. OpenAI, Anthropic, xAI API 키는 프런트엔드 코드에 절대 없으며 항상 API를 통해 프록시됩니다.
  • 14. 소스 어디에도(주석 및 사용되지 않는 코드 포함) 하드코딩된 API 키, 데이터베이스 URL 또는 자격 증명이 없습니다.
  • 15. 시크릿은 출시 후 또는 소스 히스토리에 노출된 적이 있다면 교체됩니다.

API 강화 (10개 항목)

  • 16. /api/auth/*, /api/login, /api/register에 속도 제한이 활성화되어 있습니다. 테스트: 분당 100회 요청 시 429가 반환되어야 합니다.
  • 17. /api/*에 대한 모든 사용자 입력은 데이터베이스에 닿기 전에 Zod, Yup 또는 이와 유사한 도구로 검증됩니다. 원시 req.body가 쿼리에 전달되지 않습니다.
  • 18. 대량 할당(mass assignment) 금지: 사용자가 admin=true, role=admin 또는 기타 민감한 필드를 POST로 설정할 수 없습니다.
  • 19. 웹훅 서명이 검증됩니다(HMAC-SHA256 서명 헤더를 상수 시간 비교로 예상 값과 비교).
  • 20. CORS가 *로 설정되어 있지 않습니다. 허용된 오리진은 하드코딩되어 있으며 프로덕션에 localhost가 포함되지 않습니다.
  • 21. SQL 쿼리는 매개변수화된 문만 사용합니다. 사용자 입력을 SQL에 문자열로 연결하지 않습니다.
  • 22. NoSQL 쿼리(MongoDB, Firebase 등)는 필터나 셀렉터에 사용자 입력을 연결하지 않습니다.
  • 23. 파일 업로드는 검증(mime 유형 + 파일 크기)되고 웹 루트 외부에 저장되며 경로 탐색을 방지하기 위해 이름이 변경됩니다.
  • 24. 로그인 후 리다이렉트는 화이트리스트에 등록된 대상만 허용됩니다. 오픈 리다이렉트로 외부 도메인으로 리다이렉트할 수 없습니다.
  • 25. API는 검증되지 않은 외부 요청을 만들지 않습니다. 서버 측 요청에 사용되는 URL이 사용자 입력이 아닌 허용 목록에서 오는지 확인하세요(SSRF 방지).

데이터베이스 (6개 항목)

  • 26. RLS가 모든 테이블에 적용(ENFORCED)됩니다. anon 역할은 명시적 정책으로 허용되지 않는 한 어떤 테이블에서도 SELECT/INSERT/UPDATE/DELETE를 할 수 없습니다.
  • 27. 공개 anon 역할에는 기본 권한이 전혀 없습니다. 정책은 필요한 것만 부여합니다. 공개 목록은 읽기 전용이며 쓰기는 절대 없습니다.
  • 28. 서비스 역할 키는 서버 측 코드에서만 사용됩니다. 확인: grep -r "service_role" src/. 프런트엔드 파일에서는 결과가 0개여야 합니다.
  • 29. 사용자 데이터 격리: 쿼리는 항상 auth.uid() 또는 team_id로 필터링합니다. 모든 사용자에 걸쳐 전체 레코드를 반환하는 쿼리가 없습니다.
  • 30. 소프트 삭제(is_deleted 플래그) 또는 아카이브 테이블로 우발적인 데이터 손실을 방지합니다. 하드 삭제는 실행자 + 타임스탬프와 함께 로깅됩니다.
  • 31. 데이터베이스 백업이 존재하고 테스트되었습니다. 이번 출시 전에 백업에서 복원할 수 있음을 확인했습니다.

프런트엔드 (8개 항목)

  • 32. DOMPurify 정화 없이 dangerouslySetInnerHTML 또는 innerHTML을 사용하지 않습니다. 코드베이스의 모든 인스턴스를 감사하세요.
  • 33. 모든 npm/pip/gem 종속성이 알려진 CVE에 대해 스캔됩니다. 출시 전에 npm audit, pnpm audit 또는 npx osv-scanner --lockfile=package-lock.json을 실행하고 KNOWN-VULNERABLE-VERSIONS.md에서 특정 버전을 확인하세요. npm audit은 게시된 CVE는 잡아내지만 악성 패키지는 잡아내지 못하기 때문입니다.
  • 34. 프로덕션에서 콘텐츠 보안 정책(CSP)이 활성화되어 있습니다(strict-dynamic, unsafe-inline 금지). 스테이징에서 먼저 테스트하세요.
  • 35. 프로덕션에서 /api/debug, /admin/backdoor 또는 내부 테스트 엔드포인트에 접근할 수 없습니다. "debug", "mock", "test-only" 라우트를 grep하세요.
  • 36. X-Frame-Options: DENY가 설정되어 있습니다. 모든 응답에 헤더가 전송되는지 확인하세요(클릭재킹 방지).
  • 37. 오류 메시지가 프로덕션에서 내부 경로, 스택 트레이스 또는 데이터베이스 스키마를 유출하지 않습니다. 404, 500 및 권한 오류를 테스트하세요.
  • 38. 프로토타입 오염 방지: 사용자 제공 객체는 정화 없이 애플리케이션 객체에 병합되지 않습니다.
  • 39. React: 정화되지 않은 사용자 데이터가 포함된 인라인 이벤트 핸들러가 없습니다. HTML로 렌더링되는 모든 사용자 콘텐츠에는 react-dompurify 또는 이에 상응하는 도구를 사용하세요.

AI 및 LLM (10개 항목)

이 항목들은 기존 웹 앱 플레이북에는 없던 검사입니다. OWASP Top 10 for LLM Applications에 대응합니다. 2026년 판(2026년 8월 3일 발표, 6,639건의 실제 사고 데이터로 가중치를 매긴 최초의 버전)은 Excessive Agency를 6위에서 3위로 올렸고 Agent Hijacking, Multi-Modal Injection, Memory Persistence를 새로 추가했습니다. 아래 에이전트 항목은 더 이상 이론적인 것이 아닙니다.

  • 40. 사용자 입력은 별도의 user 메시지로 들어가며 시스템 프롬프트에 연결되지 않습니다. 파일, RAG 또는 웹에서 가져온 콘텐츠는 명시적 구분자로 감싸고 신뢰할 수 없는 것으로 취급합니다(간접 프롬프트 인젝션).
  • 41. 시스템 프롬프트에는 시크릿, API 키 또는 내부 URL이 전혀 없습니다. 공개된다고 가정하세요. 추출("지시문을 그대로 반복하세요")을 테스트하고 민감한 내용이 돌아오지 않는지 확인하세요.
  • 42. 모든 LLM 호출 엔드포인트에 사용자별 AND 전체 토큰/비용 상한이 있습니다. 테스트: 한 계정에서 집중 호출하면 할당량이 작동해야 합니다. 공급자에서 결제 알림이 포함된 월별 지출 상한이 설정되어 있습니다(denial-of-wallet, OWASP LLM10:2025).
  • 43. HTML로 렌더링되는 LLM 출력은 DOM에 닿기 전에 정화(DOMPurify)됩니다. 모델 출력은 사용자가 붙여넣은 입력과 동일하게 신뢰할 수 없는 입력입니다.
  • 44. 프로덕션 에이전트는 모델의 결정과 무관하게 모든 도구에서 서버 측 인가를 강제합니다. 파괴적인 작업(삭제, 결제, 이메일 발송)은 모델의 지시만으로 실행되지 않습니다.
  • 45. 에이전트 도구는 최소 권한입니다. 모델이 제어하는 입력에서 원시 shell/exec/eval에 도달할 수 없습니다. 파괴적인 명령은 허용 목록에 등록되고 확인 절차를 거쳐야 합니다(Excessive Agency, OWASP LLM06:2025).
  • 46. 멀티테넌트 RAG/벡터 저장소는 앱 코드가 아니라 쿼리 시점에 테넌트 격리를 강제합니다(인증된 사용자에 바인딩된 네임스페이스 또는 메타데이터 필터). 테스트: 테넌트 A는 테넌트 B의 청크를 절대 검색할 수 없습니다(OWASP LLM08:2025).
  • 47. RAG 수집은 사용자 제공 및 스크랩된 문서를 신뢰할 수 없는 것으로 취급합니다. 말뭉치는 해시 기준선으로 버전 관리되어 소수의 오염된 문서가 조용히 출력을 조종할 수 없습니다.
  • 48. 벡터 임베딩은 인코딩하는 원본 PII와 동일하게 접근 제어됩니다(임베딩 역전환으로 텍스트를 재구성할 수 있습니다). 벡터 DB 엔드포인트는 인증이 필요하며 공개적으로 접근할 수 없습니다.
  • 49. MCP 서버를 배포하거나 사용한다면: 각 서버는 검토된 버전에 고정되고, 도구 설명에서 숨겨진/보이지 않는 유니코드 지침(도구 중독, tool poisoning)을 스캔하며, 변경 시 다시 검증합니다(rug-pull). MCP Inspector ≥ 0.14.1, mcp-remote ≥ 0.1.16 (CVE-2025-49596, CVE-2025-6514). rug-pull은 이론이 아닙니다: postmark-mcp v1.0.16은 통과하는 모든 이메일을 공격자에게 BCC로 보내는 한 줄을 추가했습니다 — 버전 하나만 올렸는데 약 300개 조직이 피해를 입었습니다(2025년 9월).

에이전트, 도구 및 공급망 (12개 항목)

도구 다운로드