Microsoftやシンガポール国立大学などの研究者が、AIに自然言語で指示して作る「バイブコーディング」製のWebアプリを調査しました。公開中のアプリを200件選んで調べたところ、91%に少なくとも1つの脆弱性が見つかりました。
見つかった欠陥は計1186件で、その65.77%が「高」または「致命的」に分類されました。研究では、不正アクセスやシステムの乗っ取り、データ漏えいにつながる可能性がある深刻な欠陥とされています。調査対象は公開アプリの一部であり、すべてのバイブコーディング製アプリに同じ割合が当てはまるとは限りません。
欠陥の多くは知識不足から
研究チームは脆弱性の原因を3種類に整理しました。最も多かったのは、暗黙の安全ルールをAIが見落とすなどの「知識の欠陥」で63.4%。安全対策より動作を優先する「目的の欠陥」が23.1%、開発途中で安全対策を忘れる「記憶の欠陥」が13.5%でした。
同じ作業をAIにやり直させた実験では、何も工夫しない場合、同じ脆弱性が再び生じる確率は25.7%でした。指示に「本番運用に耐えるもの」と加えると11.0%、セキュリティ強化用のスキルを追加すると11.9%に下がりました。一方、技術的な指示を細かく書くと45.7%に上昇。より上位のAIモデルに替えても、結果はほとんど改善せず、悪化する場合もあったと報告しています。
公開前の確認が課題
調査の出発点は、オープンソースで公開されている9041件のうちWebアプリ8695件、そのうち稼働中の984件です。研究者らはこの984件から無作為に200件を抽出しました。研究の題名は「Understanding the (In)Security of Vibe-Coded Applications」で、論文はarXivに掲載されています。
なぜ重要か
AIを使ってWebアプリを公開する個人や小規模チームにとって、AIが作ったコードも公開前のセキュリティ確認が必要だと示す調査です。ただし、調べたのは公開中の200件で、未公開アプリや全サービスの危険度は分かりません。また、指示の工夫で再発率が下がった実験結果はありますが、それだけで実際のアプリが安全になるとは確認されていません。