メインコンテンツに移動

AIによる脆弱性発見が加速する時代へ|PHP2Shellから考えるホームページの備え

AIによる脆弱性発見が加速する時代へ|PHP2Shellから考えるホームページの備え

2026年10月21日、Webサイトで広く使われているプログラム言語「PHP」に、深刻な脆弱性が2つ公表されました。

「PHP2Shell」と呼ばれるこの脆弱性は、PHPそのものに見つかったもので、日本でも首相が公式のXで対応を呼びかけるほどの騒ぎになりました。

弊社でもその夜に、サーバーで動いているPHPの版やバックアップの範囲を確認しました。
そのときの対応は「PHPの緊急脆弱性で何をすればいい?修正版公開後の対応手順」にまとめています。

そして、それから2日後。CDNやセキュリティのサービスを提供する米Cloudflare(クラウドフレア)のマシュー・プリンスCEOが、PHP以外の重要なソフトウェアでも同じくらい深刻な脆弱性が公表されていくという見通しを示したことが報じられました。

今回の脆弱性は、AIを使った調査で見つかったものです。
AIが古いプログラムの奥に眠っていた欠陥を次々に見つけるようになると、「数年に一度の大事件」が、これからは珍しくなくなるかもしれません。

この記事では、PHP2Shellで何が起きたのか、Cloudflareは何をして、何ができないのか、そして中小企業のホームページがこれからどう備えればよいのかを、図解と動画で説明します。

この記事の要点

  • PHP2Shellは、AIを使った調査で見つかった、PHPそのものの深刻な脆弱性
  • AIによって、脆弱性が見つかる速さも、攻撃が始まる速さも上がっている
  • CloudflareのWAFは無料プランでも働いたが、時間を稼ぐ仕組みであり、更新の代わりにはならない
  • これからは「PHPを使っているか」ではなく、どのソフトウェアにも起こりうる前提で備える
  • 備えは1つでなく、把握・更新・時間稼ぎ・減らす・戻すを重ねること

 

PHP2Shellで何が起きたのか

PHPは、WordPressやDrupalなど多くのCMSを動かしている言語です。
今回の脆弱性はPHPそのものにあったため、その上で動くアプリケーションの作りに関係なく、影響を受ける可能性がありました。
発見したセキュリティ会社のWizは、過去10年ほどの間に出たPHPのほぼすべての版が、少なくとも1つの脆弱性の影響を受けると説明しています。

時期起きたこと
2026年8月Wizの研究チームが、AIを使った調査でPHPの脆弱性を見つけ、PHPの開発チームに報告
10月21日(公表の約9時間前)Cloudflareが、攻撃を止めるWAFのルールを、無料プランを含む利用者に自動で適用
10月21日(公表の前)Cloudflareの網で、すでに数千件の攻撃の試みが見つかる
10月21日脆弱性の公表と、修正版の公開
公表後の数時間から数日攻撃の試みが数十万件、さらに数百万件へと増加

注目したいのは、公表される前から攻撃の試みがあったことと、公表後に攻撃が一気に広がったことです。
修正版が出てから、のんびり様子を見ていられる状況ではありませんでした。

 

なぜ「これからも続く」と言われるのか

今回の脆弱性は、長い間だれにも気づかれずにPHPの中に残っていたものです。
それが見つかった背景には、AIの進歩があります。
AIは、人が何か月もかけて読み解くようなプログラムの奥まで調べ、弱いところを見つける手助けをするようになりました。

これは、守る側にとっては朗報です。隠れていた欠陥が見つかり、直せるようになるからです。
プリンス氏も、見つかった脆弱性に向き合うことを、お化け屋敷に潜む怪物を一体ずつ退治していくことにたとえ、隠れたままにしておくよりよいという考えを示しています。

一方で、同じ道具は攻撃する側も使えます。下の図(再生ボタンで動画になります)は、脆弱性が見つかってから攻撃されるまでの流れが、これまでとどう変わったかを示したものです。

