AIで作ったアプリをハッキングから守るには?バイブコーディング公開前のセキュリティ対策9選
要点
AIで作ったアプリやバイブコーディング製のWebアプリを公開する前に確認したい9つの対策。APIキー、管理画面、DB権限、XSS、レート制限まで解説します。
AIでアプリを素早く作れても、公開前のセキュリティ確認は必要です。 自分でコードを書いた場合も、AIコーディング支援を使った場合も、バイブコーディングで作った場合も、確認すべきポイントは同じ。ここでは実務で使える9項目を紹介します。

「バイブコーディング」は、自然言語でAIに指示しながら開発する手法を指す言葉です。作り方を表す言葉であり、安全性を保証するものではありません。OWASP Top 10:2025でも、アクセス制御の不備、設定ミス、サプライチェーン、インジェクションが主要なリスクとして挙げられています。
1. Gitと公開ファイルに秘密情報が残っていないか
APIキー、DBパスワード、サービスロールキー、秘密鍵を、現在のコードだけでなくGitの履歴、public/、デプロイ成果物、古いZIPやバックアップから探します。漏えいした場合はファイルを消すだけで終わらせず、キーをローテーションして利用履歴を確認します。秘密情報はサーバー側のシークレット管理に置きましょう。ブラウザに公開するキーを使う場合は、権限設定が別途必要です。OWASPのシークレット管理ガイドも参照してください。
2. 管理画面とAPIのアクセス権限をサーバー側で確認する
管理画面へのリンクを隠すだけでは不正アクセス対策になりません。管理ページ、管理API、更新処理のそれぞれでログイン状態と管理者権限を確認します。一般ユーザーがURLを直接開いた場合や、APIのレコードIDを差し替えた場合も試しましょう。顧客ごとのデータには、オブジェクト単位の認可が必要です。

3. データベースのRLSと権限を点検する
ブラウザから接続するDBでは、公開される各テーブルの権限を確認します。必要なテーブルで行レベルセキュリティ(RLS)を有効にし、広すぎる公開権限を外して、未ログイン・一般ユーザー・管理者のそれぞれで読み書きをテストします。公開用APIキーがあることと、顧客データを公開してよいことは別です。SupabaseのRLSガイドは権限とポリシーの両方を確認する手順を示しています。
4. 決済・ウォレット・AI APIはサーバー側で守る
決済、残高、出金、送金では、呼び出し元の認証、対象データへの認可、金額と状態遷移の検証、重複実行を防ぐ仕組みが必要です。ブラウザから届いた残高や価格をそのまま信用してはいけません。レート制限と監査ログも用意します。AI APIの秘密鍵もフロントエンドに埋め込まず、サーバー経由で呼び出します。
5. フォーム入力を検証し、XSSを防ぐ
入力の長さや形式をサーバー側で検証し、想定外の項目を拒否します。投稿文や問い合わせ内容をHTMLやメールに表示するときは適切にエスケープし、リッチテキストは許可したタグとURLだけを残すサニタイズを行います。信頼できない文字列をinnerHTMLへ直接入れないことも重要です。詳しくはOWASPのXSS対策ガイドを参照してください。
6. 公開APIにレート制限を入れる
問い合わせフォーム、ログイン、AIチャット、パスワード再設定、メール送信は連続実行で悪用されがちです。アカウント、IP、セッション、操作内容に応じてサーバー側で回数を制限し、必要に応じてCAPTCHAも使います。画面上の送信ボタンを一時的に無効にするだけでは、APIへの直接アクセスを止められません。
7. 使っていないパッケージを削除し、依存関係を更新する
未使用パッケージを整理し、依存関係の脆弱性と更新履歴を確認します。AIが新しいライブラリを提案したときも、発行元、権限、インストール時のスクリプトまで点検します。OWASP Top 10:2025では、ソフトウェアのサプライチェーンに関する問題も独立した項目です。
8. 本番設定、CORS、セキュリティヘッダーを確認する
公開前にデバッグ表示やテストアカウントを無効にします。CORSは必要な送信元だけに絞り、バックアップやソースマップが公開されていないか確認しましょう。適切なレスポンスヘッダーも設定します。ローカル環境だけでなく、本番URLでの動作確認が欠かせません。
9. 認証基盤とパスワードの扱いを見直す
実績のある認証サービスを優先しましょう。自分でパスワードを保存する場合は、個別のソルトと適切な計算コストを備えた専用のハッシュ方式を使い、平文や高速な汎用ハッシュで保存しないこと。管理者には多要素認証を設定し、パスワード再設定と権限変更後のセッションも点検します。

公開前に試したいこと
未ログイン、一般ユーザー、管理者の3つの立場でアプリを操作します。APIへの直接リクエスト、他人のデータID、HTMLに見える入力を試し、DBが権限のないアクセスを拒否するか確認しましょう。修正後の再テストと人によるレビューも必要です。国内向けにはIPAのAIセキュリティ情報も参考になります。
AIで作ったアプリの公開前チェックをご希望なら、当社へご相談ください。