FixVibe
Covered by FixVibehigh

Vibe コード化されたアプリの保護: 機密漏洩とデータ漏洩の防止

AI 支援開発、または「バイブコーディング」では、多くの場合、セキュリティのデフォルトよりも速度と機能が優先されます。この調査では、開発者が自動スキャンとプラットフォーム固有のセキュリティ機能を使用して、ハードコードされた資格情報や不適切なデータベース アクセス制御などのリスクを軽減する方法を検討します。

CWE-798CWE-284

影響

AI で生成されたアプリケーションの保護に失敗すると、機密インフラストラクチャの認証情報やプライベート ユーザー データが漏洩する可能性があります。秘密が漏洩すると、攻撃者はサードパーティのサービスや内部システム [S1] に完全にアクセスできるようになります。行レベル セキュリティ (RLS) などの適切なデータベース アクセス制御がなければ、どのユーザーでも他の [S5] に属するデータのクエリ、変更、削除ができる可能性があります。

根本原因

AI コーディング アシスタントは、環境固有のセキュリティ構成 [S3] が常に含まれるとは限らないパターンに基づいてコードを生成します。これにより、多くの場合、次の 2 つの主要な問題が発生します。

  • ハードコードされたシークレット: AI は、開発者が誤ってバージョン管理 [S1] にコミットした API キーまたはデータベース URL のプレースホルダー文字列を提案する場合があります。
  • アクセス制御の欠落: Supabase のようなプラットフォームでは、デフォルトで行レベル セキュリティ (RLS) が有効にならない状態でテーブルが作成されることが多く、データ レイヤー [S5] を保護するには明示的な開発者のアクションが必要です。

具体的な修正

シークレットスキャンを有効にする

自動ツールを利用して、トークンや秘密キーなどの機密情報のリポジトリ [S1] へのプッシュを検出し、防止します。これには、既知のシークレット パターン [S1] を含むコミットをブロックするプッシュ保護の設定が含まれます。

行レベルのセキュリティを実装する (RLS)

Supabase または PostgreSQL を使用する場合は、機密データ [S5] を含むすべてのテーブルで RLS が有効になっていることを確認してください。これにより、クライアント側のキーが侵害された場合でも、データベースはユーザーの ID [S5] に基づいてアクセス ポリシーを適用することが保証されます。

コードスキャンを統合する

自動コード スキャンを CI/CD パイプラインに組み込んで、ソース コード [S2] 内の一般的な脆弱性とセキュリティ構成ミスを特定します。 Copilot Autofix などのツールは、安全な代替コード [S2] を提案することで、これらの問題の修復を支援します。

FixVibe がそれをテストする方法

FixVibe は、複数のライブ チェックを通じてこれをカバーするようになりました。

  • リポジトリ スキャン: repo.supabase.missing-rls は、Supabase SQL 移行ファイルを分析し、一致する ENABLE ROW LEVEL SECURITY 移行 [S5] なしで作成されたパブリック テーブルにフラグを立てます。
  • パッシブ シークレットと BaaS チェック: FixVibe は、同一生成元の JavaScript バンドルをスキャンして、漏洩したシークレットと Supabase 構成の露出 [S1] を探します。
  • 読み取り専用 Supabase RLS 検証: baas.supabase-rls は、顧客データを変更せずに、デプロイされた Supabase REST 公開をチェックします。アクティブ ゲート プローブは、独立した同意ゲート型ワークフローのままです。