「雰囲気でコーディングした」アプリが“セキュリティ事故待ち”である理由

Dev.to / 2026/4/25

💬 オピニオンDeveloper Stack & InfrastructureSignals & Early TrendsIdeas & Deep AnalysisTools & Practical Usage

要点

  • この記事は、AI支援の「雰囲気でコーディング(vibe-coded)」で作られたアプリが機能面では優れていても、セキュリティ面の重要な穴が見落とされがちだと主張しています。
  • Lovable、Bolt、Cursor、v0 などで作られた実在アプリをスキャンした結果、フロントエンドにAPIキーを直書きすること、認証チェックの欠落、入力バリデーションの不備、Supabase設定の誤り/露出、レート制限の欠如といった問題が頻発したと述べています。
  • AIツールがこれらを見逃しやすい理由として、プロンプトが「動くデモを作る」ことに最適化され、プロダクション前の明示的なセキュリティ対応が後回しになりがちな点を説明しています。
  • 出荷前に行うべき対策として、環境変数の監査、すべてのAPIルートでの認証検証、SupabaseのRLS(Row Level Security)の有効化とテスト、サーバー側での入力検証、特に認証エンドポイントへのレート制限の追加を挙げています。
  • 最後に、CodeSafeを“雰囲気でコーディングした”アプリに特化したマルチエージェントのセキュリティスキャナとして紹介しています。

毎週、数千のアプリが Lovable、Bolt、
Cursor、v0 を使って出荷されています。速くて、美しくて、機能的。
そして、そのほとんどすべてに重大なセキュリティ脆弱性があります。
私は、それをスキャンするツールを作ったので分かっています。

談題にしない問題

AIコーディングツールは、機能を作るのが信じられないほど得意です。
でも、セキュリティは最悪です。

「ユーザー認証システムを作って」とプロンプトすると、AIは
それをやってのけます。ですが、おそらく同時に:

  • 適切なハッシュなしでパスワードを保存する
  • APIキーをクライアントサイドのコードで公開する
  • あらゆるフォームで入力バリデーションを省略する
  • SQLインジェクションの脆弱性をそのまま放置する
  • 壊れたアクセス制御を設定してしまい、誰でも任意のデータにアクセスできる

あなたはそれを出荷します。動きます。ユーザーは登録します。すべてが問題なさそうに見えます。

しかし、そうではなくなるまでです。

実際の「Vibe」で作られたアプリをスキャンして分かったこと

AIツールで作られた数十のアプリをスキャンした後、最も
よく見つかった脆弱性は次の通りでした:

1. ハードコードされたAPIキー — Gemini、OpenAI、Stripeのキーが
フロントエンドコードの中にそのままあります。誰でもDevToolsを開いて盗めます。

2. 認証チェックの欠落
保護されるべきルートが完全にオープンです。URLを変えるだけで、何でもアクセスできます。

3. 入力バリデーションの破損 — 何でも受け付ける
フォーム。悪意あるスクリプトやSQLコマンドまで。

4. Supabaseの設定の露出 — Row Level Securityが無効、または
設定ミスになっていて、誰もがデータベースを完全に使える状態になっています。

5. レート制限なし — 何度でも叩ける
API。請求額が膨らんだり、アプリがクラッシュしたりします。

これらは高度な攻撃ではありません。スクリプトキディでも、
数分で見つけて悪用できます。

なぜAIツールがこれを見落とすのか

AIのせいではありません。プロンプトの性質の問題です。

「決済フォームを追加して」と言うと、AIは
決済フォームを動かすことに注力します。セキュリティは二次的な関心事で、
明確なプロンプトが必要です——そして多くの人は
何を聞けばいいかを知りません。

AIは「デモで動くか?」を最適化していて、
「本番環境で安全か?」ではありません。

出荷する前にあなたがやるべきこと

少なくとも、vibeコードされたアプリを公開する前に:

  1. 環境変数を監査する — フロントエンドコードに機密情報を決して入れない
  2. すべてのAPIルートを確認する — ログイン済みのユーザーであることを
    検証していますか?
  3. SupabaseでRLSを有効化する — そして実際にテストする
  4. すべての入力を検証する — クライアントだけでなくサーバー側で
  5. レート制限を追加する — 特に認証エンドポイントで

あるいは... スキャナーに自動でやらせましょう。

それのためにCodeSafeを作りました

CodeSafeは、vibeコードのアプリのために特化して作られた
マルチエージェントのセキュリティスキャナーです。コードをアップロードすると、6つの専門AIエージェントが
次の項目をスキャンします:

  • 認証・認可の欠陥
  • 露出したシークレットやAPIキー
  • インジェクションの脆弱性
  • 壊れたアクセス制御
  • セキュリティ設定ミス
  • 依存関係の脆弱性

決め手の機能:見つかったすべての脆弱性について、
「Fix用プロンプトをコピー」 が表示されます。それを
Cursor、Lovable、またはあなたが使ったどんなAIツールにもそのまま貼り付ければ、問題が修正されます。

セキュリティの専門知識は不要です。修正済みをアップロードするだけ。

codesafe.co.inで無料で試す

速く出荷する。安全に出荷する。

Vibeコーディングはなくなりません。むしろさらに速くなっていきます。

長期的に勝つのは、速く出荷して、なおかつ
安全に出荷する人たちです。何週間もかけて作った
プロダクトを、未然に防げた脆弱性で壊さないでください。

出荷する前にスキャン。

素晴らしいインディーの
プロダクトが侵害されるのを見てイライラしたことをきっかけに作りました。コメント欄で
vibeコーディングのセキュリティについての質問には喜んで答えます。