スタンフォード大研究:AIでコードを書くほど脆弱性を作り込みやすい
スタンフォード大学の研究チームは、OpenAIのCodexを使った開発者はセキュリティ脆弱性のあるコードを書きやすく、それを安全だと過信しやすいと発表した。研究者は、AIはまだ人間の代替にはならず、出力の慎重な検証が欠かせないと指摘している。

AIによるプログラミング支援は開発効率を何倍にも引き上げると期待されていますが、現場に思わぬ落とし穴を持ち込んでいるようです。
スタンフォード大学の研究チームが発表した論文によると、OpenAIのCodex(GitHub Copilotのベースとなっているモデル)などのコード生成AIを利用した開発者は、自力で書く開発者に比べてセキュリティ脆弱性を作り込む確率が高いことが明らかになりました。
脆弱性が増えるだけでなく、過信も深まる
研究チームは、現役の学部生から数十年の経験を持つベテランプログラマーまで、計47人の開発者を集めて実験を行いました。参加者はPython、JavaScript、C言語を用いて、セキュリティに関連する実装課題に取り組みました。
対照群と比較した結果、Codexを利用したグループは、正しくなく安全性を欠いたコードを書く傾向が強まりました。さらに深刻だったのは、そうした危険なコードを書いた開発者ほど、自分のコードは安全だと自信を持って答える傾向があった点です。
論文の筆頭著者であるスタンフォード大博士課程のNeil Perry氏は、コード生成システムは人間の開発者の代わりにはならないと強調しています。自分の専門外の領域で使う場合は特に警戒が必要であり、得意な作業の効率化に使う場合でも、出力されたコードとプロジェクト全体への影響を慎重に見直す必要があります。
共著者のMegha Srivastava氏も、暗号ライブラリなどの安全でないデフォルト設定をAIがそのまま採用してしまいやすいことや、開発者側に脆弱性を見抜くセキュリティの専門知識が不足している実態を指摘しています。
デフォルト設定の罠と著作権の火種
研究チームは、AI支援ツールの全面的な否定をしているわけではありません。Srivastava氏は、探索的なプロトタイプ開発などリスクの低い作業には極めて有用であり、企業が自社の安全基準に沿ったソースコードでモデルを追加学習させれば、安全性は高まる可能性があると述べています。
一方で、脆弱性に加えて著作権の問題も燻り続けています。Codexは公開されている膨大なコードを学習しており、その中には利用条件が厳しいライセンスも含まれています。過去にはCopilotがゲーム『Quake』のソースコードや技術書のコードをそのまま出力した事例も報告されています。
GitHubは6月に約150文字の前後の文脈を照合して類似コードを遮断するフィルターを導入しましたが、完璧ではありません。テキサスA&M大学のTim Davis教授は、フィルターを有効にしていてもCopilotが自身の著作権保護コードをライセンス文ごと大量に出力した例を報告しています。
なぜ重要か
私たちが注目すべきは、AIがもたらす「根拠のない安心感」という心理的な落とし穴です。整ったフォーマットで即座に提示されるコードを見ると、人間はつい警戒を解いてしまい、動くことと安全であることを混同してしまいます。
開発者やエンジニアリング組織にとっては、AIの出力を鵜呑みにせず、レビュー体制を再構築する強い警告となります。特に経験の浅いジュニア開発者が基礎的な安全規範を学ぶ機会をAIで省略してしまうのは、長期的に見て大きなリスクです。
ツールを提供するベンダーにとっても、単なる入力補完の速さを競う段階は終わりました。プロンプトを安全な形に自動補正したり、安全なデフォルト設定を優先的に提案したりするような、実践的なセキュリティガードレールを製品に組み込めるかどうかが、今後の勝負の分かれ目になりそうです。
情報源 (2)
- techcrunch.com(新しいタブで開きます)原文techcrunch.com
- cacm.acm.org(新しいタブで開きます)報道cacm.acm.org
トピックを追うAIコーディングツールのリスクに関するスタンフォード大学の研究
- スタンフォード大研究:AIでコードを書くほど脆弱性を作り込みやすいこの記事
- AI支援でコードを書く開発者、バグと脆弱性が増加=スタンフォード大研究