
- 脆弱性診断は、脆弱性(セキュリティ上の欠陥)の知見を持つ人が、Webサイトやサーバーに弱点がないかを調べるサービスです。経済産業省の基準では、Webアプリケーション・プラットフォーム・スマートフォンアプリの3つに分かれます。
- php2shellのようなPHP本体の脆弱性は、フォームやログイン画面を調べる診断だけでは分かりません。サーバー側のソフトとそのバージョンも見る必要があります。
- ペネトレーションテストは、攻撃者と同じ手法で「実際に目的を達成できるか」を試すもので、脆弱性診断の一種という位置づけです。
- 診断で何も見つからなくても、安全の証明にはなりません。ツールでの診断は、サイトを止めたり不要なデータを登録したりすることがあるので、サーバーの管理者の許可を取ってから行います。
脆弱性診断とは
経済産業省の「情報セキュリティサービス基準」では、脆弱性診断サービスを「システムやソフトウェア等の脆弱性に関する一定の知見を有する者が、システムやソフトウェア等に対して行う」サービスと定め、次の3つに分けています[経済産業省の基準(IPAの基準適合サービスリストより)]。
- Webアプリケーション脆弱性診断
- プラットフォーム脆弱性診断
- スマートフォンアプリケーション脆弱性診断
Webサイトに当てはめると、次の図のようになります。Webアプリケーションは、問い合わせフォームやログイン画面など、サイトの機能そのものです。プラットフォームは、そのアプリを動かしているOSやWebサーバー、PHPなどのソフトを指します。

IPA(情報処理推進機構)の「安全なウェブサイトの作り方」も、同じように2つに分けて対策を説明しています。1章はWebアプリケーションの作り方の対策で、SQLインジェクションやクロスサイト・スクリプティングなどを扱います。2章は運用の対策で、Webサーバーについては「OSやソフトウェアの脆弱性情報を継続的に入手し、ソフトウェアの更新や問題の回避を行」うよう求めています[IPA「安全なウェブサイトの作り方」]。
PHP本体の脆弱性は、どの診断で分かるか
2026年10月21日に修正版が出たphp2shell(CVE-2026-109618 / CVE-2026-109619)は、PHP本体の脆弱性です。PHP公式は、Webのリクエストを処理するすべてのPHPが対象で、mod_phpではアプリのコードが動く前に攻撃が成立することが実証されているとしています[php.net]。
このような脆弱性は、フォームやログイン画面の作りを調べても見つかりません。図1でいえば、アプリではなく「ミドルウェア・言語」の層の問題だからです。確かめるのは、サイトを動かしているPHPのバージョンと、修正版が当たっているかどうかです。レンタルサーバーなら管理画面やWordPressのサイトヘルスで確認できます。手順は「PHPのバージョンを確認する方法」にまとめています。
反対に、PHPを最新にしても、フォームやプラグインの作りに問題があれば、その問題は残ります。どちらか一方を見れば済むわけではありません。
ペネトレーションテストとの違い
ペネトレーションテスト(侵入試験)は、同じ基準で次のように定められています[経済産業省の基準(IPAの基準適合サービスリストより)]。
脆弱性診断のサービスの定義を満たすサービスのうち、攻撃者が実際に侵入等を行うために用いる手法と同様の手法により、アプリケーション、システム、又はネットワークのセキュリティ機能を回避して攻撃の目的を達成できるかの観点から試験を行い、その結果をもとに助言を行うサービス
つまり、ペネトレーションテストは脆弱性診断の一種です。弱点がどこにあるかを調べるのが脆弱性診断で、そのうち「攻撃者と同じやり方で、実際に目的まで届くか」を試すのがペネトレーションテストです。IPAの基準適合サービスリストでも、ペネトレーションテストは脆弱性診断のオプションとして別に載っています[IPA]。