脆弱性が見つかってから攻撃されるまでの時間が縮んでいることを示す図。これまでは、人が時間をかけて脆弱性を見つけ、公表・修正版が出てから攻撃が広がるまでに、更新を当てる時間があることも多かった。これから(AIの時代)は、AIが短期間で古いプログラムの奥まで調べて脆弱性を見つけ、PHP2Shellでは公表の約10時間前から攻撃の試みがあり、公表後は数時間で数十万件、その後数百万件の試みに増えた。AIは守る側にも使われ、見つかった脆弱性は早く直すほど安全になる

これまでは、脆弱性が公表されてから攻撃が本格的に広がるまでに、更新を当てる時間があることも少なくありませんでした。
これからは、その時間がどんどん短くなっていきます。
プリンス氏が、ほかのソフトウェアでも深刻な脆弱性が出てくると見ているのも、こうした流れを踏まえたものです。

つまり、これからの備えは「PHPを使っているかどうか」ではなく、自社のホームページで動いているものなら、どれにでも起こりうるという前提で考える必要があります。

 

Cloudflareは何をしたのか、何ができないのか

今回、Cloudflareは脆弱性が公表される約9時間前から、攻撃を止めるためのルールをWAF(Webアプリケーションファイアウォール)に入れていました。このルールは無料プランを含む、WAFが働いているすべての利用者に自動で適用されています。Cloudflareを入れているだけで、更新が間に合うまでの間、攻撃の一部を手前で止めてくれたわけです。

ただし、Cloudflare自身も、これは当座しのぎの対策だとしています。

下の図(再生ボタンで動画になります)は、Cloudflareで守れる道と守れない道を示したものです。

Cloudflareで守れる道と守れない道の図。Cloudflareを通る訪問者はこれまでどおりページを見られ、よく知られた攻撃の形はCloudflareの手前でブロックされる。ただし、サーバーに直接届く通信はCloudflareを通らず、攻撃する側はブロックを避けるように攻撃の形を変えてくる。サーバーのPHPなどを修正版に更新すれば、どの道から来ても入り込めない。Cloudflareは無料プランでもWAFを使えるが、それだけに頼らず更新を優先する

CloudflareができることCloudflareだけではできないこと
よく知られた攻撃の形を、サーバーに届く前に止めるサーバーに直接届く通信を止める(Cloudflareを通らない道)
新しい攻撃が出てきたら、ルールを足していくルールをすり抜けるように形を変えた攻撃を、すべて止める
更新が間に合うまでの時間を稼ぐPHPやCMSの欠陥そのものを直す

実際に、攻撃する側はルールを避けるように攻撃の形を変えてきており、Cloudflareも、WAFがあってもPHPの更新を行うよう呼びかけています。Cloudflareは「時間を稼ぐ仕組み」、根本の対策は「更新」と分けて考えるのが大切です。

Cloudflareでできることは「Cloudflareで何ができる?」でも紹介しています。

 

中小企業のホームページが、今から備えられること

「大企業のような体制はとても作れない」と感じる方もいるかもしれません。

それでも、できることはあります。

大切なのは、1つの対策に頼らず、小さな備えを重ねることです。

AIの時代に備える5つのことの図。1 自社のサイトで動くものを知る(PHPの版、CMS、プラグイン、外部のサービスを一覧に。まずはここから)。2 すぐ更新できる体制をつくる(誰が、いつ確認し、どう更新するかを先に決めておく)。3 時間を稼ぐ仕組みを置く(WAFなどで、更新までの間の攻撃を減らす)。4 公開側で動くものを減らす(動くプログラムが少ないほど、守る場所も減る)。5 戻せる・気づけるように(外にもバックアップ、戻す手順の確認、異常に気づく仕組み)。完璧な1つの対策はなく、備えを重ねることがいちばんの備え。どこから手をつけるかは、サイトの構成と扱う情報によって変わる

1. 自社のサイトで動くものを知る

今回のような場面で困るのが、「うちのサイトがPHPで動いているか分からない」という状況です。
脆弱性が公表されたときに、すぐ「関係あるか」を判断できるよう、PHPの版、CMSとその版、プラグイン、フォームや予約などの外部サービスを一覧にしておきましょう。制作会社に任せている場合は、一覧をもらっておくだけでも違います。

2. すぐ更新できる体制をつくる

