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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
database-sentinel — 프로젝트의 RLS 잘못된 구성, 노출된 키, 인증 우회, 스토리지 취약점을 감사하는 Claude Skill입니다. CVE-2025-48757 및 10건의 보안 연구에서 도출된 27가지 안티 패턴입니다. 프로덕션 환경에서 안전합니다. | Kitploit
도구/GitHubGitHub/farenhytee/database-sentinel
Authentication & AuthorizationVulnerability ScannersCode AnalysisConfiguration AuditingCloud SecurityDevSecOpsSecret DetectionMisconfigurationLearning & EducationAI SecurityDatabase Security
415175개월 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
GitHub
farenhytee/database-sentinel

database-sentinel

프로젝트의 RLS 잘못된 구성, 노출된 키, 인증 우회, 스토리지 취약점을 감사하는 Claude Skill입니다. CVE-2025-48757 및 10건의 보안 연구에서 도출된 27가지 안티 패턴입니다. 프로덕션 환경에서 안전합니다.

저장소 보기

🛡️ Database Sentinel

데이터베이스 백엔드의 보안 취약점을 감사하는 Claude Skill입니다.

Claude Code, Cursor 또는 Claude 기반 환경에 넣기만 하세요. "audit my database"라고 말하면 정확한 수정 코드가 포함된 종합 보안 보고서를 단 며칠이 아닌 몇 분 만에 받을 수 있습니다.

170개 이상의 Lovable 앱이 침해되었습니다. YC 스타트업 전반에서 2,010만 개의 행이 노출되었습니다. 약 87,000개의 MongoDB 인스턴스가 MongoBleed(CVE-2025-14847, CISA KEV)에 취약한 상태로 남아 있었습니다. 2025년 단일 사고로 180만 개의 Firebase 비밀번호가 유출되었습니다. AI 생성 코드의 45%가 OWASP Top 10 취약점을 유발합니다. Database Sentinel은 보안 구성이 실제로 작동하는지 — 단순히 존재하는지만이 아니라 — 테스트합니다.


기능

Database Sentinel은 프로젝트에서 사용하는 백엔드에 대해 7단계 보안 감사를 수행합니다:

  1. 사용 중인 백엔드 탐지 (Supabase, Firebase, MongoDB, 자체 호스팅 Postgres / MySQL)
  2. 코드베이스 스캔 — 노출된 자격 증명, 하드코딩된 키, git 내 비밀 탐색
  3. 각 백엔드 인트로스펙션 — 스키마, 정책, 규칙, 사용자, 역할, 구성
  4. 발견 사항을 백엔드별 안티패턴 카탈로그와 매칭 — CVE, 침해 보고서, CIS 벤치마크, 2025–2026 바이브 코딩 연구 소스
  5. 안전한 프리미티브로 동적 프로빙 (tx=rollback, 카나리 컬렉션, 옵트인 MongoBleed 탐지기)
  6. 점수화된 보안 보고서 생성 — 평이한 설명과 구체적인 공격자 시나리오 포함
  7. 정확한 수정 코드 생성 — SQL DDL, 규칙 파일, 구성 diff, Terraform — 복사, 붙여넣기, 끝

크로스 백엔드 추론은 단일 백엔드 스캐너가 놓치는 문제를 포착합니다 (예: JWT 검증 없이 Postgres API가 신뢰하는 Firebase Auth UID).


상태

단계백엔드상태
1Supabase✅ 구현됨
2MongoDB (자체 호스팅 + Atlas)✅ 구현됨
3Firebase (Firestore / RTDB / Storage / Functions / Remote Config)🚧 계획됨
4PostgreSQL (자체 호스팅, pgBouncer 포함)🚧 계획됨
5MySQL (자체 호스팅)🚧 계획됨
6크로스 백엔드 상호작용 분석🚧 계획됨
7배포 + 다듬기🚧 계획됨

Database Sentinel은 이전에 Supabase Sentinel(단일 백엔드)이었습니다. 멀티 백엔드 확장의 Phase 1 중에 이름이 변경되었습니다. compat/supabase-sentinel/의 하위 호환 셰임이 최소 다음 마이너 릴리스까지 기존 스킬 이름을 유지합니다 — 기존 사용자는 회귀가 없습니다.


