---
title: "AIで作ったアプリをハッキングから守るには？バイブコーディング公開前のセキュリティ対策9選"
description: "AIで作ったアプリ・バイブコーディング製Webアプリの公開前に確認したいセキュリティ対策9選。APIキー、管理画面、DBのRLS、XSS、レート制限を解説。"
canonical: https://itsupportintokyo.com/ja/blog/how-to-secure-ai-built-vibe-coded-app
language: ja-JP
published: 2026-10-28T00:00:00.000Z
modified: 2026-10-28T00:00:00.000Z
author: "IT Support in Tokyo Team"
keywords: "AIで作ったアプリ セキュリティ, バイブコーディング セキュリティ対策, AI生成コード 脆弱性, アプリ 公開前 チェック, APIキー 漏えい対策, 管理画面 不正アクセス対策, XSS対策"
image: https://itsupportintokyo.com/article-assets/secure-ai-api-keys-tokens-hero.webp
translations: ["https://itsupportintokyo.com/en/blog/how-to-secure-ai-built-vibe-coded-app"]
---

# AIで作ったアプリをハッキングから守るには？バイブコーディング公開前のセキュリティ対策9選

> AIで作ったアプリ・バイブコーディング製Webアプリの公開前に確認したいセキュリティ対策9選。APIキー、管理画面、DBのRLS、XSS、レート制限を解説。

**AIでアプリを素早く作れても、公開前のセキュリティ確認は必要です。** 自分でコードを書いた場合も、AIコーディング支援を使った場合も、バイブコーディングで作った場合も、確認すべきポイントは同じ。ここでは実務で使える9項目を紹介します。

![AIアプリのAPIキーとクラウド権限を確認するセキュリティチーム](/article-assets/secure-ai-api-keys-tokens-hero.webp)

ブラウザ、公開ファイル、API、管理画面、データベースから確認します。

