はじめに
最近の報道で「AIが発見したPHPの脆弱性」が取り上げられています。この記事では、初心者でも短時間(目安5分)で自分のWebサイトが影響を受けている可能性を簡単に確認する方法と、今すぐできる初期対策を分かりやすく説明します。報道の詳細は記事末の参考情報をご覧ください。
注意点
ここで示す方法は一般的なチェックと初期対応です。報道タイトルだけでは具体的な挙動や影響範囲は確認できないため、状況に応じて専門家やホスティング事業者に相談することをおすすめします。また、誤操作を避けるため操作前に必ずバックアップを取得してください。
5分でできる簡易チェック(初心者向け)
以下は段取りと目安時間です。操作に不安がある場合は、操作前にサイトのバックアップを取得してください。
0分〜1分:サイトが正常に表示されるか確認
-
ブラウザでトップページや管理画面にアクセスし、通常通り表示されるか確認します。表示異常、改ざん(見た目の文言変更)やログイン不可があれば注意が必要です。改ざんが見つかったら直ちに次の初動(バックアップ取得・ホスト連絡)を行ってください。
1分〜2分:管理画面・CMSの更新状況を確認
-
WordPress等CMSを使っている場合は、管理画面の「更新」画面でコア・プラグイン・テーマの更新が無いか確認し、更新があれば優先的に適用してください(WordPress公式の更新手順: https://wordpress.org/support/article/updating-wordpress/)。大規模な更新はバックアップ後に実行します。
2分〜3分:最近のファイル更新日時を確認(ホスティングのファイルマネージャ/FTP)
-
ホスティングのコントロールパネル(例: cPanel のファイルマネージャー)でファイル一覧の「最終更新」列をクリックして新しい順に並べ、心当たりのない更新や新規ファイルを確認します。FTPクライアント(FileZilla等)でもタイムスタンプ順に確認できます。
-
SSHが使える場合は、ドキュメントルートで以下のようなコマンドで最近更新されたファイルを一覧できます(管理者に確認してから実行してください):
find . -type f -mtime -7 -ls (過去7日以内の更新ファイルを表示)
3分〜4分:簡易マルウェアスキャン(オンラインサービス)
-
外部から見えるマルウェアや改ざんの兆候はオンラインスキャナーで一括チェックできます。代表例: Sucuri SiteCheck(https://sitecheck.sucuri.net/)。使い方の簡単な手順:サイトにアクセス→上部の入力欄にあなたのサイトのURLを貼り付け→”Scan Site”をクリック→結果は「Blacklists」「Malware」「Defacements」「Outdated CMS」などの項目が表示されます。真っ先に“Defacement(改ざん)”や“Malware”の有無を確認してください。※外部から見える範囲の検出に限られます。
4分〜5分:phpinfoやバージョン情報の確認(注意して実施)
-
PHPバージョンが分かれば影響範囲の判断材料になります。自己確認する場合は一時的にphpinfoを呼ぶファイルを置く手順:推奨ファイル名は
phpinfo_temp.php。中身は<?php phpinfo(); ?>です。配置後は必ずアクセス制限をかけてください(IP制限、ベーシック認証、.htpasswdなど)。確認後はただちにファイルを削除してください。公開のまま放置すると情報漏えいにつながります。
侵害の兆候(IOC:Indicator of Compromise)と具体的チェック項目
-
改ざん・侵害を疑う具体例(見つけたら優先的に調査):
- 見覚えのないファイル名(例:
wp-cache.phpとは別のランダム英数字ファイル、99.php等) - 最近追加された不審なcronジョブ(Webサーバーのcronやホスティングのスケジューラ)
- 管理者以外のユーザー追加(CMSのユーザー一覧に見慣れない管理者アカウント)
- 外部への不審なリダイレクト(訪問者が別ドメインへ飛ばされる)や外部スクリプト挿入(ページ内に知らない外部JS)
- 送信メールの急増(スパム送信の兆候)やサーバー側のCPU/トラフィック急増
- アクセスログに不審なPOSTリクエストや大きなファイルアップロード
- 見覚えのないファイル名(例:
-
ログで確認すべきポイント:アクセスログ(access.log)とエラーログ(error.log)を確認します。cPanelならMetrics > Raw Access、PleskならLogsで確認可能。SSHが使える場合は直近200行を確認:
tail -n 200 /var/log/apache2/access.log(環境によりパスは異なります)。不審なエンドポイントへの大量アクセスや異常なPOSTがないかを探します。
今すぐできる初動対策(初心者向け)
-
バックアップを取得する:まずはファイルとデータベースのフルバックアップを取得してください。できればダウンロードしてオフライン保管します。復旧時はバックアップが安全であるかスキャンしてから使用します。
-
管理者パスワードの変更:管理画面、FTP、ホスティングのコントロールパネル、データベースのパスワードを強力なものに変更します。可能ならパスワード変更前にサイトを一時オフラインにしてください。
-
ソフトウェアの更新:CMS、プラグイン、テーマ、使用しているPHPのバージョンを最新の推奨バージョンに更新できる場合は更新します。ただし、更新前にバックアップを取得し、更新は一つずつ行い動作確認をするのが安全です。
-
一時的なアクセス制限:管理画面や管理パスに対してIP制限やベーシック認証を追加します。Apacheなら.htaccessで制限、Nginxならdenyルール、ホスティングのWAFやIPアクセス制御も活用してください。
-
ホスティング事業者に連絡:不安がある場合やIOC(不審なファイル・不審な管理者アカウント・大量のファイル更新・不明なプロセス等)が見つかった場合はただちにホスティングのサポートへ連絡し、ログの保存・調査・一時停止を依頼してください。ホスト側はサーバーレベルでのログ確認や隔離を支援できます。
感染が疑われる場合の簡単な切り分けと復旧の優先度
-
即時対応が必要なケース(すぐホスト連絡/専門家依頼を推奨):
- サイトが完全に改ざんされている(トップページの文言が書き換えられている)
- 不審な管理者アカウントが追加され、権限を持っている
- サーバーから不明な大量送信(スパム)や外向き接続が検出される
- 多数のファイルが短時間で変更されている/バックドアが見つかった
-
簡単な切り分け手順:
- サイト全体のフルバックアップ(ファイル・DB)を取得する(変更前の状態を保存)
- 緊急性が高ければサイトを一時オフラインにする(メンテナンスページ表示やIP制限)
- クリーンなバックアップがある場合は、ステージング環境で復元し検証する(まずは公開サイトで直接復元しない)
- ステージングで問題がなければ公開へ反映。クリーンなバックアップが無い場合は専門家へ調査を依頼
さらに検討すべきポイント(時間があるときに)
-
定期的な自動バックアップの設定(外部ストレージへ保存)
-
WAF(Web Application Firewall)の導入検討(Cloudflareやホスティング提供のWAF)
-
不要なPHP関数やモジュールの無効化は慎重に(サーバーやアプリに影響する可能性があるため、作業前にバックアップを)
-
ログ解析やファイル整合性チェックを専門家に依頼する(侵害の有無を正確に調べるにはプロの調査が有効)
-
簡易的なファイル整合性チェック:WordPressならWP-CLIの
wp core verify-checksumsや、クリーンなバックアップと差分比較を行う。
CMS別の短い補足(代表例)
-
WordPress:管理画面の「ダッシュボード > 更新」からコア・プラグイン・テーマを更新します。更新は一つずつ行い、問題が出たら直前のバックアップに戻す。外部からの編集を防ぐには wp-config.php に
define('DISALLOW_FILE_EDIT', true);を追加して、管理画面のテーマ/プラグインエディタを無効化します。大量の更新を安全に行うにはステージング環境で先に確認することを推奨します。 -
Joomla/Drupal等:各CMSの管理画面でコアと拡張の更新を確認し、開発元の公式手順に従って更新してください。拡張機能は不要なものを無効化・削除するのが基本です。
ログ確認やファイル整合性チェックの具体例
-
ホスティングのコントロールパネルで見るべきログ:access.log、error.log、メールログ(送信異常の確認)。cPanel では “Raw Access”、Plesk では “Logs” セクション。
-
SSHでの簡易コマンド例(実行は管理者権限で慎重に):
tail -n 200 /var/log/apache2/access.log
tail -n 200 /var/log/apache2/error.log
find . -type f -mtime -7 -ls (過去7日で更新されたファイル一覧) -
ファイル一覧のソート:cPanel のファイルマネージャーで「最終更新」列をクリック、FTPならクライアントのタイムスタンプで並べ替え。
phpinfoの扱いについての安全上の注意
-
作成するファイル名は
phpinfo_temp.phpのようにして一時的に判別しやすくします。中身は<?php phpinfo(); ?>。必ずIP制限やベーシック認証で保護してからアクセスし、確認後はただちに削除してください。公開状態で置いたままにしないでください。
まとめ
報道に基づく不安がある場合でも、まずは落ち着いて短時間で実施できる確認と初動対策を行ってください。ここで示した方法は一般的な確認手順と初期対応であり、詳細な影響判断や復旧は専門の調査が必要な場合があります。侵害の兆候(IOC)や大量のファイル変更、未知の管理者アカウントなどが見つかった場合は速やかにホスティング事業者へ連絡し、必要に応じて専門家に調査を依頼してください。
参考情報
- PHPの脆弱性 米OpenAIのAIで発見 – Yahoo!ニュース(Yahoo!ニュース)
- プログラミング言語「PHP」“重大欠陥” AIモデルが発見か(2026年10月21日掲載) – 日テレNEWS NNN(日テレNEWS NNN)
- プログラム言語「PHP」欠陥、世界でサイト停止 AIが脆弱性発見 – 日本経済新聞(日本経済新聞)
- Sucuri SiteCheck(簡易オンラインスキャン)
- WordPress公式:更新とメンテナンスの手順
よくあるQ&A(簡単)
-
Q: 5分チェックで異常が無ければ安心ですか?
A: あくまで簡易チェックです。外部から見えないバックドアやサーバー内部の異常は専門調査が必要な場合があります。 -
Q: 自分で復旧できない場合は?
A: ホスティングに問い合わせ、必要ならセキュリティ専門の業者に調査・復旧を依頼してください。証拠保全のためログの保存を忘れずに。
※この記事には広告が含まれています。
関連するおすすめサービス
Webサイトを運営する場合は、改ざんやマルウェアへの備えも検討しておきましょう。


コメント