注目

研究・分析 / RESEARCH / EXPLOIT / AI-GENERATED

偽AI PoCがGitHubに氾濫 — VulnCheckが1.8万件を分析、採択率51%→45%に低下、SloPoCの見分け方を公開

VulnCheckのInitial Access Intelligenceチームは2026年8月20日、GitHubなどで公開されるPoC(概念実証)コードの分析結果を報告した。2025年に約2万件を精査したのに対し、2026年は8月中旬時点で既に1万7800件超を審査し、AI生成の“見せかけ”PoCが急増して採択率が51%から45%へ低下したという。SloPoCと呼ばれる偽AI PoCの特徴と、悪性PoCの手口を事例とともに示している。

攻撃手法
ソフトウェア

VulnCheckのInitial Access Intelligenceチームは2026年8月20日、公開リポジトリに投稿されるPoC(概念実証)コードの審査状況をまとめた報告「Death By 20,000 PoCs」を公開した。GitHubなどで公開されるPoCの量がAI生成コンテンツの流入で急増し、一方で実際に有効なコードの割合は低下しているという。チームは2025年に約2万件のエクスプロイトを精査したが、2026年は8月中旬時点で既に1万7800件超を審査しており、2025年通年の87%に4.5か月を残して到達するペースだ。

採択率が51%から45%へ — AI生成の“量”が質を押し下げる

VulnCheckは、公開エクスプロイトの収集・検証を日常業務とし、GitHubホストのPoCは年間で追跡するエクスプロイト全体の14〜20%を占める重要指標と位置づける。過去2年間はGitHub上のPoC採択率は約51%で安定していたが、2026年は約45%へ低下した。VulnCheckは、2025年にAI生成の“スロップ(slop)”急増を受け、却下理由の記録を開始したことでパターンが可視化されたとしている。

却下理由は次のように分類される。

  • Not an exploit(最多): エクスプロイトコードを含まないプレースホルダ、チェック用コードのみ、研究メモの寄せ集めなど。AI生成の要約がこの区分を押し上げている
  • Fake / AI-generated(SloPoC): 一見すると実在するコードに見えるが、実際には動作しないAI生成の偽PoC
  • Malicious(悪性): 偽装したうえにマルウェアを仕込む
  • Pay link: コードの代わりに有料リンクを置き暗号資産を要求
  • Obfuscated(難読化): Pyarmorなどで判読不能にして公開
  • Fork: 既存リポジトリのフォークで独自性なし

最も多い却下理由は「エクスプロイトコードを含まない」ことで、次いで偽AI PoCが続く。いずれも絵文字の多用や過度に装飾された体裁、数十語で済む内容を数百語に引き延ばす冗長な要約といったAI生成の特徴が共通する。VulnCheckは「AIは実際の脆弱性を発見しているが、同時に大量のslopコードと装飾的なノイズも生成している」と述べている。

SloPoCの特徴 — CVE-2026-55200の事例

VulnCheckは、CVE-2026-55200(libssh2の境界外書き込み)の偽リポジトリを例に挙げる。READMEは高度な根本原因分析やASCII図を備えるが、Cコードはメモリ破損を突くためのオフセットやROPガジェット、シェルコードを欠き、ローカルでサーバソケットを開いて来ないリバースシェルを待つだけで、要求されるchacha20-poly1305暗号も未実装だという。VulnCheckは「200語のREADMEが20語で済むならAI生成を疑うべき」と指摘する。

こうした偽PoCは拡散や承認欲求、経歴の水増しを目的に作られることが多く、GitHubスターは0〜5が大半で、多くのユーザは騙されないという。一方で、商用のリスク評価製品がGitHubのPoCを無検証で取り込む場合、誤ったリスク指標となる危険がある。

悪性PoC — 正規スキャナにバックドア、Base64の二重化

悪性PoCは件数としては少ないものの、研究者に直接危害を及ぼす。VulnCheckが確認した一例では、CVE-2023-36845向けのVulnCheck製スキャナが改変され、文字列配列をインデックス連結して生成する関数 jEffeKR が、実行時に wgetvanartest[.]website からディスクワイプ型ペイロードを取得・実行するコードが挿入されていた。

別のCVE-2026-41940(cPanel/WHMの認証バイパス)を装うPoCでは、Base64で二重にエンコードされたPythonコードexec で実行され、OS別に分岐してバックドアをダウンロードする。VulnCheckは「理解できないBase64の塊は極めて疑わしい。理解できないのは、作者が理解させたくないからだ」と強調する。

このほか、Pyarmorで難読化されたPythonや、コードの代わりに有料リンク(satoshidisk[.]com等)だけを置くPay Link型も確認された。難読化されたPoCは悪性とみなして実行せず、GitHubへ報告すべきだとしている。実際、VulnCheckが報告したリポジトリのほぼ全ては、報告から約1週間以内にGitHub側で削除されている。

検証の在り方 — 「読んでから実行せよ」

VulnCheckは、エクスプロイト量の増加に伴い、検証プロセスの適応が不可欠だと指摘する。信頼できない公開リポジトリのコードを盲目的に実行すれば、深刻な侵害につながる。同社は「コードを読む前に実行するな。読めないコードは、読ませたくないから読めないのだ」と呼びかけ、GitHub上のPoCを実行環境に持ち込む前に必ず内容を精読し、難読化やPay Link、Base64の塊を警戒することを推奨している。

同社は今後もPoCデータの分析を継続するとしている。


出典: VulnCheck, Jonathan Peterson (@lobsterjerusalem), “Death By 20,000 PoCs”, 2026年8月20日. https://www.vulncheck.com/blog/death-by-20k-pocs

参考(二次情報・本文出典には非掲載): SecurityOnline.info “Fake AI PoCs Flood Exploit Repositories in 2026” (2026年8月25日) は同VulnCheck報告を要約した二次情報のため、出典としては一次情報のみを掲載した。

この記事は、公開情報と編集部の調査・知見をもとに構成しています。内容は公開時点の情報に基づく解説であり、個別の環境への診断・対応を保証するものではありません。重要な判断では、記事内の出典や各提供元の最新情報もご確認ください。