【そのアプリ本当に公開していいの?】バイブコーディングとは?AIアプリ開発に潜むリスク

公開日:
更新日:

※当サイトはアフィリエイトプログラムを利用しています。

非エンジニアのあなたでも「AIに指示するだけでアプリが完成する」そんな時代が現実になりました。

便利さの一方で、中身を理解しないまま公開されるアプリが増加するという、深刻な問題が見過ごされています。
実際にセキュリティの穴だらけのコードやAPIキーの流出や、個人情報が丸見えの不具合といった事故が現実に起きています。

AIはコードを書いてくれますが、安全性や責任までは担保してくれません。

本記事では、バイブコーディングがなぜ危険なのか、どのようなリスクが潜んでいるのか、そして安全に使うために何を確認すべきかを、具体例とともに整理していきます。
「作れる時代」だからこそ必要になる、作るべきかどうかの判断基準まで踏み込んで解説。

詐欺の心配一切なし!ワクワクメールへGO

なぜあえて自分で作るのか

バイブコーディングとは、あなたがAI(人工知能)に「こんなアプリを作りたい」「こんな機能がほしい」といった、「雰囲気(vibe)」で指示を出すだけ。自動でアプリのコードを生成させる開発手法のこと。

雰囲気(vibe)で指示を出すだけでアプリを生成できるって、めちゃくちゃ凄くない?とは思いますが。
「バイブコーディングなら自分専用のアプリを作れる」という謳い文句が一人歩きしている感じがして仕方ありません。

なぜ既存のアプリではなく、わざわざ作ろうとする人が増えているのか。
その動機を整理してみると、おおむね4つのパターンに分類できます。

  • 1️⃣100点の既存アプリより60点の自分専用
    多機能な家計簿やタスク管理ツールは、機能が多すぎて逆に使いにくい。
    「このボタン1つだけあればいいのに」という極限のシンプルさへの欲求は理解できます。自作という選択肢は合理的に見えますよね。
  • 2️⃣プロトタイピングの爆速化
    プロトタイピングとは、完成版を作る前に試作モデルを素早く作り、検証と改善を繰り返す手法です。
    「こんなサービスあったらいいな」というアイデアを、会議中にその場で形にして動かしてみるというスピード感そのものが、今のビジネス現場では価値になっている側面があります。
    この用途においては、バイブコーディングは確かに強い。
  • 3️⃣作ること自体のゲーム化
    AIとチャットしながらパズルを解くようなゲーム感覚で、プログラミングを楽しむ層が生まれています。
    中身の安全性より「動いた!」というドーパミンを求めている側面は、否定できないかもしれません。
  • 4️⃣認証要求
    「このアプリ、自分で作ったんだよね」と言いたい。
    「へー、すごいね」の言葉が欲しい。
    作った人も、すごいねと言う人も「何がどうすごいのか」はわかっていないのです。

動機がゲーム感覚であれ認証欲求であれ、「動いた」「すごいね」を優先するなら、中身の安全性は後回しになります。
そして安全性をおざなりにしたまま公開されているのが、バイブコーディングの現状なのです。

目次へ

AIが書くコードは「もっともらしい」だけに過ぎない

なぜバイブコーディングでセキュリティの穴が生まれやすいのか?AIの性質を理解しておく必要があります。

AIは「正しさ」ではなく「もっともらしさ」で動く
生成AIは、過去の膨大なデータから次に続く確率が高いコードを選んでいるだけです。
これが安全な書き方かどうかを判断しているのではなく、世界中のプログラミング教本や掲示板に多く載っている書き方を真似しています。

ネット上には古いコードや間違ったコードも溢れています。
結果として、動くけれどセキュリティ的には20年前のガバガバなコードが平気で出力される結果を生むことに。

AIには「責任感」と「文脈」がない
人間がアプリを作る時は、もしここを攻撃されたらユーザーが被害に遭うという想像力と責任感が働くでしょ?AIにはそれがありません。

AIの使命は指示に答えること。「ログイン機能を付けて」と言えば作ってくれますが、指示されない限り、セキュリティ対策は省略されがちになります。

誰でも作れる=安全確認できない人も作れる
以前は、アプリを公開するには一定の専門知識が必要で、それが最低限のフィルターになっていました。
今はコードが全く読めない人でも、AIに指示するだけでアプリが完成します。

「何が危ないかを知らない人」が「何が書いてあるか分からないコード」を公開しているのが、バイブコーディングの怖い部分。
このようなリスクが背後にあるのですから。

詐欺の心配一切なし!
信頼のワクワクメールへGO

目次へ

バイブコーディングのリスク

バイブコーディングのリスク図解

では、どのようなリスクが生まれるのかを見ていきましょう。

脆弱なコードの混入

