GUIDE / PRE-RELEASE SECURITY

バイブコーディング製アプリの公開前セキュリティチェックリスト

動いているアプリを、公開しても守れる状態へ。公開前に確認する順番と、見つけたときの次の一手をまとめます。

結論:公開前は、秘密情報、環境とDB、認証・認可、個人情報、バックアップと復旧、ログと通知、引き継ぎ資料の7領域を、実際の設定と低権限の操作で確認してください。このページは確認項目を整理するもので、自動スキャンや正式な脆弱性診断、公開後の安全を保証するものではありません。

対象読者と前提条件

対象読者

  • AIやバイブコーディングで作ったアプリを公開したい人
  • 小さなチームで本番運用と引き継ぎを担う人
  • 何を確認すればよいかを整理したい担当者

前提条件

  • デプロイ先、設定項目名、ログやバックアップの場所を確認できること
  • 値そのものではなく、設定の有無と手順を確認すること
  • このチェックは自動スキャンや正式な脆弱性診断ではないこと

01 / SECRETS

秘密情報・APIキー

なぜ確認する?

コードやログに残ったキーは、リポジトリの閲覧者やログの閲覧者へ広がります。漏えい後の請求・不正利用を止めるには、発見だけでなく失効と更新まで必要です。

確認すること

  • リポジトリ、ビルドログ、エラーログに秘密の値がない
  • 本番の秘密は集中管理され、最小権限で参照される
  • 更新・失効の担当者と手順が決まっている

危険な状態

.env やソースへ値を直書きし、全員が同じ強いキーを使い、漏れたときにどこから止めるか分からない状態です。

見つけたら

公開を止め、キーを失効・再発行し、履歴とログから影響範囲を確認します。値そのものは共有せず、変数名と保管場所だけを記録します。

一次資料:OWASP Secrets Management Cheat Sheet

02 / DATABASE

環境・DB・接続権限

なぜ確認する?

開発中の操作が本番DBへ届くと、テストデータの投入や削除が事業データを壊します。接続情報だけでなく、DBユーザーの権限とネットワーク経路も対象です。

確認すること

  • 開発・検証・本番でDB、接続情報、アカウントが分かれている
  • アプリのDBユーザーが必要な操作だけを持つ
  • 本番データを使わずに検証できる

危険な状態

ローカルの設定を切り替え忘れると本番へ接続し、管理者権限の接続文字列が複数の場所に複製されている状態です。

見つけたら

環境ごとの接続を分離し、不要なアカウントと権限を削除します。安全なテスト用データを用意して、切り替え確認を手順化します。

一次資料:OWASP Database Security Cheat Sheet

03 / ACCESS CONTROL

認証・認可

なぜ確認する?

ログインできることと、対象データを操作できることは別です。画面でボタンを隠すだけでは、直接リクエストされた操作を止められません。

確認すること

  • 未ログイン、別利用者、低権限の3条件でサーバー側を試す
  • 対象IDを変えても他利用者のデータを読めない・変更できない
  • 認証失敗、セッション、パスワード再設定の扱いを確認する

危険な状態

フロントエンドだけで権限を判定し、APIが利用者と対象リソースの関係を検証していない状態です。

見つけたら

認証と認可の判定をサーバー側へ寄せ、利用者・対象・操作の組み合わせを拒否するテストを追加します。

一次資料:OWASP Authentication Cheat SheetOWASP IDOR Prevention Cheat Sheet

04 / PERSONAL DATA

個人情報と二次漏えい

なぜ確認する?

ログやエラー出力へ入力内容をそのまま記録すると、秘密や個人情報がログ閲覧者へ広がるおそれがあります。必要な事象を追跡しつつ、記録しないデータを先に決めます。

確認すること

  • 入力値や秘密をログ・エラー・分析イベントへ出力していない
  • ログへ必要な事象だけを記録し、値はマスキングしている
  • ログの閲覧権限と、不要なログを削除する手順を確認している

危険な状態

デバッグログへフォーム全体を出力し、マスキングされていない状態です。

見つけたら

入力・エラー・監査ログの各地点で記録しない項目を定義し、マスキングとアクセス制御を追加します。既存ログに含まれる値の扱いも確認します。

一次資料:OWASP Logging Cheat Sheet(ログへ記録しないデータの考え方)

05 / RECOVERY

バックアップ・復旧

なぜ確認する?

バックアップが「ある」だけでは、障害時に事業を戻せるとは限りません。復元できること、戻す順番、目標時間を事前に確認します。

確認すること

  • バックアップの頻度、保管先、保持期間、閲覧権限が決まっている
  • 実データを壊さない環境で復元テストを行っている
  • 復旧目標と連絡・判断の担当が決まっている

危険な状態

バックアップの成否を見ておらず、復元手順が担当者の記憶だけにあり、復旧時間の目安を説明できない状態です。

見つけたら

復元テストを実施し、結果と所要時間を記録します。復旧手順を短いチェックリストにし、変更後も再テストします。

一次資料:NIST SP 800-34 Rev.1(Contingency Planning Guide)

06 / LOGGING

ログ・監視・通知

なぜ確認する?

問題が起きた後に事実を追えなければ、影響範囲も復旧の判断もできません。記録する内容と、誰がいつ気づくかをセットで設計します。

確認すること

  • 認証・認可の失敗、重要操作、エラーを追跡できる
  • ログに秘密や個人情報を含めず、時刻・対象・結果が分かる
  • 異常を検知した通知先と、確認・対応の担当が決まっている

危険な状態

本番ログが無効で、エラーを画面に表示するだけ、または大量のログから重要な事象を見つけられない状態です。

見つけたら

重要操作のイベントを定義し、秘密を除いた構造化ログと通知条件を追加します。テストイベントで通知が届くことまで確認します。

一次資料:OWASP Logging Cheat Sheet

07 / HANDOVER

README・運用引き継ぎ

なぜ確認する?

作った本人しか分からない構成は、障害対応と権限管理のボトルネックになります。公開前に、別の人が安全に運用できる情報を残します。

確認すること

  • 構成、変数名、デプロイ、ロールバックの手順がある
  • 復旧、監視、連絡先、責任範囲、既知の制約を記録している
  • 秘密の値ではなく、保管場所と更新方法だけを示している

危険な状態

手順がチャットの断片に散らばり、停止・復旧・権限変更を誰も再現できない状態です。

見つけたら

READMEに「初回セットアップ」「通常運用」「障害時」「変更時」の4章を作り、作成者以外が手順を一度実行します。

復旧・継続運用の一次資料:NIST SP 800-34 Rev.1

NEXT STEP

不明な項目を、公開前に一緒に整理する

技術構成が分からない項目は「不明」のままで構いません。AI APP GUARDの無料チェックで、現状と不安点を受け付けます。

無料で危険度チェックする