
CETのAIエンジニアの視点で解説します。AI 活用による“Vibe Coding”の台頭と、その裏に潜む危険性に焦点を当てます。
最近、生成 AI を使ってアプリやゲームを一気に作り上げる「Vibe Coding」が注目されています。実装の大半を自然言語での指示や“ノリ”で AI に書かせる手法で、特にゲーム開発の領域で話題を集めています。この動きに触発された開発者は、AI に GTA 風のマルチプレイヤーゲームをほぼ丸ごと作らせるなど、創造性の高さを競っています。
しかし、ベテランエンジニアから見ると、速さと遊び心の裏には大きな落とし穴があります。CET の AI レッドチームも「Vibe Coding は開発を加速する一方で、見過ごしやすい危険な脆弱性を招く」と警鐘を鳴らしています。
Vibe Coding の問題点は多岐にわたります。まず、AI が生成するコードは論理的な誤りを含みやすく、開発者自身がそのロジックを書いていないために気付かないことがあります。また、AI は“正しさ”を優先するため、効率を無視してパフォーマンスが低下しがちです。
さらに深刻なのが、セキュリティ脆弱性です。AI は攻撃者の視点で考えることができず、ハッカーが悪用できる穴を残してしまいます。例えば、CET が試した「AI にスネークゲームのネットワーク部分を書かせる」という実験では、Python の pickle モジュールをそのまま使ったため、遠隔で任意コードを実行できる脆弱性が生まれていました。この問題はデータのシリアライズを JSON に変えることで解消されました、自動生成されたコードをそのまま信頼する危険性を物語っています。
コードの肥大化も問題です。AI は必要以上のコードやモックを生成し、大規模プロジェクトではメンテナンスが困難になります。ある開発者は「Vibe Coding をするとアプリが膨れ上がり、保守が大変になる」と嘆いています。dev.to
Vibe Coding によるセキュリティ問題は、ゲームなどのアプリにとどまりません。CETでは ChatGPT にバイナリファイル形式「GGUF」のパーサー生成を依頼したところ、境界チェックの欠如や未検証の入力によるメモリ破損脆弱性が多数含まれていることを発見しましたdatabricks.com。具体的には、配列長の検証不足からヒープオーバーフローが引き起こされるケースが挙げられています。これらは攻撃者が悪意あるファイルを送るだけで任意コード実行が可能になる危険なバグです。
近年は Cursor や Cline、Claude Code といったエージェント型 IDE が登場し、コード生成からテスト、修正まで一気通貫で支援してくれます。ところが CETのレッドチームの検証では、こうした環境でも依然として脆弱性が発生しており、I/O 処理や外部 API との連携部分で危険なバグが見つかりました。安全なコード生成には専門家のレビューが欠かせないという教訓です。
Vibe Coding のリスクに気付いたコミュニティは、さまざまな対策を模索しています。ある開発者はアプリを安全かつコンパクトに保つためのチェックリストを AI に作らせ、実践しています。別の開発者は、こうした手法を「シンセコーディング」と呼ぶべきだと提案し、誤解を避けようとしていますdev.to。
CETの研究では、セキュリティ志向のプロンプトを活用することで脆弱なコード生成を大幅に減らせることが示されています。汎用的なセキュリティプロンプト、言語や用途に特化したプロンプト、生成後に自己反省的なレビューを行うプロンプトの3種類が提案され、特に自己反省型が顕著な効果を持つと報告されています。Claude 3.7 Sonnet では自己反省戦略が脆弱性発生率を 48〜50 % も減少させ、GPT‑4o でも 30〜51 % の改善が見られましたdatabricks.com。
生成 AI の力で開発スピードが格段に上がる一方、Vibe Coding には見えない危険が潜んでいます。論理エラー、パフォーマンス低下、メンテナンス難、そして致命的なセキュリティ脆弱性…。信頼できるプロンプト設計と厳格なレビュー、そして人間の洞察があって初めて安全なソフトウェアが実現します。
エンジニアリングには「早く作ること」と「正しく作ること」の両立が求められます。Vibe Coding を賢く使いこなし、新しい技術の恩恵を受けつつ、ユーザーの信頼を失わない製品を届ける——それこそがプロフェッショナルの“ノリ”だと言えるでしょう。