Aikido

バイブコーディングセキュリティとは何か?リスク、事例、そして安全を保つ方法

執筆者
Sooraj Shah

Vibeコーディングは、今注目の新しいトレンドです。おそらく、すでに目にしているかもしれません。

  • 営業担当者がAIを使って独自のツールを構築します。
  • デザイナーがUIの変更を直接GitHubにプッシュします。
  • マーケティングチームがベンダー契約を更新する代わりにキャンペーンソフトウェアを作成します。

Steve Yegge氏がThe Pragmatic Engineer podcastで述べたように、AIは可能性を大きく広げました。コードはもはや開発者だけから生まれるものではありません。プロンプトがあれば誰でもアプリをリリースできます。これを行っているほとんどの人は、自分がVibeコーディングをしていることさえ知りません。彼らは単に、望むものを平易な英語で記述し、AIにコードを生成させているだけです。この変化は、ソフトウェアを構築する人々とそのリリース速度を変えました。この速度は魅力的ですが、深刻な問題も伴います。そのコードのほとんどは、レビューもテストもセキュリティもなく、盲目的に実行されています。

Vibeコーディングとは何ですか?

Vibeコーディングとは、平易な英語で望むものを記述し、AIにコードを生成させることです。Lovable、Windsurf、Replitなどのプラットフォームは、誰でも数時間でアイデアをアプリにできると謳っています。技術的な構文や正式なトレーニングが不要なため、まるで魔法のように感じられます。望むことを伝え、コピー&ペーストし、実行して、動作するかどうかを確認するだけです。

これは高速で摩擦がないため、エンジニアリングチーム以外にも広まっています。デザイナー、マーケター、営業チームは皆、開発者を待つことなくアプリや機能をリリースできるようになりました。

問題は、Vibeコーディングが安全よりもアウトプットを優先することです。ほとんどの場合、レビューもテストもセキュリティも組み込まれていません。そこから問題が始まります。

Vibeがうまくいかなくなったとき

Vibeコーディングがうまくいかなくなった例がいくつかあります。

  • Replitのインシデント: SaaStrのJason Lemkin氏は、ReplitのAIエージェントに本番環境レベルのアプリ構築を任せました。最初は数時間でのプロトタイプ作成、QAチェック、迅速な進捗に胸が高鳴りました。しかし、事態は悪化しました。AIは単体テストについて嘘をつき始め、コードフリーズを無視し、最終的にSaaStrの本番データベース全体を削除してしまいました。数ヶ月にわたる厳選された役員記録が一夜にして失われました。Lemkin氏がZDNetに語ったように、「本番データベースを上書きすることはできません。いいえ、決して、絶対にありません。」
  • Teaアプリ: 管理者ルートがロックされずに放置され、エンドポイントに偶然アクセスした人にユーザーデータが公開されました。楽しい実験のように見えたものが、すぐにデータプライバシーの負債となりました。

ホビー開発者によって構築されたアプリのかなりの割合が、リリース前に深刻な脆弱性を含んでいます。この方法で構築されたアプリを10個試した場合、少なくとも1つはハッキング可能である可能性が高いでしょう。

これらの失敗は重要です。なぜなら、vibeコード化されたアプリのセキュリティ上の欠陥は、単なる軽微なバグではないからです。それらはしばしば、認証、データアクセス、シークレット管理といった中核的な保護に関わります。アプリが支払い情報や個人データを扱う場合、その結果は技術的なものにとどまりません。財務的、規制的、そして評判に関わるものです。

Aikido Securityのデベロッパーアドボケイトであるマッケンジー・ジャクソンは、率直に述べています。

「AIはデフォルトで安全なコードを書きません。ただ動作するものを吐き出すだけです。内部的には、攻撃に対して完全に無防備である可能性があります。」

なぜこれが急速に広まるのか

Vibeコーディングの主な違いは、今や誰もがそれを行っていることです。デザイナー、PM、営業、マーケティングチームの全員がコードをリリースしています。攻撃者は、それがサイドプロジェクトであろうとエンタープライズソフトウェアであろうと気にしません。彼らが気にするのは、ドアがロックされていないかどうかだけです。

スピードは利点であると同時に問題でもあります。かつて数週間かかっていたアプリが、今では午後には構築できるようになりました。これは、チーム全体がエンジニアリングを待つことなくプロトタイプやツールを迅速に立ち上げられることを意味します。しかし、これらの新しい開発者は、アクセスコントロール、入力サニタイズ、または依存関係の更新について考えていません。

Aikidoの創設者兼CTOであるWillem Delbareは、この変化をZDNetに「完璧な嵐」と表現しました。

「Vibeコーディングはソフトウェア開発をより身近なものにしますが、経験豊富な開発者でさえ対処できないセキュリティリスクの完璧な嵐も生み出します。SQLインジェクション、パストラバーサル、ハードコードされたシークレットなどです。」 

Mackenzie Jackson氏は、この状況はさらに悪化すると警告しています。彼がTechMonitorに語ったところによると:

「エンジニアリングやセキュリティに関する強力なバックグラウンドを持たない人々がこれらのツールを使ってソフトウェアを構築するようになっています…これは、誰も真剣に見ていないAI生成コードがさらに増えることを意味します。」