「**バイブコーディング**」は、自然言語でAIに指示しながら開発する手法を指す言葉です。作り方を表す言葉であり、安全性を保証するものではありません。[OWASP Top 10:2025](https://top10.owasp.org/2025/)でも、アクセス制御の不備、設定ミス、サプライチェーン、インジェクションが主要なリスクとして挙げられています。

## 1. Gitと公開ファイルに秘密情報が残っていないか

APIキー、DBパスワード、サービスロールキー、秘密鍵を、現在のコードだけでなくGitの履歴、`public/`、デプロイ成果物、古いZIPやバックアップから探します。漏えいした場合はファイルを消すだけで終わらせず、キーをローテーションして利用履歴を確認します。秘密情報はサーバー側のシークレット管理に置きましょう。ブラウザに公開するキーを使う場合は、権限設定が別途必要です。[OWASPのシークレット管理ガイド](https://cheatsheetseries.owasp.org/cheatsheets/Secrets_Management_Cheat_Sheet.html)も参照してください。

## 2. 管理画面とAPIのアクセス権限をサーバー側で確認する

管理画面へのリンクを隠すだけでは不正アクセス対策になりません。管理ページ、管理API、更新処理のそれぞれでログイン状態と管理者権限を確認します。一般ユーザーがURLを直接開いた場合や、APIのレコードIDを差し替えた場合も試しましょう。顧客ごとのデータには、[オブジェクト単位の認可](https://owasp.org/API-Security/editions/2023/en/0xa1-broken-object-level-authorization/)が必要です。

![AIチャットボット管理画面のアクセス権限を点検するイメージ](/article-assets/ai-chatbot-weak-admin-access-incident.webp)

画面だけでなく、データを読み書きする場所でも権限を確認します。

## 3. データベースのRLSと権限を点検する

ブラウザから接続するDBでは、公開される各テーブルの権限を確認します。必要なテーブルで行レベルセキュリティ（RLS）を有効にし、広すぎる公開権限を外して、未ログイン・一般ユーザー・管理者のそれぞれで読み書きをテストします。公開用APIキーがあることと、顧客データを公開してよいことは別です。[SupabaseのRLSガイド](https://supabase.com/docs/guides/database/postgres/row-level-security)は権限とポリシーの両方を確認する手順を示しています。

## 4. 決済・ウォレット・AI APIはサーバー側で守る

決済、残高、出金、送金では、呼び出し元の認証、対象データへの認可、金額と状態遷移の検証、重複実行を防ぐ仕組みが必要です。ブラウザから届いた残高や価格をそのまま信用してはいけません。レート制限と監査ログも用意します。AI APIの秘密鍵もフロントエンドに埋め込まず、サーバー経由で呼び出します。

![認証、API、データ、レビューの多層防御を示す図](/article-assets/ai-app-security-layers.svg)

ログイン画面だけでは、APIやDBのアクセス制御は完成しません。

## 5. フォーム入力を検証し、XSSを防ぐ

入力の長さや形式をサーバー側で検証し、想定外の項目を拒否します。投稿文や問い合わせ内容をHTMLやメールに表示するときは適切にエスケープし、リッチテキストは許可したタグとURLだけを残すサニタイズを行います。信頼できない文字列を`innerHTML`へ直接入れないことも重要です。詳しくは[OWASPのXSS対策ガイド](https://cheatsheetseries.owasp.org/cheatsheets/Cross_Site_Scripting_Prevention_Cheat_Sheet.html)を参照してください。

## 6. 公開APIにレート制限を入れる

問い合わせフォーム、ログイン、AIチャット、パスワード再設定、メール送信は連続実行で悪用されがちです。アカウント、IP、セッション、操作内容に応じてサーバー側で回数を制限し、必要に応じてCAPTCHAも使います。画面上の送信ボタンを一時的に無効にするだけでは、APIへの直接アクセスを止められません。

## 7. 使っていないパッケージを削除し、依存関係を更新する

未使用パッケージを整理し、依存関係の脆弱性と更新履歴を確認します。AIが新しいライブラリを提案したときも、発行元、権限、インストール時のスクリプトまで点検します。OWASP Top 10:2025では、ソフトウェアのサプライチェーンに関する問題も独立した項目です。

![秘密情報、権限、依存関係の確認項目を示す図](/article-assets/ai-app-security-review.svg)

ビルドが成功しても、安全性の確認が終わったとは限りません。

## 8. 本番設定、CORS、セキュリティヘッダーを確認する

公開前にデバッグ表示やテストアカウントを無効にします。CORSは必要な送信元だけに絞り、バックアップやソースマップが公開されていないか確認しましょう。適切なレスポンスヘッダーも設定します。ローカル環境だけでなく、本番URLでの動作確認が欠かせません。

## 9. 認証基盤とパスワードの扱いを見直す

実績のある認証サービスを優先しましょう。自分でパスワードを保存する場合は、個別のソルトと適切な計算コストを備えた専用のハッシュ方式を使い、平文や高速な汎用ハッシュで保存しないこと。管理者には多要素認証を設定し、パスワード再設定と権限変更後のセッションも点検します。

![APIキーの発行、制限、監視、ローテーションを示す図](/article-assets/api-key-lifecycle-rotation-workflow.webp)

APIキー管理は公開後も続きます。権限を絞り、利用状況を見て、漏えい時は交換します。

## 公開前に試したいこと

未ログイン、一般ユーザー、管理者の3つの立場でアプリを操作します。APIへの直接リクエスト、他人のデータID、HTMLに見える入力を試し、DBが権限のないアクセスを拒否するか確認しましょう。修正後の再テストと人によるレビューも必要です。国内向けには[IPAのAIセキュリティ情報](https://www.ipa.go.jp/digital/ai/security/ai_security_tips.html)も参考になります。

AIで作ったアプリの公開前チェックをご希望なら、[当社へご相談ください](/ja/contact)。

## Source

Canonical HTML: https://itsupportintokyo.com/ja/blog/how-to-secure-ai-built-vibe-coded-app
Other language: https://itsupportintokyo.com/en/blog/how-to-secure-ai-built-vibe-coded-app