診断のやり方とツール
ツールの診断と、人の手の診断
診断には、診断用のツールで多数のパターンを自動で送る方法と、診断員が画面を操作しながら確かめる方法があります。IPAの基準適合サービスリストに載っているサービスの説明にも、ツールによる自動診断をもとに、診断員の手動診断を組み合わせるとしているものがあります[IPAのリストに載った各社のサービス概要]。
診断項目の目安:IPA「ウェブ健康診断仕様」
Webアプリケーションで何を調べるかの目安として、IPAは「ウェブ健康診断仕様」を公開しています。もとは地方自治情報センター(LASDEC)が自治体のサイト向けにまとめた診断の仕様で、次の13項目について、検出のパターンと判定の基準を示しています[IPA「ウェブ健康診断仕様」]。
| 記号 | 診断項目 | 記号 | 診断項目 |
|---|---|---|---|
| A | SQLインジェクション | H | 意図しないリダイレクト |
| B | クロスサイト・スクリプティング | I | HTTPヘッダ・インジェクション |
| C | CSRF(クロスサイト・リクエスト・フォージェリ) | J | 認証 |
| D | OSコマンド・インジェクション | K | セッション管理の不備 |
| E | ディレクトリ・リスティング | L | 認可制御の不備、欠落 |
| F | メールヘッダ・インジェクション | M | クローラへの耐性 |
| G | パス名パラメータの未チェック/ディレクトリ・トラバーサル |
この仕様は、IPA自身が「基本的な対策が出来ているかどうかを診断するもの」と説明しています。全ページではなく抜き取りで調べ、検査パターンも絞っているため、一般の脆弱性診断サービスより簡素だとしています[IPA「ウェブ健康診断仕様」]。
IPAは、診断によって対象のサイトが止まったり、意図しないデータが登録されたりする可能性があると注意しています。サイトが止まると、同じ設備を使っている別のサイトにも影響が出ることがあるため、サーバーやデータセンターの管理者の許可を事前に得るよう求めています[IPA「ウェブ健康診断仕様」]。共用のレンタルサーバーでは、ほかの利用者のサイトも同じサーバーで動いています。無断で診断ツールを当てないでください。
WordPressのサイトで何を調べるか
WordPress.orgのセキュリティの手引き(Hardening WordPress)は、弱点が入りやすいところとして次を挙げています[WordPress.org「Hardening WordPress」]。診断を頼む前に、自社でも確かめられる項目です。
| 確かめるところ | 手引きに書かれていること |
|---|---|
| WordPress本体 | 常に最新のバージョンにする。古いバージョンにはセキュリティの更新が出ない |
| プラグイン・テーマ | 信頼できない入手先のものを使わない。更新を続け、使っていないものは削除する |
| サーバーのソフト | Webサーバーとその上のソフトを、安全で安定したバージョンで動かす。またはそれを管理してくれるホスティングを使う |
| ファイルの権限 | 書き込みの権限を絞る。管理画面からPHPファイルを編集できなくする設定(DISALLOW_FILE_EDIT)も検討する |
| パスワードとログイン | 推測されにくいパスワード、「admin」のようなユーザー名を避ける、2段階認証、FTPではなくSFTPを使う |
| バックアップと監視 | データベースを含めて定期的に取り、日付の違う複数の世代を残す。サーバーのログやファイルの変更を見る |
手引きは、ホスティング会社が設備を管理していても、利用者が入れたアプリ(WordPress本体、プラグイン、テーマ)には責任を持たないと書いています。また、共用サーバーでは、同じサーバーの別のサイトが原因で自分のサイトまで被害を受けることがあるとしています[WordPress.org「Hardening WordPress」]。レンタルサーバーを使っている場合、PHP本体の更新はサーバー会社の告知で確かめ、診断ではアプリの側を中心に見るのが現実的です。
依頼するときに確かめること
事業者を選ぶ目安
IPAは、経済産業省の「情報セキュリティサービス基準」に適合したサービスの一覧(情報セキュリティサービス基準適合サービスリスト)を公開しています。審査登録機関の審査を通り、IPAに誓約書を出した事業者のサービスが載り、「脆弱性診断サービス」の区分もあります[IPA]。2026年10月9日にも一覧が更新されています。
ただし、IPAは掲載について「いかなる保証等をも意味するもの」ではないとしています。審査と判定は日本セキュリティ監査協会(JASA)が行っています[IPA]。一覧は選ぶときの手がかりの一つとして使い、中身は見積もりの段階で確かめます。
見積もりでそろえておくこと

- 対象:どのURLのどの画面・機能を調べるか。サーバー側(プラットフォーム)も含めるか
- 方法:ツールだけか、手動の診断も含むか
- 環境と日時:本番のサイトか、検証用のコピーか。本番なら、問い合わせなどのデータが登録されてもよいか、作業の時間帯をどうするか
- 許可:サーバー会社や管理を任せている会社の了承が取れているか
- 報告書:脆弱性ごとの危険度、再現の手順、直し方が書かれるか
- 再診断:直したあとにもう一度確かめてもらえるか
料金は事業者ごとに決まっていて、公的な機関がまとめた相場は見つけられませんでした。上の条件をそろえたうえで、複数の見積もりを比べてください。
診断で脆弱性が見つかったら
報告書には、脆弱性ごとに危険度が書かれます。CVSS(脆弱性の深刻度を表す共通の物差し)の点数で示されることもあります。数字の読み方は「CVSS 9.2ってどれくらい危ない?」で説明しています。
直し方について、IPAの「安全なウェブサイトの作り方」は、脆弱性の原因そのものをなくす「根本的解決」と、攻撃による影響を減らす「保険的対策」を分けています。理想は根本的解決ですが、費用や時間の都合ですぐにできない場合は、保険的対策が暫定対策として働くとしています[IPA「安全なウェブサイトの作り方」]。WAF(不正な通信を止める仕組み)や設定の変更は、脆弱性の原因そのものはなくさないので、この分け方では保険的対策にあたります。
診断の途中で、見覚えのないファイルなど、すでに侵入された形跡が見つかることもあります。その場合の確かめ方と初動は「Webサイトが乗っ取られていないか確かめる方法」をご覧ください。
よくある質問
診断で何も見つからなければ、安全ですか?
安全とは言い切れません。IPAは、検査パターンを絞った診断では、脆弱性が検出されなかった場合でも「安全宣言には繋がりません」としています。反対に、検出された脆弱性が実際には脆弱性ではない可能性もあるとしています[IPA「ウェブ健康診断仕様」]。
レンタルサーバーでも、サーバー側の診断は必要ですか?
共用のレンタルサーバーでは、PHP本体の更新はサーバー会社が行うことが多く、利用者が選べるのは管理画面のPHPのバージョンなどに限られます。また、前述のとおり、管理者の許可なくサーバーに診断ツールを当てることはできません。自社で確かめるのは、選んでいるPHPのバージョンと、サーバー会社の告知です。VPSや専用サーバーを自社で管理している場合は、サーバー側も診断の対象に入れます。
WordPressを最新にしていれば、診断は要りませんか?
WordPress本体を最新にしても、プラグインやテーマ、独自に作ったフォーム、サーバーのPHPに問題があれば残ります。php2shellのように、WordPressをどれだけ新しくしても防げない脆弱性もあります。
WordPressやPHPで動くサイトの脆弱性診断、PHPのバージョン確認と更新、見つかった問題の修正までお受けします。何を調べればよいか分からない段階からご相談ください。無料相談はこちら


