Arvix-Web

AIコード検証 / 2026/04/28 更新

AI生成コードを本番投入する前のチェックリスト

AIが生成したコードを本番投入前に確認するための、Next.js / Firebase / Stripe想定の実務チェックリストです。

検証・確認方針

最終更新日: 2026/04/28。料金・仕様・利用条件は変わるため、重要な判断の前に公式情報と実測結果を確認してください。広告リンクがある場合も、評価理由と注意点は分けて明示します。

更新日

2026/04/28

読了目安

12分

参照リンク

4件

確認方針

公式情報を重視

料金・仕様・利用条件は変更される可能性があります。契約や導入判断の前に、各公式ページで最新情報を確認してください。

この記事で分かること

先に要点を確認する

確認チェックリストを使う
想定利用者
AIが生成・修正したコードを本番投入する前に確認したい人
確認軸
build、型、認証、認可、環境変数、Webhook、ログ、依存関係
先に見る結論
AI出力の採用前に、人間が差分・権限・秘密情報・外部連携を確認する

この記事の判断ポイント

  • buildが通っても、認可や秘密情報の漏えいは別途確認する
  • StripeやFirebaseなど外部連携は、公式仕様と実装を照合する
  • AIが追加した依存関係や大規模リファクタをそのまま採用しない

AI生成コードは開発を速くしますが、本番投入の責任までAIに移るわけではありません。特に認証、認可、環境変数、外部API、決済、ログ、エラー表示は、人間が確認してから公開する必要があります。

このチェックリストの位置づけ

これは正式なセキュリティ監査の代替ではありません。個人開発や小規模サービスで最低限の抜け漏れを減らすための確認表です。決済、医療、金融、個人情報を扱う場合は専門家レビューを優先してください。

まず実行するコマンド

本番前に最低限見るコマンド

確認コマンド例見ること
型チェックnpm run typecheckanyで逃げていないか、型の不整合が残っていないか
本番ビルドnpm run buildNext.jsのページ生成、metadata、Route Handlerで失敗しないか
ローカル表示npm run devスマホ幅、リンク、フォーム、記事本文の崩れがないか
依存関係npm ls または package.json確認AIが不要なライブラリを追加していないか

本番投入前チェックリスト

  • buildとtypecheckが通る
  • 環境変数やAPIキーをクライアント側へ出していない
  • 認証済みユーザーと未認証ユーザーの権限差を確認した
  • Firestore RulesやAPI Routeでサーバー側の認可をしている
  • StripeなどのWebhookでは署名検証を行っている
  • フォームには入力検証、レート制限、エラー時の安全な表示がある
  • AIが追加した依存関係を確認した
  • エラー時に個人情報や内部情報を表示しない
  • ログに秘密情報や個人情報を残していない
  • 削除・更新処理に本人確認または権限確認がある

Next.jsで特に見るところ

Next.js App Routerで起きやすい問題

対象確認すること危険な例
Client Componentuse clientが必要なファイルだけに付いているかエラー回避のためにページ全体をClient Component化する
Server Componentサーバー専用処理をクライアントへ渡していないかFirestore Adminや秘密鍵をClient Componentへimportする
metadatametadata exportやgenerateMetadataの位置が正しいかuse clientファイルでmetadataをexportする
Route HandlerPOST/GETの入力検証とエラー処理があるか受け取った値をそのままDBへ保存する
外部リンクtarget blankにはrel属性を付ける広告リンクや外部リンクの意図が分からない

Firebaseで特に見るところ

Firebase / Firestoreの確認例

対象確認すること危険な例
Firestore RulesユーザーIDやロールで読み書きを制御しているかフロントのif文だけで編集ボタンを隠す
Storage Rulesアップロード可能なユーザー・サイズ・形式を制限しているか誰でも任意ファイルをアップロードできる
クエリ必要なindexと権限が揃っているかエラーを避けるために読み取り権限を広げる
Admin SDKサーバー側だけで使っているかprivate keyをフロントへ混ぜる

Stripeや課金処理で特に見るところ

  • Webhook署名検証をしている
  • 支払い成功だけでなく失敗・キャンセル・返金を想定している
  • クライアントから送られた金額やプラン名をそのまま信用していない
  • subscription状態をサーバー側で保存している
  • 同じWebhookイベントが再送されても二重処理しにくい
  • 権限付与と決済状態の同期に失敗した時の復旧手順がある

根拠レベル:

AI生成かどうかに関係なく確認すべき領域

OWASP Top 10が扱う認可、認証、入力検証、セキュアな設計の観点は、AI生成コードでも手書きコードでも重要です。AI生成コードでは、実装者が理解しないまま採用しやすいため、確認表として残す意味があります。

AIに再レビューさせるときのプロンプト

本番投入前レビュー用プロンプト

次の差分を本番投入前レビューしてください。認証、認可、環境変数、Webhook、入力検証、ログ、エラー表示、不要な依存関係、Next.js App Routerのルール違反を優先して確認し、重大度順に指摘してください。推測で断定せず、確認が必要な点は“要確認”と書いてください。

公開判断の目安

公開してよい状態とは、“AIが良さそうなコードを出した状態”ではなく、“人間が差分を読み、公式仕様と照合し、build・型・権限・外部連携の確認を終えた状態”です。小さな個人サイトでも、認可と秘密情報の確認だけは後回しにしない方が安全です。

本文の確認リンク

料金・機能・利用条件は変更されるため、導入前に公式ページで再確認してください。

よくある質問

このチェックリストだけでセキュリティ監査は十分ですか?

十分ではありません。決済、医療、金融、個人情報を扱う場合は専門家レビューや正式なセキュリティ監査を優先してください。

AI生成コードだけが危険なのですか?

いいえ。手書きコードでも同じ確認は必要です。AI生成コードでは、実装者が理解しないまま採用しやすい点に追加の注意が必要です。

まず何から確認すべきですか?

build、typecheck、環境変数、認可、Webhook署名検証、ログの扱いを優先します。特に秘密情報と権限まわりは後回しにしない方が安全です。

次に読むページ