バイブコーディングのセキュリティ対策。公開前に自分でできる7つの点検と無料の脆弱性診断
Claude Code や Cursor、Lovable で、会員サイトや予約ページを自分で作る人が増えました。画面は動くし、ログインもできる。ところが「動く」と「安全」は別の話です。
2026 年 6 月に論文公開サイト arXiv で発表された研究「Understanding the (In)Security of Vibe-Coded Applications」は、バイブコーディングで作られ、実際に公開されているアプリ 200 件を調べました。少なくとも 1 件の脆弱性(セキュリティ上の穴)が見つかったのは 182 件(91%)、見つかった穴は合わせて 1,186 件でした。査読前の論文なので数字は今後変わる可能性がありますが、「作った人が気づかないまま公開している」ことは、この調査からはっきり読み取れます。
この記事では、バイブコーディングで穴が残りやすい理由、公開前に自分で点検する手順、Web サイトの脆弱性診断を無料で受ける方法を順に書きます。
なぜバイブコーディングでは穴が残りやすいのか
Claude Code や Cursor は、頼んだ機能をきちんと作ります。逆に言うと、頼まなかった守りは入らないことがあります。
「予約フォームを作って」と頼めば、フォームは動きます。でも「ほかの人の予約を URL を変えて見られないようにして」とまで頼む人はほとんどいません。セキュリティの対策は、画面に出ない追加の作業なので、動作の確認では見つかりません。
もう 1 つの理由は、確認する人がいないことです。会社の開発なら、別の人がコードを読んでから公開します。1 人で作って 1 人で公開すると、その工程がまるごと抜けます。
バイブコーディングで見つかりやすい穴
| 穴の名前 | 何が起きるか |
|---|---|
| アクセス制御の不備 | URL の数字を変えると、他人の予約や注文が見える |
| 認証の不備 | ログインしなくても会員ページが開ける |
| インジェクション | フォームに入れた文字で、データベースが操作される |
| API キーの露出 | 決済やメール送信の鍵が、ブラウザから読める |
| データベースの公開設定 | 会員の一覧が、だれでも読み書きできる |
| セキュリティヘッダーの未設定 | 偽サイトの中に埋め込まれたり、外のスクリプトを差し込まれたりする |
上の研究でも、アクセス制御の不備とインジェクションが多く見つかっています。
実際の事故もあります。セキュリティ企業の Wiz は、2025 年 7 月にバイブコーディング用のサービス「Base44」で、公開されている情報だけで非公開のアプリに入れる認証の欠陥を見つけたと公表しました(報告から 1 日足らずで修正されています)。作る道具の側に穴があることもある、という例です。
公開前に自分で点検する 7 つの手順
エンジニアでなくてもできる順に並べました。
1. 秘密の鍵がブラウザに出ていないか
公開したページを開き、ブラウザの開発者ツール(Windows は F12)で「ソース」を開きます。「sk_」「secret」「api_key」「service_role」で検索して、何も出てこなければ合格です。出てきたら、その鍵はすぐに作り直します。
2. ログインしないで会員ページを開けないか
一度ログアウトしてから、会員ページの URL をアドレスバーに直接貼ります。ログイン画面に戻されれば合格です。
3. 他人のデータを URL で見られないか
テスト用のアカウントを 2 つ作ります。A でログインして自分の予約ページの URL を控え、B でログインして同じ URL を開きます。A の予約が見えたら、アクセス制御の不備です。
4. データベースの公開設定
Supabase を使っているなら、管理画面で全部のテーブルに RLS(行ごとのアクセス制限)が有効になっているかを見ます。「RLS disabled」の表示が 1 つでもあれば、公開前に直します。
5. フォームに変な文字を入れても壊れないか
問い合わせフォームに <b>テスト</b> と入れて送ります。管理画面で文字が太字で表示されたら、入力した文字がそのまま画面に出ています。
6. 通信の暗号化とセキュリティヘッダー
URL が https で始まるかを見ます。ヘッダーは、Mozilla が公開している HTTP Observatory のような無料のツールで確かめられます。
7. Claude Code 自身にも点検させる
作ったのと同じ道具に、点検を頼むこともできます。たとえば次のように頼みます。
このリポジトリを、公開前のセキュリティ点検として読んでください。(1) 秘密の鍵がブラウザに送られる場所 (2) ログインしないで開けるページ (3) 他人のデータを ID で取れる API (4) 入力を検証せずにデータベースへ渡している所 を、ファイル名と行番号つきで全部挙げてください。直すのは、私が確認してからにしてください。
自分で書いたコードを自分で点検するのと同じなので、これだけで安心はできません。それでも、何も見ないで公開するよりずっとましです。
Claude Code への頼み方を基本から身につけたい方は、Claude Code 講座で学べます。
Web サイトの脆弱性診断を無料で受ける方法
自分の手で見られる範囲には限りがあります。無料で使える手段は、次の 3 つです。
| 手段 | 分かること | 注意 |
|---|---|---|
| IPA「安全なウェブサイトの作り方」 | 作るときに守ることの全体 | 読み物。自分のサイトを診断はしない |
| 無料の診断ツール(OWASP ZAP など) | 実際に攻撃に近い通信を送って穴を探す | 操作に知識が要る。自分のサイト以外にかけない |
| URL を入れる外部診断サービス | 外から見える範囲の穴 | ログイン後の画面やコードの中は見ない |
1 つ大事な注意があります。診断は、自分が持っているサイトにだけかけてください。他人のサイトに許可なく攻撃に近い通信を送ると、不正アクセスを疑われることがあります。
URL を入れる外部診断の 1 つが、私たちの VibeGuard です。URL とメールアドレスを入れると、約 1 分で XSS(外のスクリプトを差し込まれる穴)、通信の暗号化、API キーなどの情報流出、フォーム、セキュリティヘッダー、読み込んでいるパーツのすり替え、の 6 項目を点検します。
外から見る診断と、中まで見る診断の違い
| 診断の種類 | 見る所 | 向いている時 |
|---|---|---|
| 外部診断 | 公開されているページと通信 | 公開前と公開後の定期の点検 |
| ログイン後の画面の診断 | 会員ページ・管理画面 | 会員機能があるサイト |
| ソースコード診断 | プログラムの中身 | 決済や個人情報を扱うサイト |
| ペネトレーションテスト(侵入テスト) | 攻撃者と同じ手口で実際に入れるか | 大きな取引の前・取引先の要求があるとき |
会員の個人情報や決済を扱うなら、外部診断だけでは足りません。少なくとも 1 回は、ソースコードまで見てもらってから公開するのが安全です。
公開したあとも点検を続ける
サイトは公開した日がいちばん安全で、そこから少しずつ古くなります。使っているパーツに新しい穴が見つかったり、機能を足したときに設定が戻ったりするからです。Claude Code で機能を足したら、その日のうちに上の 7 つの手順をもう一度通してください。毎回手でやるのが大変なら、毎日自動で外から点検する仕組みに任せる方法もあります。
VibeGuard の無料診断と料金
VibeGuard(アンリミテッドアム株式会社)は、バイブコーディングやノーコードで作ったサイトを、公開前と公開後に点検するサービスです。WordPress や手書きの HTML のサイトも診断できます。
- 無料診断(0 円): 会員登録なし。URL とメールアドレスを入れ、届いたメールのリンクを押すと診断が始まります。危険度のスコアと穴の件数が分かります(1 つのメールアドレスで 1 日 3 回まで)
- スタンダード(月 5,000 円・税別): 3 サイトまで毎日自動で点検。穴の場所と直し方、PDF のレポート
- エキスパート(月 9,800 円・税別): スタンダードの内容に加え、月 3 回のソースコード診断と、ログイン後の画面の診断
- スポット診断(1 回 98,000 円・税別): 月額なしで 1 回だけ、設定・ソースコード・ログイン後の画面まで詳しく診断
公開ボタンを押す前に、まずは無料診断で今の状態を見てください。
事実の出典
- arXiv:2606.23130 "Understanding the (In)Security of Vibe-Coded Applications" https://arxiv.org/abs/2606.23130
- Wiz による Base44 の認証欠陥の公表(2025 年 7 月)
- VibeGuard 料金 https://vibeguard.biz/pricing
執筆: 江藤正親(アンリミテッドアム株式会社 代表)