빠른 시작

옵션 1: Claude Code / Cursor

스킬을 프로젝트의 skills 디렉토리 또는 중앙 디렉토리에 클론하세요:

git clone https://github.com/Farenhytee/database-sentinel.git ~/claude-skills/database-sentinel

그런 다음 Claude에게 요청하세요:

Audit my database

Database Sentinel은 프로젝트가 사용하는 백엔드를 감지하고 관련 감사를 실행한 후 통합 보고서를 생성합니다. 여러 백엔드가 존재하는 경우(Firebase Auth + Postgres 데이터 등), 보고서에는 Phase 6가 완료되면 크로스 백엔드 상호작용 섹션이 포함됩니다.

옵션 2: 단일 백엔드 호출

특정 백엔드만 감사하려면 명시적으로 요청하세요:

Audit my Supabase project
Audit my MongoDB instance

디스패처가 범위를 좁힙니다.

옵션 3: 수동 (모든 AI 어시스턴트)

SKILL.md 내용과 해당 backends/<name>/workflow.md를 시스템 프롬프트에 복사하세요. 자격 증명으로 7단계를 진행하세요.


탐지하는 항목

Supabase (Phase 1) — 27개 패턴

심각도패턴설명
🔴 CRITICALSB-001 RLS_DISABLEDRow-Level Security가 없는 테이블 — 인터넷에 완전히 노출됨
🔴 CRITICALSB-002 SERVICE_ROLE_EXPOSED프론트엔드 코드의 service_role 키 — 모든 보안 우회
🔴 CRITICALSB-003 POLICIES_BUT_NO_RLS정책은 작성되었지만 RLS가 활성화되지 않음 — 가짜 보안
🔴 CRITICALSB-005 WRITE_USING_TRUEUSING(true)가 있는 INSERT/UPDATE/DELETE — 누구나 수정 가능
🟠 HIGHSB-006 USING_TRUE_SELECT민감한 테이블의 모든 행을 익명 사용자가 읽을 수 있음
🟠 HIGHSB-007 VIEW_NO_SECURITY_INVOKER뷰가 RLS를 우회하고 superuser로 실행됨
🟠 HIGHSB-008 SECURITY_DEFINER_EXPOSEDpublic 스키마의 함수가 RLS를 우회하고 API로 호출 가능
🟠 HIGHSB-009 USER_METADATA_IN_POLICY정책이 사용자 수정 가능 메타데이터를 참조 — 권한 상승
🟠 HIGHSB-010 UPDATE_NO_WITHCHECKWITH CHECK가 없는 UPDATE 정책 — 대량 할당 위험
🟠 HIGHSB-011 GHOST_AUTH확인되지 않은 이메일 가입이 인증된 세션을 부여함
🟠 HIGHSB-012 STORAGE_NO_RLS스토리지 버킷에 액세스 제어 정책 누락
🟠 HIGHSB-013 JWT_SECRET_EXPOSEDJWT 서명 시크릿 유출 — 모든 사용자의 토큰 위조 가능
🟡 MEDIUM+ 15개 추가 패턴backends/supabase/anti-patterns.md 참조

MongoDB (Phase 2) — 20개 패턴