SQLインジェクション
ユーザー入力をそのままデータベースクエリに組み込むコードを生成してしまう。

XSS(クロスサイトスクリプティング)
入力を適切にエスケープしないコード。エスケープとは、プログラムにとって特別な意味を持つ記号を、「ただの文字」として扱うように変換する処理のこと。

プロンプト漏洩
AIエージェント自体が攻撃者の指示によって、内部のシステム指示や秘密情報を漏らしてしまう可能性。

2. ライブラリの幻覚(ハルシネーション)

AIが、存在しないものや、悪意あるライブラリを「これを使うと便利ですよ」と提案する場合があります。

タイポスクワッティング
実在する有名ライブラリに似た名前の悪意あるパッケージ、ウイルス入りの偽物をそのまま導入してしまうリスク。

古いバージョンの使用
脆弱性が発見されている古いライブラリを学習データに基づいて提示する。

3. 機密情報のハードコーディング

「とりあえず動くもの」を作る際、APIキーやデータベースのパスワードをソースコード内に直接書き込んでしまうケースがあります。
そのままGitHubなどの公開リポジトリにアップロードすると、数分以内にボットによってスキャンされ、不正利用される恐れがあります。

たとえ「間違えた!」と気づいて数分後に削除したとしても、Gitの履歴(ログ)にはその情報が刻まれ続け、さらにはミラーサイトやアーカイブサイトに即座にコピーされ、半永久的にネットのどこかに残り続けます。

あなたが削除ボタンを押したときには、すでにその鍵は裏社会のリストに並び、数千万円規模の不正利用やデータ破棄へのカウントダウンが始まっている。

これが、今のAIによる自動化社会における漏洩のリアルなスピード感です。

4. ビジネスロジックの欠落

AIはコードの構文は理解しますが、サービスの権限管理などの複雑な文脈を完全には把握できないんですね。

例えば、ログイン機能を作ったとします。プログラム的には「入力されたIDとパスワードが一致したから画面を表示する」という処理は正しい。
しかし、AIは「その人が見てもいいのは、その人自身のデータだけである」という当たり前の前提条件を忘れることがあるんです。

これらの炎上事件は、ビジネスロジックの欠落をよく表しているものだといえます。

東大生限定マッチングアプリUTopia大炎上!バイブコーディングで作ったかも?

Moltbook炎上事件で明らかになった150万件APIキー流出とバイブコーディングの危険性

結果として、ログインした瞬間に他人の個人情報や購入履歴が丸見えになってしまう状態になる。
プログラム自体は正常に動いている、エラーが出ないため、コードが読めない作成者は、その恐ろしい状態に気付くことさえできません。

5.自分用だから安全という思い込み

ローカル環境(自分のPC内だけ)での利用であれば、外部に公開する場合に比べてリスクは格段に下がります。
しかし自分専用=100%安全ではないです。

自分のPC内の鍵を盗まれるリスク
AIが書いたコードの中に「外部と通信する処理」が紛れ込んでいる場合があります。

ハルシネーションや学習元の悪意あるコードが原因で、アプリを起動した瞬間、PCに保存されているブラウザのパスワードや環境変数などを外部サーバーに送信するバックドア(後から侵入するための裏口)的な動きをするコードが生成される可能性が。

ブラウザ経由の攻撃(セルフXSS)
自分だけで使うWebアプリであっても、ブラウザ上で動かしている以上、他のサイトを開いている時に影響を受けることがあります。

脆弱性のある自作アプリを開いたまま別の悪意あるサイトを閲覧した際、そのサイトから自作アプリを操作されローカルに保存しているデータを盗み取られるといったCSRF攻撃などの踏み台にされる恐れがあります。
こちらはCSRF攻撃についてまとめています。

@csrf_exemptが招くCSRF攻撃の本当の怖さ AIの提案を信じた結果

実行環境そのものの破壊
AIが生成したコードがPC内のファイルを操作するような内容だった場合、不要なファイルを削除するツールを作ったつもりが、AIのミスでOSの重要なファイルを削除する挙動になり、PCが起動しなくなるといった物理的な被害が出る可能性があります。

将来の自分が敵になる
自分用だからとAPIキーをコードに直書きし、適当なセキュリティで作ったアプリを、数ヶ月後に「便利だから人にも教えてあげよう」とそのままGitHubで公開してしまうケースが多い。
一度甘い基準で作ったものは、後から修正するのが難しくなります。

リスクは数多あり攻撃は自動化される

AI生成アプリやバイブコーディングにおいて特に警戒すべきリスクは上記以外にもあります。
簡単に挙げていますので、詳しく知りたいならAIに質問してみて。理解できるまで詳しく教えてくれますよ。

  • ・サプライチェーン攻撃
  • ・プロンプトインジェクション
  • ・技術的負債の高速蓄積
  • ・依存関係のコンフリクト
  • ・シャドーIT化
  • ・ライセンス違反
  • ・リソース枯渇攻撃
  • ・データのポイズニング
  • ・サンドボックスの脱獄
  • ・ゼロデイ脆弱性の放置

