名古屋でAIシステムの開発をしている小嶋です。PHPの重大な脆弱性「PHP2Shell」の修正版が出る前の晩に、高市総理がXで「皆様に、今夜に対応して頂きたい大至急のお願いです」と投稿しました。表示は1億回を超えています。
この投稿には「守る側に届いてよかった」という声が多い一方で、「攻撃する側にも、今夜PHPに穴が開くと教えたのではないか」という疑問もあります。私も後者が気になりました。そこで、時系列を並べ直し、当社のサーバーのアクセスログで攻撃の動きを数えて確かめました。
結論:知っていたのは攻撃する側の一部で、総理の投稿はそれをはるかに広く知らせた
PHP2Shellの詳細は、総理の投稿の前日にSNSへ漏れていました。ただし、それを追っていたのは攻撃者の情報網を見ている一部の人たちです。総理の投稿は、「PHPに、ログインなしでサーバーを乗っ取れる穴がある」「修正は今夜23時に出る」「日本の役所や企業は今夜あわてて対応する」ということを、1億回の表示で、ふだんそうした情報網を見ていない人にまで届けました。
それで実際に攻撃が増えたのかは、当社のログの規模では決められませんでした。投稿の直後に当社のサーバーで急増は見えず、翌日に1台のスキャンによる急増があっただけです。
PHP2Shellとは
PHP2Shellとは、PHPそのものにあった2件の重大な脆弱性(CVE-2026-109618とCVE-2026-109619)の通称です。ログインしていない人が、どの.phpファイルにでも大きなフォームを送るだけで、サーバー上で命令を実行できてしまいます。深刻度はCVSS 4.0でどちらも9.2で、WordPressなど多くのホームページが影響を受けます。
攻撃はPHPがページを動かす前に起きるので、ホームページの仕組み(アプリ)の記録には残りません。見えるのはWebサーバーのアクセスログだけです(Datadogの解説による)。
時系列:総理の投稿は修正版公開の約1時間前だった
- 10月17日:AWSが、公表の4日前から攻撃の試みを観測していた(Datadogが引用したAWSの報告)
- 10月20日:PHPの開発チームが「重大な脆弱性2件の修正を21日23時(日本時間)に出す」と事前告知。同じ日に詳細がSNSに漏れた
- 10月21日 21時55分:高市総理がXで「大至急のお願い」を投稿
- 10月21日 22時57分:国家サイバー統括室が修正版の公開を案内
- 10月21日 23時:修正版(8.2.35・8.3.36・8.4.27・8.5.12)が公開された
総理の投稿の中身は、「PHPを使っているか確かめ、23時に出る修正を速やかに当てる準備を」「すぐ当てられなければ、サイトを一時的に止めることも有効」というものでした。運営する側への呼びかけとしては的確です。文部科学省のサイトや、さくらインターネットの一部の機能が実際に止まったのは、この呼びかけどおりの動きでした。
「攻撃者はもう知っていた」は正しくない
この件でよく見かけた反論は「詳細はもう漏れていたのだから、総理が言っても言わなくても同じ」というものです。私も最初はそう考えましたが、正確ではありません。
漏れた情報を読んでいたのは、SNSや攻撃者の情報網を追っている一部の手慣れた人たちです。総理の投稿は国内の大きなニュースになり、「日本の首相がPHPの脆弱性を警告」と英語でも報じられました。いいねは39万、リポストは8.9万です。知っていた人の数は、この投稿で何倍にもなったと考えるのが自然です。
とくに効いたと思うのは、修正の出る時刻まで示したことです。修正版が出ると、攻撃者は修正の前と後の違いから穴の場所を割り出し、まだ更新していないサーバーを狙います。「今夜23時に出る」と広く知らせたことで、その時刻を待ち構える攻撃者を増やした、という見方は筋が通ります。
一方で、同じ投稿は守る側にも1億回届いています。差し引きで攻撃を増やしたのか減らしたのかは、意見だけでは決められません。そこで、手元のログで確かめることにしました。
当社サーバーのアクセスログで数えたこと
当社のサーバー(Webサーバーのnginx)のアクセスログで、外部からのアクセスと、.phpを狙ったアクセスを時間ごとに数えました。このサーバーはPHPで動いていないので、見えるのは、インターネット全体を巡回しているスキャナーの動きです。
- 調べた期間:10月11日〜25日(外部からのアクセスは2,221件)
- 総理の投稿から翌朝6時まで:外部からのアクセスは、検索エンジンの巡回など5件だけ。.phpを狙ったものは0件
- PHPを狙ったアクセスが跳ねた日:10月22日の15時〜18時に312件。ほかの日は0〜20件
- 312件の中身:すべて1つのIPからの汎用の脆弱性スキャンで、PHP2Shell専用とは言えない
この規模では、「総理の周知のあとに攻撃が増えた」とも「増えなかった」とも言えません。インターネット全体のおとりサーバーでの観測を時間ごとに比べたデータがあれば決められますが、公開されたものは見つけられませんでした。
また、当社のホームページを置いているレンタルサーバー(heteml)には、今回の期間のアクセスログがありませんでした。そこで、当社のサーバーのログを毎日残して数える仕組みを入れ、リクエストの大きさまで記録するようにしました。次に同じことが起きたときは、周知の前と後を比べられます。
同じ指摘をしている人はいたか
Xで、言い方を変えて10通り以上探しました。総理の投稿への批判の多くは「首相の自己宣伝ではないか」という政治の話で、セキュリティの理屈から論じたものはごく少数でした。
「反対派は『潜在攻撃者を呼び覚ました』と言っている。どちらが正しいではなく、利点と欠点の天秤の話だ」とまとめた投稿や、「寝た子を起こすな」という短い投稿はありました。ただ、表示回数や時刻、漏れていた範囲といった数字を並べて論じたものは、見つかりませんでした。報道や専門家の論評でも、この投稿の是非を論じた記事は見当たりませんでした。
首相が旗を振るなら、更新できないサイトまで考えてほしかった
私は、総理の投稿が間違っていたとは思いません。運営する側に届いたのは事実で、止めるべきサイトは止まりました。気になったのは、首相が自ら旗を振った割に、その先が「各自で対応してください」で終わっていたことです。
公式の修正版が出たのは8.2〜8.5の4つの版だけです。7.4・8.0・8.1にはPHPの開発チームがソースの修正を示しましたが、レンタルサーバーの会社や配布元が対応しない限り、古い版のまま放置されているサイトは直りません。当社でも、愛知の会社のホームページで、まだPHP 7.4のまま動いているものを見かけています。首相が1億回届く場所で呼びかけるなら、「古い版のサイトは今夜止めてください」「中小企業はここに相談を」まで示す価値があったと思います。
逆に、修正の出る時刻を一般の人にまで知らせる必要があったのかは、議論の余地があります。運営者に届けるのは、国家サイバー統括室やIPA、JPCERTの仕事で、統括室は同じ夜に注意喚起を出しています。首相の発信は、時刻ではなく「確かめてください」「止めることも有効」に絞る、という選び方もあったはずです。
中小企業がいま確かめること
- 自社のホームページのPHPの版:8.2以上の最新か。7.4や8.0のままなら、更新か一時停止を
- WordPressとプラグイン:本体の更新が止まっていないか
- 問い合わせフォーム:お客様の情報を受け取るページが、古い版のPHPで動いていないか
当社では、ホームページの外から見える守り(PHPの版が古くないか、守りの設定があるか)を、URLを入れるだけで診断するシステムを作っています。ふつうの訪問者がページを開くのと同じ範囲だけを見ます。
Kurage Security Check(デモ) https://proto.exbridge.jp/kseccheck/#ref=vibeblog-takaichi-php
サーバーの中の設定や更新の段取りまで含めたお手伝いは、AI-IT顧問で引き受けています。
AI-IT顧問 https://exbridge.jp/ai-it-komon.html#ref=vibeblog-takaichi-php
よくある質問
高市総理のPHPの投稿は、いつ出たのですか
2026年10月21日21時55分です。PHPの修正版が公開された23時の約1時間前で、国家サイバー統括室の案内(22時57分)よりも1時間ほど早く出ていました。
PHP2Shellの詳細は、総理の投稿の前に漏れていたのですか
漏れていました。PHPの開発チームが事前告知をした10月20日に、詳細がSNSに漏れています。ただし、それを読んでいたのは攻撃者の情報網を追う一部の人たちで、総理の投稿ほど広く知られていたわけではありません。
総理の投稿で、攻撃は増えたのですか
当社のサーバーのログでは決められませんでした。投稿の直後に急増は見えず、翌日に1台のスキャンによる急増があっただけです。インターネット全体の時間ごとの観測データが公開されれば、確かめられます。
PHP 7.4のサイトは、今回の修正で直りますか
そのままでは直らないことが多いです。公式の修正版が出たのは8.2・8.3・8.4・8.5の4つの版です。7.4・8.0・8.1にはソースの修正が示されただけなので、レンタルサーバーの会社や配布元が対応していなければ、8.2以上へ上げるか、上げるまでサイトを止めることを考えてください。
