
「AIによって脆弱性の発見が爆増したことが、一目で分かるグラフ」として、「CVE Tracker」が話題になっています。たしかに、グラフの右端は、垂直に近い形で立ち上がっています。ただ、グラフが見せるのは、件数の合計だけです。どこで増えたのか、どの言語で増えたのかは、グラフからは分かりません。
そこで、グラフの元データ(CVEProjectが公開している記録、cvelistV5)を、こちらで数え直しました。この記事の数字は、その集計です。グラフの総数とは、2%以内で合っています。国内の報道は、数字や用語の取り違えがあることがあるので、気になる数字は、原文で確認してください。
CVEは、公開された脆弱性につく、共通の番号です。CVE Trackerは、その公開件数を、月ごとや日ごとに描くサイトです。2026年は、1月が4,302件、10月が17,049件でした。前年の10月は4,274件なので、約4倍です。2025年は、1年で48,151件でしたが、2026年は、10月までで89,849件になり、前年同期(39,638件)の約2.3倍です。
2025年は、毎月3,000〜5,500件で、ほぼ横ばいでした。動き出したのは、2026年の3月(6,236件)です。7月に9,759件、8月に12,258件、9月に14,934件と、毎月2,000件以上ずつ上がっています。国際団体のFIRSTは、6月に、2026年の年間予測を6万6000件に引き上げましたが(@IT)、月ごとの累計を足すと、9月の時点で72,800件になり、この予測を超えました。
この上がり方を、「AIが脆弱性を掘り起こしているから」と説明する報道が多く、CVE Trackerには、AIモデルの公開日を重ねる機能もあります。FIRSTも、AIの影響を理由の一つに挙げ、MozillaがAIを使ったテストで、Firefox 150の271件の問題を直した例を出しています(@IT)。ただ、CVEの記録には、AIが見つけたという印がありません。件数から、AIの影響だけを取り出すことは、できません。
CVEの番号は、番号を発行できる組織(CNA)が付けます。2026年1〜10月の発行元別の件数を、前年の同じ期間と比べると、増え方が一様でないことが分かります。
増えた組織は、いくつかに絞られます。GitHubは2,256件から12,443件に、VulnCheckは336件から7,678件に、Linuxカーネルは4,476件から8,201件に、Microsoftは1,108件から4,437件に、Oracleは314件から4,154件に、Chrome(Google)は110件から3,667件になりました。この6組織だけで、増えた件数の65%を占めます。残りの全組織を合わせても、前年の約1.6倍です。
一方で、WordPressのプラグインの脆弱性を多く扱うPatchstackは、5,922件から5,143件に、むしろ減っています。VulDBは、5,145件から6,106件で、1.2倍です。
つまり、全体の伸びは、いくつかの大きな組織の番号の付け方に、大きく左右されています。Chromeの110件から3,667件は、33倍です。1年でソフトの品質が33倍悪くなったとは考えにくく、番号を付ける範囲や方針が変わった可能性があります。VulnCheckについては、まだ番号のなかった脆弱性への番号付けが、前年より3,119件増えたと、FIRSTが書いています(@IT)。「AIが見つけた」増加と、「これまで番号を付けていなかったものに、付け始めた」増加が、混ざっていると見るのが自然です。
CVEの記録には、「どの言語のソフトか」という項目がありません。代わりに、GitHubが、パッケージ管理のサイト(npm、PyPIなど)ごとに審査して載せている脆弱性情報(GitHub Advisory Database)を、同じ期間で比べました。パッケージ管理のサイトは、言語とほぼ対応しているので、言語別の目安になります。
全体では、3,104件から12,338件に、約4倍になりました。最も増えたのは、npm(JavaScript、TypeScript)で、501件から3,684件の7.4倍です。PyPI(Python)は614件から2,604件、Goは530件から2,241件で、どちらも4.2倍です。NuGet(.NET)は4.5倍、RubyGemsは3.5倍、crates.io(Rust)は3.2倍、Packagist(PHP)は3.1倍でした。増え方が最も小さかったのは、Maven(Java)の1.6倍です。
ただ、この数字を、「JavaScriptが最も危ない」と読むのは、早すぎます。npmは、登録されているパッケージの数がもともと桁違いに多く、見つかる件数も多くなります。また、パッケージ側の件数は、3月に1,649件まで上がった後、7月まで1,400〜1,700件で横ばいになり、8月以降は、869件、970件、1,224件です。全体のグラフは、10月まで上がり続けているので、全体の伸びを引っ張っているのは、パッケージ以外、つまり、OS、ブラウザ、データベースなどの、大きな製品の側です。
CやC++は、パッケージ管理のサイトに載らないので、上の数字には入っていません。その代わりに、この言語で起きやすい種類の弱点、メモリの扱いの誤り(use-after-freeや、範囲外の読み書きなど)を、数えました。2025年1〜10月は3,344件、2026年は10,450件で、約3.1倍です。この種類の記録は、MicrosoftとChrome(Google)の2組織で、約4割を占めます。
弱点の種類(CWE)で見ると、増え方に偏りがあります。XSS(ウェブページへの不正なスクリプトの混入)とSQLインジェクションは、8,994件から10,074件で、1.1倍しか増えていません。全体に占める割合は、23%から11%に下がりました。
増えているのは、権限や認証の不備です。「認可の不備」(CWE-863)は305件から2,054件に、「他人のデータが見える設計」(CWE-639)は242件から1,867件に、「サーバーを踏み台にする」SSRF(CWE-918)は390件から1,992件になりました。認可と認証の弱点を合わせると、3,595件から11,860件で、3.3倍です。この種類は、GitHubとVulnCheckの番号で、約4割を占めます。パスの指定の不備(CWE-22)は3.5倍、OSコマンドの混入(CWE-78)は3.4倍でした。一方、CSRF(CWE-352)は、1,500件から887件に減っています。
これは、あくまで私の読みですが、「ツールで機械的に見つかる、定型の誤り」はあまり増えず、「コードの意味を読まないと見つからない欠陥」が増えているように見えます。AIがコードを読んで欠陥を探すことと、重なる動きです。ただ、この数字だけでは、AIの影響だと証明することはできません。なお、CWEが付いていない記録も、全体の25%ほどあります。
件数が2倍になっても、危険が2倍になったとは限りません。FIRSTは、すぐに直すべき脆弱性(CISAの悪用確認の一覧に載ったもの、または、悪用される可能性を示すEPSSが10%を超えるもの)は、あまり増えていないと書いています。課題は、見つけることから、どれを直すか選ぶことに、移っているそうです(@IT)。
飲食店や小さな会社が、毎月増える番号を、全部追う必要はありません。見るのは、自分の店や会社が使っているものに、出ているかどうかです。
自社のサイトのWordPressやプラグイン、ECの基盤、社内のルーターやVPN、ウェブサイトが使っているnpmやPythonの部品。この棚卸しが、先です。そのうえで、直す順番は、件数の多さではなく、「実際に悪用されているか」で決めます。入口の機器の確認は、VPN、メールゲートウェイなどの記事に、部品の確認の例は、Brotliの記事に、経営者が先に決めることは、ゼロトラストの記事に書いています。
自社のサイトやシステムが、何を使っているかの棚卸しと、更新の仕組みづくりは、お問い合わせからご相談ください。
ただいま、セキュリティについての無料相談を受け付けています。「自社のサイトは大丈夫か」「何から確認すればよいか」など、お気軽にご相談ください。
