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
認証と認可脆弱性スキャナーコード分析構成監査クラウドセキュリティDevSecOpsシークレット検出設定ミス学習と教育AIセキュリティデータベースセキュリティ
415175ヶ月前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
GitHub
farenhytee/database-sentinel

database-sentinel

プロジェクトのRLS設定ミス、露出したキー、認証バイパス、ストレージの脆弱性を監査するClaude Skill。CVE-2025-48757と10件のセキュリティ研究に由来する27のアンチパターン。本番環境でも安全に使用できます。

リポジトリを見る

🛡️ Database Sentinel

データベースバックエンドのセキュリティ脆弱性を監査するClaudeスキル。

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年のvibe-coding調査に基づく
  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 (単一バックエンド) でした。名称変更はマルチバックエンド拡張のフェーズ1中に行われました。compat/supabase-sentinel/にある後方互換シムにより、少なくとも次のマイナーリリースまでは旧スキル名が維持されます — 既存ユーザーは後退を経験しません。


クイックスタート

オプション1: Claude Code / Cursor

スキルをプロジェクトのスキルディレクトリ、または中央のディレクトリにクローンします:

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

次にClaudeに依頼します:

Audit my database

Database Sentinelは、プロジェクトが使用するバックエンドを検出し、関連する監査を実行して、統合レポートを生成します。複数のバックエンドが存在する場合 (Firebase Auth + Postgresデータなど)、フェーズ6の実装後にはレポートにクロスバックエンド相互作用セクションが含まれます。

オプション2: 単一バックエンドの呼び出し

特定のバックエンドのみを監査したい場合は、明示的に依頼します:

Audit my Supabase project
Audit my MongoDB instance

ディスパッチャーがスコープを絞り込みます。

オプション3: 手動 (任意のAIアシスタント)

SKILL.mdの内容と関連するbackends/<name>/workflow.mdをシステムプロンプトにコピーします。認証情報を使って7つのステップを実行します。


検出できる問題

Supabase (フェーズ1) — 27パターン

重大度パターン内容
🔴 重大SB-001 RLS_DISABLED行レベルセキュリティ (RLS) がないテーブル — インターネットに完全に露出
🔴 重大SB-002 SERVICE_ROLE_EXPOSEDフロントエンドコード内のservice_roleキー — すべてのセキュリティをバイパス
🔴 重大SB-003 POLICIES_BUT_NO_RLSポリシーは作成済みだがRLSが有効化されていない — 偽りのセキュリティ
🔴 重大SB-005 WRITE_USING_TRUEUSING(true)を使用したINSERT/UPDATE/DELETE — 誰でも変更可能
🟠 高SB-006 USING_TRUE_SELECT機密テーブルの全行が匿名ユーザーに読み取り可能
🟠 高SB-007 VIEW_NO_SECURITY_INVOKERビューがRLSをバイパスし、スーパーユーザーとして実行
🟠 高SB-008 SECURITY_DEFINER_EXPOSEDpublicスキーマ内の関数がRLSをバイパスし、API経由で呼び出し可能
🟠 高SB-009 USER_METADATA_IN_POLICYポリシーがユーザー変更可能なメタデータを参照 — 権限昇格
🟠 高SB-010 UPDATE_NO_WITHCHECKWITH CHECKのないUPDATEポリシー — マスアサインメントのリスク
🟠 高SB-011 GHOST_AUTH未確認メールでの登録が認証済みセッションを付与
🟠 高SB-012 STORAGE_NO_RLSアクセス制御ポリシーのないストレージバケット
🟠 高SB-013 JWT_SECRET_EXPOSEDJWT署名シークレットの漏洩 — 任意のユーザーのトークンを偽造可能
🟡 中+ さらに15パターンbackends/supabase/anti-patterns.mdを参照

MongoDB (フェーズ2) — 20パターン

重大度パターン内容
🔴 重大MG-SH-001 MongoBleed (CVE-2025-14847、CISA KEV)巧妙に細工された圧縮パケットによる認証前のヒープメモリ開示。開示時点で約87Kインスタンスが露出。
🔴 重大MG-SH-002 認証無効認証なしで実行されているmongod — Meowランサムウェアの攻撃対象
🔴 重大MG-SH-003 インターネット公開mongod--bind_ip_all + 27017に到達可能 — MG-SH-002と組み合わせると完全に侵害
🔴 重大MG-AT-001 Atlas許可リスト 0.0.0.0/0インターネット上のどこからでも到達可能なAtlasクラスター
🟠 高MG-SH-004 localhost認証バイパス + コンテナ実行enableLocalhostAuthBypassがtrue + docker execアクセス
🟠 高MG-SH-005 サーバーサイドJS有効$where / $function / mapReduceに到達可能 — NoSQL-RCEの攻撃面
🟠 高MG-SH-006 TLS不要ネットワーク上の平文トラフィック
🟠 高MG-SH-007 アプリユーザーへの特権ロールアプリがroot / dbAdminAnyDatabase などで接続
🟠 高MG-SH-008 自己変更可能なロールドキュメントfindByIdAndUpdate(id, req.body) + バリデータなし + roleフィールド
🟠 高MG-AT-002 Atlas FunctionのDBパススルーHTTPS経由のNoSQLインジェクション — Data API廃止後に拡散
🟠 高MG-AT-003 コード内に残るAtlas Data API2025年9月30日に非推奨化。壊れている上、監査が甘いFunctionsに移行されている可能性が高い
🟡 中MG-SH-009 Mongoose < 8.9.5CVE-2024-53900 / CVE-2025-23061 — populate-match $whereインジェクション
🟡 中+ さらに8パターンbackends/mongodb/anti-patterns.mdを参照

MongoBleedネットワークプローブ (backends/mongodb/mongobleed-probe.md) には、実行時に悪用可能性を確認する単一パケット検出器が同梱されています — mongo:7.0.20 (脆弱) とmongo:7.0.28 (パッチ適用済み) で検証済み。読み取り専用で、2つのオプトイン確認の背後にゲートされており、コンテンツを抽出することはありません。


出力例

╔════════════════════════════════════════════════════════╗
║                  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

ファイル構成

ツールをダウンロード