これらはリスクのほんの一部にしか過ぎないということを忘れないでください。
AIの進化のスピードは凄まじく、攻撃もAIにより自動化されています。プロでさえAIの進化を必死に追いかけているのが現状です。

詐欺の心配一切なし!
信頼のワクワクメールへGO

目次へ

バイブコーディングでリスクを抑えるための対策

バイブコーディングでリスクを抑えるための対策

AIを強力なパートナーにするか、時限爆弾にするかは、あなたの管理一つで決まります。

プロの開発者が、命綱として守っている基本的なセキュリティの鉄則。これを無視して生産性を語ることはできません。
知らなかったでは済まされない事態を招く前に、以下の対策をあなたの開発工程に組み込んでくださいね。

プロンプトで指示する

「セキュリティも考慮して」だけでは不十分です。
「OWASP Top 10を意識して、バリデーションを厳格に書いて」と具体的に指示します。

OWASP Top 10とは、OWASP(Open Worldwide Application Security Project)が数年ごとに公開する「Webアプリケーションにおける最も重大なセキュリティリスク10項目」をまとめた国際的な標準的リストのこと。

人間によるレビュー

AIが書いたコードの中身を一行ずつ確認する習慣を持つ。特に外部入力を扱う部分は重点的にチェックが必要です。
コードが読めない状態で公開するのは、内容が分からない書類にサインするのと変わりません。

最後に責任を持てるのはプログラムやAIではなく、人間だけだということを忘れないでください。

静的解析ツールの併用

