6月22日、DevClassが「Devs know AI code is riddled with holes, but ship it anyway」と題した記事を公開した。この記事では、開発者の70%がAI生成コードに脆弱性が多いと認識しながらも、脆弱なコードをそのまま本番環境に出荷している実態について詳しく紹介されている。
「リスクは日常になった」——Checkmarxの調査が示す現場の実態
AppSecベンダーのCheckmarxが、2,350人の開発者・CISO・AppSecマネージャーを対象にした調査レポートを公開した。2023年から毎年実施されている調査で、今年は昨年比54%増の回答数を得ている。
結果は率直に言って厳しい。70%の開発者が「AI生成コードには人間が書くより脆弱性が多い」と回答しており、そのことを認識しながら脆弱なコードを本番環境にデプロイしている割合が**30%に上る。つまりタイトルの「7割」は「AI生成コードが脆弱だと知りながら出荷する開発者の割合」を指し、30%は「脆弱性の存在を把握した上でデプロイする」という別軸の統計だ。いずれにせよ、AI生成コードの比率は本番コード全体の約49%**を占め続けており(昨年の54%からわずかに低下)、リスクが常態化していることに変わりはない。
Checkmarxはレポートの中でこの状況をひと言で表現している。
「リスクは正常化した(Risk is normalized)」
なぜ脆弱なコードを出荷するのか
開発者が脆弱なコードを出荷する理由として挙げられているのは、主に以下の3点だ。
- デプロイ速度へのプレッシャー
- 脆弱性の修正が困難すぎる
- 他のセキュリティコントロールが補ってくれるという期待
脆弱性に起因するセキュリティ侵害を「1件以上経験した」と回答した割合は**93%**。昨年の98%からわずかに改善してはいるが、依然として壊滅的な水準だ。
AI採用率が高いほど、脆弱なコードの出荷率も上がる
特に重要な知見がある。Checkmarxの調査によれば、コードの81〜100%をAIで生成している組織は、1〜20%の組織と比べて脆弱なコードを3.4倍の速度で出荷している。
「AI生成コードの量は脆弱コードのデプロイ量と直接相関し、それがセキュリティ侵害の頻度と直接相関する」とCheckmarxは述べている。
なぜAI生成コードに脆弱性が多いのか。背景のひとつとして、LLMが学習データ(主に公開コード)に含まれる脆弱なパターンをそのまま再現してしまう点が挙げられる。フロリダ大学とパレスチナのビルゼイト大学の研究者による「How Secure is AI-Generated Code? Evaluating LLM-Generated Code with Static Analysis」(arxiv, 2025)では、LLMが「現代的な言語機能やコンパイラ機能を使いこなせておらず、より安全な代替手段よりも古いプラクティスを好む傾向がある」と指摘されている。学習データに古い慣習が多く含まれているためだ。プログラミング言語別では、Cコードが最も脆弱性が多く、Pythonが最も少ないという結果も出ている。
ツールはあるが、プロセスに落とし込めていない
静的解析ツールやAIベースの脆弱性検出ツールは存在する。問題はそれを使わないことではなく、組織のプロセスに組み込めていないことだ。
「ツールは仕事をするが、組織はそれをプロセスに変換することができていない」とCheckmarxは指摘する。Veracodeも「Rapid AI-driven development makes security 'unattainable'」(The Register, 2026年2月)の中で同様の見解を示しており、AIによる開発加速がセキュリティ対応のキャパシティを上回っているとしている。
本番コードのもうひとつの問題として、オープンソースの比率が高い点もある。調査対象のプロダクションコードの59%がオープンソースで構成されており、node_modulesなどに埋まったライブラリのセキュリティ管理は容易でない。npmやPyPIへの悪意あるパッケージの混入も継続的な課題だ。
開発速度とセキュリティのトレードオフは今に始まった話ではないが、AI生成コードの普及がそのギャップを定量的に拡大しているという今回の調査結果は、現場のエンジニアリーダーにとって無視しにくいデータだろう。
詳細はDevs know AI code is riddled with holes, but ship it anywayを参照していただきたい。




