7月29日、SD Timesが「Veracode Finds AI-Generated Code Security Has Barely Improved Since Last Year」と題した記事を公開した。この記事では、AIが生成するコードのセキュリティ合格率が昨年からほぼ改善されていないというVeracodeの調査結果について詳しく紹介されている。以下に、その内容を紹介する。
アプリケーションリスク管理ベンダーのVeracodeが、2026 GenAI Code Security Reportを公開した。100以上のモデルを対象に4回のスナップショットテストを実施した結果、AIが生成するコードの平均セキュリティ合格率は**56%**にとどまり、昨年の報告からほぼ横ばいだった。
現在、コミットされるコードのおよそ半分がAIによって生成されているとされるが、そのセキュリティ品質は速度・能力・推論力の向上とはまったく連動していない。
「ほぼ完璧な構文」と「44%のセキュリティ失敗」の対比
今回の調査で最も際立つのは、この非対称性だ。テスト対象のモデルが生成したコードは、構文的に正しくコンパイルできるという観点では合格率がほぼ100%に達する。一方、セキュリティ観点での合格率は56%。セキュリティを意識した指示(プロンプト)を与えずに生成した場合、約44%のケースで脆弱なコードが生成される。
Veracodeの共同創業者でありChief Security EvangelistのChris Wysopal氏はこう述べている。
「モデルは構文的にはほぼ完璧だが、セキュリティが必要なタスクのほぼ半分で失敗している。この数字は、すべての組織にとってレッドフラッグであるべきだ。」
コーディング特化モデルも汎用モデルと変わらない
この調査が突きつける、エンジニアにとって特に痛い発見がある。コーディング専用モデルは汎用モデルよりもセキュアではないという点だ。
- コーディング特化モデルの平均セキュリティ合格率:51%
- 汎用モデルの平均セキュリティ合格率:52%
差はわずか1ポイント。「コーディング向けモデルを使えばセキュリティリスクを下げられる」という前提で採用を進めている場合、実態はそうではないことになる。
モデルサイズも効かない。推論モデルだけが例外
もう一つ通説が崩れた。モデルの規模(パラメータ数)はセキュリティ性能に影響しない。
| モデル規模 | 平均セキュリティ合格率 |
|---|---|
| 大規模(1000億パラメータ超) | 53% |
| 中規模 | 51% |
| 小規模 | 51% |
差はほぼない。一方、推論モデル(reasoning model)は例外で、非推論モデルの51%に対して**56%**の合格率を維持している。Veracodeはこれを「拡張推論が内部的なコードレビューとして機能している」と解釈している。推論モデルとは、回答を生成する前に内部で思考ステップを踏む設計のモデルを指す(OpenAIのo3シリーズやGoogleのGemini 2.5 Pro等が代表例)。
ランキングトップはGPT-5.5の68%、最下位は50%
今夏版のリーダーボードでは、OpenAIの**GPT-5.5が68%**でトップに立つ。ただし、「トップモデルでも3回に1回はセキュリティタスクに失敗する」という現実は変わらない。11モデル中6モデルが50〜53%に集中しており、差はほとんどない。
最下位はAlibabaの**Qwen3.7-maxで50%**。2回に1回、脆弱なコードを吐き出す計算だ。
また、昨年まで西側企業のモデルが上位を占めていたが、今回は中国発のKimi-K2.6とMiMo-V2.5が複数の西側モデルを上回った。Veracodeはモデルの出所(プロバンス)を調達判断の要素として考慮するよう企業に促している。
言語別ではJavaが最低水準、ただし改善傾向
言語別の合格率は**Python 63%が最高、Java 30%**が最低と大きな開きがある。Javaが最もリスクの高い言語という状況は昨年から変わらないが、Javaは唯一、明確な上昇トレンドを示している言語でもある。
Veracodeの推奨対策
Veracodeは組織に以下の対応を推奨している。
- リアルタイムの脆弱性修正:開発ワークフローにVeracode Fix等のAIツールを組み込む
- エージェンティックワークフローへのセキュリティ組み込み:自動でセキュアコーディング基準を適用する
- SCA(ソフトウェアコンポジション解析)の活用:サードパーティ・オープンソース依存関係の脆弱性検出
- Package Firewallの導入:脆弱・悪意あるパッケージが開発環境に入る前にブロックする
Wysopal氏は「AIが生成したコードは、レビューされていないコードと同様に扱うべきだ。スキャンし、修正し、そのまま出荷しない。LLMが構文と同じようにセキュリティについて推論できるようになるまで、開発ワークフローのガードレールは任意ではない」と締めくくっている。
詳細はVeracode Finds AI-Generated Code Security Has Barely Improved Since Last Yearを参照していただきたい。