[Snyk](https://snyk.io/) や [SonarQube](https://www.sonarsource.com/products/sonarqube/) などのツールを使って、自動で脆弱性をスキャンする工程を継続的に挟む。

もちろんツールが合格を出したから100%安全というわけではない、という点に注意が必要。

上に書いたように「ログインしたら他人のデータが見えてしまう」といった、プログラムとしては正しく動いているがルールがおかしいものについて、自動スキャンはスルーしてしまうことが多いのです。

環境変数の徹底

キー情報は必ず .env ファイルなどに切り分け、ソースコードから完全に「隔離」してください。

外書きの習慣
ソースコード内には 「AI_KEY = "sk-..." 」と直接書かず、「AI_KEY = どこからか読み込む」 という呼び出し指示だけを書きます。
実体は、自分のPCの中にだけ置いた「.env 」という別ファイルに隠しておきます。

持ち出し禁止の徹底
この「.env」ファイルは、絶対にGitHubなどの共有スペースにアップロードしてはいけません。
設定ファイルひとつで、あなたのアプリは便利なツールから、攻撃者に全権限を与えるマスターキーへと一瞬で変貌するのです。

コードの中に機密情報を持ち込まない
当たり前の鉄則を守れない人は、AIを使ってアプリを作る資格がないと言っても過言ではありません。
一時の「動いた!」という興奮のために、自分や利用者の人生を賭けるような真似は、あまりにリスクが高すぎます。

目次へ

公開前のチェックリスト

バイブコーディングで生成したアプリを公開する前に、もう一度見直してくださいね。

  • 機密情報の漏洩チェック
  • APIキー、パスワード、秘密のトークンがソースコード(.js、.pyなど)に直接書かれていないか
  • `.env` や `node_modules` など、公開してはいけないファイルが `.gitignore` の管理対象外になっているか
  • 過去のコミット履歴の中に、一度でもキーを書き込んだ形跡はないか(一度でもプッシュすると履歴から盗まれます)
  • 入力フォームの隙チェック
  • 空欄に異常に長いテキスト入力でもエラーで止まるか(バリデーション)
  • 入力欄に <script>alert(1)</script> などのコードを入れても実行されず、文字として処理されるか(サニタイズ)
  • ハルシネーションチェック
  • `package.json` や `requirements.txt` に、身に覚えのない、または検索しても出てこないライブラリが含まれていないか
  • テスト用エンドポイントや `example.com` などのダミーURLが残ったままになっていないか
  • 実行環境チェック
  • デバッグモード(`debug=True` など)がオフになっているか(オンのままだと攻撃者にサーバー内部の情報を教えることになります)
  • 通信がHTTPSで暗号化されているか(特に個人情報やログインを扱う場合)

目次へ

メンテナンスは必須

アプリは完成した瞬間が最も安全で、そこからは放っておくだけでどんどん危険なものになっていくという性質を持っています。
なぜメンテナンスが必要なのか、その理由を整理しました。

新たな攻撃手法が毎日生まれる
アプリを作った時には安全だったコードも、数ヶ月後には新しい攻撃手法が見つかり、古くて穴だらけのコードに変わってしまいます。

詐欺師たちは常に新しい「鍵の開け方」を研究しています。
それに対抗して、プログラムの側も常に「鍵」を最新のものに交換し続けなければなりません。

使っている部品(ライブラリ)が古くなる
アプリは多くの外部部品(ライブラリ)を組み合わせて動いています。部品に脆弱性(バグや穴)が見つかると、部品の作者が修正版を出します。

自分で作ったアプリも、その都度部品を最新のものに差し替える作業をしないと、そこからウイルスに侵入されます。

実行環境(ブラウザやOS)の変化
Google ChromeやスマートフォンのOSは頻繁にアップデートされます。

アップデートによって、以前の古い書き方のプログラムが動かなくなったり、逆にセキュリティ上の理由で制限がかかったりします。
放置していると、ある日突然動かない、あるいは表示が崩れた怪しいサイトになってしまうかも。

  • メンテナンスを続けるために必要なこと
    バイブコーディングで「中身がよくわかっていない」まま作ってしまうと、このメンテナンスが不可能になります。
  • コードの意味を理解しているか?
    どこを直せばいいか分からないと、部品の更新すらできません。
  • 定期的なチェック
    少なくとも月に一度は、使っている技術に脆弱性が出ていないかニュースを確認し、テストし直す必要があります。
  • 公開停止の決断
    メンテナンスができない、あるいは面倒になったなら、アプリを削除して公開をやめるのが、最も責任ある行動です。

詐欺の心配一切なし!
信頼のワクワクメールへGO

目次へ

作らないという選択はAI時代だからこそ大切

作らないという選択はAI時代だからこそ大切

公開前にというより、生成前に一度立ち止まって考えてほしい。

公開して責任取れるの?

AIはコードを書いてくれますが、あなたの代わりに責任は取ってくれません。
中身の正誤を判断できないなら、そのキーボードから手を離すべきです。

あなた専用アプリを作って公開しないなら、あなただけが危険にさらされるだけで済みます。
でも公開して他人を危険に晒し実害がでた場合、本当に責任取れますか?

実際にこういった事件が起きていますし、これはほんの一例に過ぎません。サイバー攻撃を受けていない(多分)だけマシかも。

東大生限定マッチングアプリUTopia大炎上!バイブコーディングで作ったかも?

本当に必要なの?

AIやバイブコーディングに関する知見が増したので、この記事をリライトしようと思ったのですが。

「キントーンとかが提供するアプリがあるけど、バイブコーディングでアプリ作ればいいじゃん」と言っているのを耳にして、安全性や基盤の有無などの違いがわかっていないのに作ろうとする危うさに驚いたからです(笑)。

自分専用の便利なアプリが欲しいから作る。でも本当に必要なの?作りたいだけじゃないの?

ずっとメンテナンスするの?

バイブコーディングでアプリを生成するということは、わざわざ面倒事を作るということを忘れないでください。
自分専用ではない多少不満はあるけど、プロが作った既存の安全なアプリを使うより、自作を維持する方がよほど大変だと思うのですが。

既存の安全なアプリは、そのアプリの管理者がメンテもしてくれるんだし、それはそれである種の自動化かもね。

流行りの業務効率化

この記事に出てきた様々な用語は、非エンジニアの私でもギリギリ理解できている範囲内でしか掲載していません。

AIで画像や文章を生成をするようになって、AI関連の動画を毎日視聴するようになったんですね。
聞き流し程度ですが、自分に必要だと感じる部分は自然と耳に入って覚えています。

気になったものは、手の空いた時にどういうものなのか簡単に調べ、自分に必要だと思うことは更に詳しく調べています。
ネット検索することもあればGeminiに質問することもあります。

現時点では、自分専用のアプリやAIエージェントで、「タスクを自動化して業務効率化しよう」といったものを様々な媒体で見聞きします。
効率化という言葉だけが独り歩きしていると思うのは私だけでしょうか?

「AIで生産性をあげないと生き残れない」といったことも、よく言われています。「AIは24時間働きますから、あなたの就寝中に仕事が終わっているんだよ」と。
そこだけ聞けば素晴らしく、仕事に追われる人からすれば、夢のような話が現実となっているのも事実なんですよ。

でも、例えば、アプリを作るのが10倍速くなっても、その後のセキュリティチェックやメンテナンスに20倍の時間がかかるなら、それは生産性が上がったとは言えません。
「作らない」「公開しない」「責任持てないなら手離す」という引き算も必要だと思いませんか?

あわせて読みたい

バイブコーディングアプリであなたの情報が漏洩するかも【45%に欠陥あり】

目次へ