生成AIの進化により、自然言語で指示するだけでアプリケーションのコードが生成され、短時間で「動くもの」が手に入るようになりました。これまで専門のエンジニアに依頼していた小さな業務ツールやプロトタイプを、自社のメンバーが自ら組み上げられる場面も増えています。

前回の記事では、生成AIで内製化を進めるうえで押さえておきたい論点を総論として整理しました。
本記事では、その中でも特に注意が必要な「バイブコーディング」を取り上げます。生成AIに任せれば、確かに動くものはすぐにできます。しかし「動く」ことと「安全に運用できる」ことは同じではありません。動作確認の段階では問題が見えず、公開・運用を始めてからセキュリティ事故として表面化する、というケースが現実に起こり得ます。
バイブコーディングは内製化を加速する強力な手段です。本記事は、その否定ではなく、メリットを活かしながら見落とされがちなリスクをどう抑えるかを整理することを目的としています。
バイブコーディングとは、自然言語で生成AIに指示を出し、生成されたコードの内部を細かく理解しないまま、動作を確認しながら開発を進めていくスタイルを指します。AI研究者のAndrej Karpathy氏が2025年初頭に用いた表現が広まったもので、「コードを書く」というより「やりたいことを伝えて、出てきたものを動かす」という進め方に近い開発のあり方です。
従来の開発では、設計・実装・テストの各工程でエンジニアがコードの意味を理解し、責任を持って積み上げていました。バイブコーディングでは、その理解の多くを生成AIに委ねます。プロンプトで要望を伝え、エラーが出れば内容を貼り付けて修正させ、画面上で期待どおり動けば次へ進む、という流れになります。
内製化の文脈では、この着手のしやすさが大きな利点になります。プログラミングの専門知識が浅いメンバーでも、業務に必要なツールの形をすぐに作れるからです。一方で、生成されたコードを誰も深く理解していないまま運用に乗せてしまうと、後述するリスクを抱え込むことにもなります。コーディングエージェントの実務的な使い方やレビューの考え方については、以下の記事も参考になります。

バイブコーディングには、内製化を後押しする明確な利点があります。主なメリットと、内製化における意味を整理すると次のとおりです。
| メリット | 内製化における意味 |
|---|---|
| 試作までの速さ | アイデアを短時間で動く形にでき、検証のサイクルを早く回せる |
| 参入障壁の低下 | 専門的なコーディング経験が浅いメンバーでも開発に着手できる |
| コストの抑制 | 小規模なツールを外注せず、社内で必要な分だけ作れる |
| 業務知識との近さ | 業務を理解している担当者自身が、要望を直接形にできる |
特に、要件が固まりきっていない段階での試作や、社内向けの小さな効率化ツールでは、この速さと着手のしやすさが効果を発揮します。まず動かして確かめることが容易になった点は、内製化の入り口として大きな前進です。
ただし、これらのメリットはあくまで「素早く動くものが手に入る」という価値であり、「安全で長く使えるものが手に入る」こととは区別して考える必要があります。
バイブコーディングで最も注意すべきは、「動いている」という事実が品質や安全性を保証しないという点です。
画面上で期待どおりに動作することは、入力が想定どおりで、操作も正常な手順で行われた場合の確認、すなわち正常系の確認に過ぎません。実際のシステムでは、想定外の入力、悪意のある操作、大量アクセス、外部サービスの障害など、正常系以外の状況が数多く発生します。セキュリティ上の欠陥や異常系の処理漏れは、通常の動作確認では表面に出てこないため、「動いているから大丈夫」と判断したまま運用に進んでしまいがちです。
下の図のように、動作確認で見えているのは氷山の一角に過ぎません。水面下には、入力値の検証漏れ、脆弱性、認証や認可の不備、保守性の欠如といった、見えにくい問題が隠れています。

ソフトウェアエンジニアリングの知見があれば、こうした水面下の領域を意識し、動作確認とは別に検証すべき項目として扱えます。しかし、その知見がないまま「動いた」を到達点としてしまうと、潜在的なリスクに気づかないまま公開・運用に至ります。次章では、その水面下に潜む代表的なリスクを具体的に見ていきます。
バイブコーディングで生成したものをそのまま運用に乗せる場合、特に見落とされやすいリスクを3つの領域に分けて整理します。

