最初に、最も知りたいであろう数字から述べます。Webアプリ脆弱性診断の費用は、診断の「方式」でほぼ決まります。 業界で一般に示される目安は次のとおりです。
| 診断方式 | 一般的な相場の目安 | 何をするか |
|---|---|---|
| 自動(ツール)診断 | 20〜50万円 | スキャナで既知の脆弱性を広く高速に洗う |
| 手動診断 | 50〜300万円 | 専門家がツールでは見つからない欠陥を精査する |
| ペネトレーションテスト | 100〜500万円 | 攻撃者視点で「実際に侵入できるか」を実証する |
(出典:GMOサイバーセキュリティ byイエラエ / UBsecure ほか、複数の診断ベンダーが公開する相場。規模・スコープ・ベンダーで大きく変動するため、あくまで目安です。)
しかし、この数字だけで発注を決めると失敗します。 なぜなら脆弱性診断は「何を、どこまで、どう見るか」で中身が劇的に変わる、極めて非対称な買い物だからです。同じ「50万円のWeb診断」でも、自動スキャンのレポートを横流ししただけのものと、認可ロジックまで手で検証するものでは、守られる範囲がまったく違います。
本記事は、発注する側が見積りの妥当性を自分で判断できるようになることをゴールに、相場の構造・コストドライバ・見積書の読み方・安く抑える正攻法・安すぎる診断の見分け方を、できる限り正直に解説します。私自身の料金も、根拠とともに透明に開示します。
1. 料金は「方式」で決まる — 自動・手動・ハイブリッド・ペネトレ
価格差の正体は、**「どれだけ人間の時間を使うか」**です。脆弱性診断は、人手の比率が上がるほど高くなります。
1-1. 自動(ツール)診断 — 安いが「水平」しか見えない
スキャナ(DAST/SAST)で既知の脆弱性パターンを機械的に洗う方式です。広く・速く・安いのが長所。インジェクション・セキュリティヘッダーの欠落・既知の脆弱な依存といった**「どのアプリでも同じ構造の欠陥(水平の穴)」**を網羅的に潰せます。
短所は明確です。ツールはあなたの事業ルールを知らないため、「この請求書を見てよいのは誰か」といった認可の妥当性(垂直のリスク)は判定できません。 自動診断のレポートが満点でも、それは「既知パターンが無い」だけで、「安全」ではありません。
重要: 自動診断の大半は、無料の公式ツールで自分で実施できます。お金を払う前に、まずWebアプリ脆弱性診断のやり方(OWASP公式手法のハンズオン)で水平の穴を一掃するのが、最もコスト効率の高い第一歩です。
1-2. 手動診断 — 高いが「垂直」を見られる
専門家がシステムの仕様とビジネスロジックを理解した上で、ツールでは見つからない欠陥を手で精査します。**認可の不備(IDOR)・権限昇格・業務ロジックの悪用(数量や価格の改ざん、状態遷移の踏み外し)**など、設計の妥当性に踏み込むのが価値です。
OWASP Web Security Testing Guide の12カテゴリのうち、4.5 認可テストと4.10 業務ロジックテストは、ほぼ手動でしか到達できません。手動診断の料金は、ここに割く専門家の時間そのものです。
1-3. ハイブリッド診断 — 現実的な最適解
「自動の網羅性」と「手動の深さ」を組み合わせる方式で、近年の主流です。自動で水平を一掃し、浮いた工数を垂直の精査に集中投下するため、コストと精度のバランスが取りやすい。個人情報や課金を扱うSaaSなら、まずこの形が基準になります。
1-4. ペネトレーションテスト — 「侵入できるか」の実証
脆弱性の洗い出し(診断)ではなく、特定のシナリオで実際に侵入・権限奪取が成立するかを実証する、攻撃者視点の活動です。最も高額で、目的が異なります。「既知の穴を網羅したい」なら診断、「この攻撃が本当に通るか確かめたい」ならペネトレ、と使い分けます。
2. 対象別の相場 — 何を診るかで単位が変わる
「方式」の次に効くのが「対象」です。診断対象によって、料金の数え方の単位が変わります。
| 診断対象 | 課金の単位 | 目安 |
|---|---|---|
| Webアプリケーション | 画面数 / リクエスト数 | 手動で50〜300万円 |
| API(REST/GraphQL) | エンドポイント数 | 規模により数十万円〜 |
| プラットフォーム(OS/ミドル/ネットワーク) | IPアドレス数 | 1IPあたり5〜20万円 |
| スマートフォンアプリ | OS(iOS/Android)ごと | 50〜300万円/1OS |
| クラウド設定(IAM/S3等) | アカウント / 項目数 | 構成により変動 |
ここで効いてくるのが、**「自分のアプリの規模を、課金単位で説明できるか」**です。発注前に「画面はいくつ、認証フローは何本、APIエンドポイントは何個、診断対象のIPは何個」を整理しておくと、見積りのブレが激減します。逆に、これを曖昧にしたまま「一式」で発注すると、後述する罠にはまります。
3. 見積りを左右する7つのコストドライバ
同じ対象でも、見積りは次の7要素で数倍変わります。この7つを質問できれば、見積りの妥当性は自分で判断できます。
- 規模:画面数・リクエスト数・エンドポイント数・IP数。最大のドライバ。
- 方式の比率:自動が中心か、手動の比率がどれだけ高いか。
- 認証の要否:ログイン後の機能を診るには、認証情報・複数ロール・多要素の回避手順が要り、工数が上がる。
- 再診断(リトライ)の有無:検出 → 修正 → 再診断で「直ったこと」を確認まで含むか。ここを含まない見積りは安く見える。
- 報告書の質:再現手順・影響度(CVSS)・修正案の具体性。「検出一覧」だけか、「直し方」まで書くか。
- 誤検知の精査:自動の検出を人手で真偽判定して落とすか。生スキャン結果の横流しは安いが価値が低い。
- アフターサポート / SLA:報告会、修正相談、再発防止(CI組み込み)まで伴走するか。
発注前チェックリスト(コピペ可): 見積りを受け取ったら、次の質問を必ず投げてください。「①スコープ(画面/API/IP数)は何で定義されているか ②自動と手動の比率は ③認証後の機能は対象か ④再診断は含むか ⑤報告書に再現手順と修正案はあるか ⑥誤検知は精査するか ⑦修正後のフォローはあるか」。7つに即答できないベンダーは、スコープが曖昧です。
4. 「一式」見積りの罠 — 安く見える見積りほど分解する
最も多い失敗が、「Web診断 一式 ◯◯万円」という丸めた見積りをそのまま比較してしまうことです。一式表記は、上記7ドライバのどれが含まれ、どれが除外されているかを隠します。
典型的に「含まれていない」ことが多い項目:
- 再診断(直したかの確認は別料金、というパターン)
- 認証後の機能(ログイン前の画面しか診ていない)
- 誤検知の精査(生のスキャン結果がそのまま「検出」として計上される)
- 修正案(「脆弱性があります」までで、直し方は書かれていない)
対策はシンプルです。 一式見積りは必ず項目分解を依頼し、複数社を同じスコープ定義で並べて比較してください。スコープがズレた見積りの金額比較は、無意味です。
5. 費用を賢く抑える正攻法(品質を落とさずに)
「安くしたい」と「手を抜く」は違います。品質を落とさずにコストを下げる、正攻法は3つです。
5-1. 水平は無料ツールで自分が潰す → 手動は垂直だけに集中
最大の節約は、人手の時間を、機械にできないことだけに使うことです。SCA(依存)・SAST(静的)・シークレットスキャン・DAST(ZAP)は無料の公式ツールで内製化できます。これで水平の穴を一掃しておけば、手動診断は認可・業務ロジックという垂直のリスクに集中でき、工数=費用が下がります。具体的なやり方はOWASP公式手法のハンズオン記事に、ツールの選び方は脆弱性診断ツール比較記事にまとめています。
5-2. スコープを正しく「絞る」(雑に削るのではなく)
全機能を一律に深く診ると高くつきます。リスクの高い領域(認証・決済・個人情報・管理者機能)に手動を厚く、低リスク領域は自動で軽く——とメリハリをつけると、同じ予算で守られる範囲が広がります。「全部を薄く」より「重要部を厚く」が鉄則です。
5-3. CIに組み込み、回帰を無料で防ぐ
一度の診断は、翌週のデプロイで陳腐化します。SAST/SCA/シークレットスキャンをCIに組み込んで回帰を防ぐと、同じ穴の再混入を無料で止め続けられます。年1回の高額診断より、継続する無料ゲート+ピンポイント手動の方が、トータルでは安く・安全です。
6. 「安すぎる診断」の危険 — 見分け方
相場より極端に安い診断には、たいてい理由があります。発注前に見分けるポイントです。
| 警告サイン | 実態 | 見分ける質問 |
|---|---|---|
| 異常に安い「手動診断」 | 実質は自動スキャンのレポート横流し | 「手動で見た項目(認可/業務ロジック)を具体的に教えて」 |
| 検出数だけ多い報告書 | 誤検知を精査していない | 「誤検知の精査と真偽判定はする?」 |
| 立派な報告書だが再現できない | 再現手順・PoCがない | 「各指摘に再現手順とCVSSはつく?」 |
| 「絶対安全になる」と言う | 信用してはいけない | 撤退を検討 |
最後の項目が一番大事です。「これを受ければ/入れれば絶対に安全」と言う相手は、むしろ信用しないでください。 診断にできるのは、既知の重大リスクを体系的に潰し、再発を防ぐ仕組みを残し、残るリスクを正直に明示するところまでです。「安全の保証」を売る診断は、油断という最悪の結果を生みます。この境界線はセキュリティ監査は何を見るのかで詳説しています。
7. 私の料金 — 透明に開示します
相場を語るだけで自分の値付けを隠すのはフェアではないので、開示します。私が提供するNext.js × Supabaseアプリのセキュリティ監査の料金は、次のとおりです(税別・規模で変動)。
| プラン | 料金の目安 | 含まれるもの |
|---|---|---|
| スポット | ¥98,000〜 | 重点領域(認可/RLS/注入)の集中診断+指摘レポート |
| 標準 | ¥280,000〜 | アプリ全体の診断+修正設計+再診断+報告会 |
| 伴走 | ¥680,000〜 | 上記+CIゲート構築+一定期間の継続伴走 |
なぜこの価格帯が成立するのか。理由は私のスタイルそのものにあります。一人 × 生成AI(Claude Code)で、設計・実装・検証を一気通貫するため、多重下請けの中間マージンと、分業による伝達コストが要りません。水平の穴は自作の無料OSS Aegis で機械的に潰し、人間の時間は機械に判定できない垂直リスクに集中投下します。これが「速く・安く・本番品質」を同時に成立させる構造です。
この進め方は、経済産業大臣賞を受賞したB2B SaaSや、本番二重課金0件を達成した決済基盤を、実際に一人で設計・実装してきた経験に裏打ちされています。「安かろう悪かろう」ではなく、構造的にムダを削った結果としての安さです。
まとめ — 数字の裏にある「中身」を見抜く
- 料金は方式で決まる:自動20〜50万/手動50〜300万/ペネトレ100〜500万(あくまで目安)。
- 対象で単位が変わる:画面数・エンドポイント数・IP数・OS数。発注前に自分の規模を数えておく。
- 7つのコストドライバで見積りは数倍変わる。「一式」は必ず分解して同条件で比較する。
- 賢い節約は3つ:水平は無料ツールで自分が潰す/スコープにメリハリ/CIで回帰を無料で防ぐ。
- 安すぎる診断を見分ける:手動の中身・誤検知精査・再現手順・再診断の有無。「絶対安全」を売る相手は避ける。
脆弱性診断は、金額の大小ではなく**「何が守られ、何が残るか」**で選ぶ買い物です。本記事のチェックリストを手に、見積りの中身を自分の目で見抜けるようになってください。スコープの相談から、まずは状況をお聞かせいただければ、御社にとって最もムダのない配分を一緒に設計します。