攻撃が始まるまでの時間が短くなると、「誰かが気づいたら更新する」では間に合いません。
誰が脆弱性の情報を確認し、誰が更新し、更新後に誰が表示を確かめるのかを、先に決めておくことが大切です。

3. 時間を稼ぐ仕組みを置く

CloudflareのWAFのように、更新が間に合うまでの間、攻撃を手前で減らす仕組みも役に立ちます。
ただし、サーバーへの直接の通信は通ってしまうので、あくまで更新までの「つなぎ」と考えます。

4. 公開側で動くものを減らす

公開しているサーバーで動くプログラムが少ないほど、脆弱性の影響を受ける場所も減ります。
会社案内のように更新の少ないページは、静的なHTMLで公開する方法もあります。
詳しくは「静的HTMLに変えるべき?WordPressのメリット・デメリットを比較」で解説しています。
ただし、静的なHTMLにしても、フォームやサーバーの管理など、守るべき場所は残ります。

5. 戻せる・気づけるようにする

どれだけ備えても、被害をゼロにすることはできません。
サーバーの外にもバックアップを残し、実際に戻せるかを確かめておくこと。
見覚えのないページやファイルが増えていないか、気づける仕組みを持っておくことが、最後の守りになります。

 

AIで作ったサイトにも、同じことが言える

AIは、Webサイトを作る速さも大きく変えました。
ただ、今回の出来事が示しているのは、AIで速く作れる時代は、AIで速く弱点を見つけられる時代でもあるということです。

AIで作ったサイトでも、人が作ったサイトでも、中で何が動いているのかを把握し、検証し、公開後も更新を続けることが欠かせません。

AIで作ったサイトで確かめたい点は「AIが作ったWebサイトは安全なのか?構成・通信・依存関係・脆弱性を検証する重要性」で詳しく解説しています。

 

よくある質問

Q. PHPを使っていないホームページなら、心配はいりませんか?

今回の脆弱性の影響は受けませんが、安心はできません。これからはPHP以外のソフトウェアでも深刻な脆弱性が公表されていくと見られています。使っているCMSやサーバーのソフトウェア、外部のサービスなど、自社のサイトで動いているものを把握しておくことが大切です。

Q. Cloudflareを入れていれば、更新しなくても大丈夫ですか?

大丈夫ではありません。CloudflareのWAFは、更新が間に合うまでの時間を稼ぐ仕組みです。サーバーに直接届く通信は通ってしまいますし、形を変えた攻撃をすべて止められるわけでもありません。Cloudflare自身も、WAFがあっても更新するよう呼びかけています。

Q. レンタルサーバーを使っている場合、自分で何かする必要はありますか?

PHPの本体はサーバー会社が更新することが多いですが、使うPHPの版を自分で選ぶ仕組みのサーバーもあります。サーバー会社のお知らせを確認し、サポートが終わった古い版を選んでいないかを確かめましょう。CMSやプラグインの更新は、基本的に自分(または制作会社)で行う必要があります。

Q. 小さな会社では、どこから手をつければよいですか?

まずは「自社のサイトで何が動いているか」を一覧にすることです。それが分かれば、次に脆弱性が公表されたとき、関係があるかどうかをすぐに判断できます。

 

まとめ:脆弱性は「いつか来る」ではなく「次々に来る」

  • PHP2Shellは、AIを使った調査で見つかった、PHPそのものの深刻な脆弱性
  • AIによって、見つかる速さも、攻撃が始まる速さも上がっている
  • Cloudflareは時間を稼いでくれるが、根本の対策は更新
  • 「PHPだから」ではなく、どのソフトウェアにも起こりうる前提で備える
  • 把握・更新・時間稼ぎ・減らす・戻す。備えを重ねることが大切

深刻な脆弱性のニュースが続くと、不安になるのは自然なことです。ただ、慌てて対策を足すより、まず自社のサイトの状態を知ることが、いちばん確かな一歩です。

金風株式会社では、中小企業のホームページを対象に、どこで何が動いているか、入口になりやすい場所はどこかを第三者の目で確認するセキュリティ診断を行っています。自社のサイトの備えが気になった方は、お気軽にご相談ください。

 

あわせて読みたい

 

参考資料

最新のお役立ち情報はメルマガでもお届けしています