심각도패턴설명
🔴 CRITICALMG-SH-001 MongoBleed (CVE-2025-14847, CISA KEV)조작된 압축 패킷을 통한 인증 전 힙 메모리 노출. 공개 당시 약 87K 인스턴스 노출.
🔴 CRITICALMG-SH-002 인증 비활성화인증 없이 실행되는 mongod — Meow 랜섬웨어 공격 표면
🔴 CRITICALMG-SH-003 인터넷 노출 mongod--bind_ip_all + 27017 도달 가능 — MG-SH-002와 결합 시 완전한 침해
🔴 CRITICALMG-AT-001 Atlas 허용 목록 0.0.0.0/0Atlas 클러스터가 인터넷 어디에서나 도달 가능
🟠 HIGHMG-SH-004 localhost 인증 우회 + 컨테이너 execenableLocalhostAuthBypass true + docker exec 액세스
🟠 HIGHMG-SH-005 서버 사이드 JS 활성화$where / $function / mapReduce 도달 가능 — NoSQL-RCE 표면
🟠 HIGHMG-SH-006 TLS 미필수와이어 상 평문 트래픽
🟠 HIGHMG-SH-007 앱 사용자의 권한 있는 역할앱이 root / dbAdminAnyDatabase 등으로 연결
🟠 HIGHMG-SH-008 자체 수정 가능 역할 문서findByIdAndUpdate(id, req.body) + 검증기 없음 + 역할 필드
🟠 HIGHMG-AT-002 DB 패스스루 역할의 Atlas FunctionHTTPS를 통한 NoSQL 인젝션 — Data API 폐지 이후 확산
🟠 HIGHMG-AT-003 코드에 남은 Atlas Data API2025년 9월 30일 폐지; 손상되었고 덜 감사되는 Functions로 교체되었을 가능성
🟡 MEDIUMMG-SH-009 Mongoose < 8.9.5CVE-2024-53900 / CVE-2025-23061 — populate-match $where 인젝션
🟡 MEDIUM+ 8개 추가 패턴backends/mongodb/anti-patterns.md 참조

MongoBleed 네트워크 프로브(backends/mongodb/mongobleed-probe.md)는 런타임 시 악용 가능성을 확인하는 단일 패킷 탐지기를 제공합니다 — mongo:7.0.20(취약) 및 mongo:7.0.28(패치됨)에서 검증됨. 읽기 전용이며 두 번의 옵트인 확인 뒤에 있으며 콘텐츠를 추출하지 않습니다.


출력 예시

╔════════════════════════════════════════════════════════╗
║                  SENTINEL SECURITY AUDIT               ║
╠════════════════════════════════════════════════════════╣
║  Backends:   supabase, mongodb                         ║
║  Scanned:    2026-04-30 14:30 UTC                      ║
║  Score:      0/100 🔴                                  ║
║  Summary:    2 backends, 8 findings (3C / 4H / 1M)     ║
╚════════════════════════════════════════════════════════╝

─────────────────────────────────────────────────────────
  Supabase                                       35/100 🔴
─────────────────────────────────────────────────────────

🔴 CRITICAL — public.users: RLS Disabled                  [SB-001]

  Risk:     Anyone on the internet can read your entire users table.
  Attack:   Open browser DevTools → copy anon key → curl the API → dump
            all emails, names, and metadata.
  Proof:    curl returns [{"id":"...","email":"[email protected]",...}]
  Source:   CVE-2025-48757 / Splinter 0013_rls_disabled_in_public

  Fix:
  ALTER TABLE public.users ENABLE ROW LEVEL SECURITY;

  CREATE POLICY "users_select_own"
    ON public.users FOR SELECT TO authenticated
    USING ((SELECT auth.uid()) = id);

─────────────────────────────────────────────────────────
  MongoDB                                         0/100 🔴
─────────────────────────────────────────────────────────

🔴 CRITICAL — mongod 7.0.20: MongoBleed (CVE-2025-14847)  [MG-SH-001]

  Risk:     A single TCP packet leaks fragments of MongoDB's memory —
            including credentials, queries, and document data — without
            requiring any login.
  Attack:   Public PoC available since Dec 26 2025; CISA KEV. Repeated
            requests progressively dump more of the working set.
  Proof:    buildInfo.version = "7.0.20" (vulnerable; patched in 7.0.28)
            zlib compression enabled (default): true
            Active probe returned: vulnerable (opCode=2012, 163 bytes)
  Source:   CVE-2025-14847 / CISA KEV / MongoDB Server Security Update Dec 2025

  Fix:
  Upgrade to 7.0.28+. Same-day mitigation if upgrade is blocked:
  net.compression.compressors = "snappy,zstd"  in mongod.conf

✅ PASSING — Supabase: orders, payments, invoices, subscriptions

파일 구조

도구 다운로드