現代のアプリケーションは、多数の外部ライブラリの上に成り立っています。生成AIが出力するコードも、こうしたライブラリを前提としていることがほとんどです。ここには2つの方向のリスクがあります。
ひとつは、一度動いたバージョンのまま更新せず放置してしまうことです。ライブラリには後から脆弱性が見つかることがあり、修正版が公開されても更新しなければ、既知の脆弱性(CVEとして公開される既知の欠陥)を抱えたまま運用を続けることになります。攻撃者は公開された脆弱性情報を手がかりにするため、「動いているから触らない」という判断がそのままリスクになります。
もうひとつは、逆に内容を確認せず無造作に最新化してしまうことです。意図しない仕様変更で動作が壊れることもあれば、近年問題になっているサプライチェーン攻撃、すなわち正規のライブラリに悪意のあるコードが紛れ込む事例に巻き込まれる可能性もあります。さらに、取り込んだライブラリのライセンス条件が自社の利用形態に合っているかという観点も見落とされがちです。
依存関係を適切に管理するには、利用しているライブラリとそのバージョンを把握し、ロックファイルでバージョンを固定したうえで、脆弱性情報を継続的に確認して計画的に更新する運用が必要です。これは動作確認だけでは決して見えてこない領域です。
生成AIは「とりあえず動く」コードを出すことには長けていますが、安全性に関わる処理が抜け落ちることが少なくありません。代表的なものを挙げます。
これらはいずれも、正常に操作している限り画面上は問題なく動いて見えます。問題が顕在化するのは、悪意のある第三者がその欠陥を突いたときです。生成AIに「安全に作って」と伝えても、入力検証やエスケープ、権限設計が十分に行われる保証はなく、出力されたコードを人間がその観点で確認する必要があります。
生成AIを利用する際のセキュリティ上の脅威や、機密情報・法務面の注意点については、以下の記事も併せてご覧ください。
3つ目は、運用が始まってから効いてくるリスクです。生成されたコードの内部を誰も理解していない場合、不具合が起きても原因を特定できず、修正もできません。仕様変更にも対応しづらくなります。
バイブコーディングでは、テストコード、ログ出力、エラーハンドリングといった、目に見える機能には直結しないものの保守に不可欠な要素が省かれがちです。これらがないと、問題が起きたときに状況を把握する手段がなく、対応が後手に回ります。また、作った本人しか分からない状態のまま運用されると、担当者の異動や退職とともに誰も触れないシステムになってしまいます。これは前回の記事でも触れた、属人化したスクリプトが組織のリスクになる構図と同じです。
ここまで述べたリスクは、バイブコーディングを避ける理由ではなく、活用するうえで備えるべき項目です。素早く作れるという利点を活かしながら、安全性と保守性を確保するための対策を整理します。

| リスク領域 | 主な対策 |
|---|---|
| 動作確認だけで判断してしまう | 動作確認とは別に、セキュリティと異常系を確認する観点を持ち、人によるレビューを行う |
| 依存ライブラリの脆弱性 | 利用ライブラリとバージョンを把握し、ロックファイルで固定したうえで脆弱性情報を継続的に確認し計画的に更新する |
| アプリケーションの脆弱性 | 入力検証・出力エスケープ・認証認可・秘密情報の扱いをチェック項目として確認する |
| 保守性の欠如 | テスト、ログ、エラーハンドリングを最初から組み込み、コードの意図を記録する |
| 範囲の取りすぎ | 公開範囲を限定して小さく始め、リスクの低い領域から段階的に広げる |
特に重要なのは、生成AIの出力を人間がレビューする文化です。専門知識を持つメンバーが、セキュリティや保守性の観点で生成コードを確認する体制があれば、水面下のリスクの多くは公開前に発見できます。社内に十分な知見がない場合は、外部の支援を受けながら体制を整えることも現実的な選択肢です。
また、生成AIに対して前提や制約を明示的に伝えることも有効です。設計ドキュメントやAGENTS.mdのような形でルールを言語化しておけば、生成されるコードの品質を一定の水準に保ちやすくなります。機密情報や法務面の制約についても、最初から設計に織り込んでおくことが重要です。
バイブコーディングは、内製化のハードルを下げ、試作と検証を加速する強力な手段です。一方で、「動く」ことだけを到達点にすると、見えにくいリスクを抱えたまま運用に進んでしまう危険があります。本記事の要点は次のとおりです。
動くものをすぐに作れる時代だからこそ、その先の安全性と保守性を支えるソフトウェアエンジニアリングの土台が、これまで以上に重要になります。バイブコーディングを内製化に活かすには、速さの価値を認めつつ、見えないリスクに向き合う姿勢が欠かせません。前回の記事と併せて、内製化の進め方を検討する際の参考にしていただければ幸いです。
Tech Funでは、お客様のフェーズに合わせ、生成AI活用に向けた支援を3つのパックでご提供しています。
生成AIに限らず、Web・業務システム開発やインフラ設計など、技術領域を問わずご相談を承っています。「何から始めれば良いか分からない」という段階でも構いませんので、ぜひお気軽にお問い合わせください。