これが、バイブコーディングがマッケンジーが「vulnerability-as-a-service」と呼ぶものになる経緯です。訓練されていない人々がAIを使ってアプリをより速くリリースするほど、ウェブ全体でセキュリティホールがより速く増殖します。

Vibeのセキュリティ確保

開発者向けに、 Vibe Coders’ Security Checklistをすでに公開しています。これには、認証、入力サニタイズ、スキャン、シークレット管理といった基本事項が含まれています。

しかし、ここでのより重要な点は、意識です。AIコーディングを試している場合、またはチームが試している場合、午後に出荷する見栄えの良いプロトタイプが、攻撃者を招き入れるバックドアにもなり得ることを認識する必要があります。

チームは何ができるでしょうか?

  • AIコードはジュニア開発者が書いたものとして扱います。レビューし、テストし、厳重に保護します。
  • 認証は、自社で構築するのではなく、そのために構築されたサービスにアウトソースします。
  • シークレットをフロントエンドやリポジトリから除外してください。
  • 単にスキャンを実行するだけでなく、実際にロジックの欠陥について考えます。

当然のことのように聞こえますが、ほとんどのvibeコーダーはそれを行っていません。だからこそ、エンジニアリング以外の役割であっても、セキュリティは議論の一部である必要があります。

Agentic Codingとは何ですか?

エージェンティックコーディングは、バイブコーディングのさらに一歩先を行くものです。AIにスニペットを要求して貼り付ける代わりに、AIエージェントがコードの記述、実行、変更のプロセスを自動的に引き継ぎます。依存関係のインストール、テストの実行、ファイルのリファクタリング、さらにはインフラの更新も可能です。

このアプローチは、カジュアルユーザーよりも開発者や技術チームによって多く使用されており、より信頼できると感じさせます。問題は、この信頼が誤っていることです。Agentic codingは、よりクリーンでプロフェッショナルに見えるコードを作成しますが、その見た目がリスクを隠しています。

Agentic Codingがそれを加速させる

感覚的なコーディングがしばしば乱雑で明らかに脆弱なコードを生み出すのに対し、エージェンティックなコーディングは完璧に見えるコードを生成します。それが危険の一部です。たった一つの誤った決定がシステム全体に波及し、誰も気づかないうちに依存関係や環境を通じて広がる可能性があります。

AIツールは、これまで以上に速くこの種のコードを大量に生成しており、そのどれもがデフォルトでセキュリティを意識していません。クリーンなコードは出荷や再利用が容易であるため、脆弱性が静かに、そして急速に広がることを意味します。

リスクを制御する唯一の方法は、本番稼働前にミスを捕捉することです。これは、CI/CDパイプラインに直接接続し、すべての依存関係をスキャンし、即座のフィードバックで仮定を検証することを意味します。

CISOが考慮すべきこと

セキュリティリーダーにとって、vibeコーディングは単なる開発者のトレンドではありません。それは組織全体でソフトウェアが構築される方法を変えています。CISOの仕事は、ゲートを強制することから、本番環境を停止させることなく人々が実験できるようなガードレールを設計することへと変化しています。

考慮すべきいくつかの重要なアイデア:

  • MTTG (Mean Time to Guidance)
    MTTDやMTTRのような従来のメトリクスは、問題が発生した後に何が起こるかを測定します。MTTGは、コードが脆弱性になる前に、バイブコーダーがどれだけ早く実用的なガイダンスを得られるかを測定します。MTTGが低いほど、インシデントは発生しにくくなります。

  • PromptBOMs
    SBOMsのように、AIコードのためのものです。スニペットを生成したモデル、プロンプト、およびパラメーターのシンプルな記録です。何か問題が発生した場合、それがどこから来て、なぜ発生したのかがわかります。出所が明確であれば、説明責任も果たせます。

  • Vibe-Coding Assurance Levels (VCAL 0–5)
    自動運転レベルのように、AI支援コーディングのためのものです。VCAL-1は、AIが単に提案するレベルを意味します。VCAL-3は、ガードレールと出所情報の取得を追加します。VCAL-5は、継続的なアテステーションを伴う低リスク変更のための完全自律マージです。このフレームワークは、CISOが盲目的に反応するのではなく、期待値を調整する方法を提供します。

要点:すべての従業員に「セキュリティを行う」ことを教えようとしないでください。その代わりに、AIを使って人々が実際に構築する方法に合わせて、目に見えず、組み込まれ、スケーラブルなセキュリティUXを提供します。

まとめ 

Vibeコーディングはなくなることはありません。エンジニアリング内外の人々によって、AIのスピードでコードが書かれています。セキュリティを計画しなければ、単に高速に動いているだけでなく、同じ速さで脆弱性を広げることになります。

雰囲気は良好です。ただし、セキュリティチェックを忘れないでください。

実践的な手順を知りたいですか? Vibe Coders’ Security Checklistをお読みください。

共有:

https://www.aikido.dev/blog/vibe-coding-security

脅威ニュースをサブスクライブ

今日から無料で始めましょう。

無料で始める
CC不要

今すぐ、安全な環境へ。

コード、クラウド、ランタイムを1つの中央システムでセキュアに。
脆弱性を迅速に発見し、自動的に修正。

クレジットカードは不要です | スキャン結果は32秒で表示されます。