影響
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 公開をチェックします。アクティブ ゲート プローブは、独立した同意ゲート型ワークフローのままです。
