「脆弱性診断ツール、結局どれを使えばいいのか」——この問いに一言で答えると、**「1つでは足りない。役割の違うツールを層で組み合わせる」**です。SQLインジェクションを探すツールと、依存ライブラリのCVEを探すツールと、認可の不備を探すツールは、見ているものがまったく違います。
ツール選びで失敗する典型は、「有名な1本を入れて満足する」ことです。Burp SuiteもZAPも優れたDASTですが、それだけではコードの中身(SAST)も、依存の脆弱性(SCA)も、漏れた秘密(シークレット)も見ていません。 本記事は、まず種別の地図を示し、その上で各カテゴリの定番を比較し、規模・予算・体制別の選び方まで落とし込みます。
先に結論の地図を出します。
| 層 | 種別 | 見るもの | 無料の定番 | 商用/SaaSの定番 |
|---|---|---|---|---|
| コード | SAST | ソースのデータフロー | Semgrep, CodeQL | Snyk Code, Checkmarx |
| 動作 | DAST | 動いているアプリ | OWASP ZAP, Nuclei | Burp Suite, Acunetix, Invicti |
| 依存 | SCA | lockfile / 依存ツリー | npm audit, Dependabot, OSV-Scanner | Snyk Open Source |
| 秘密情報 | シークレット | リポジトリ・差分 | Gitleaks, GitHub Secret Scanning | GitGuardian |
| 統合SaaS | 自動診断 | 上記をまとめてSaaS化 | — | AeyeScan / VAddy / Securify(国産) |
以下、層ごとに「どれを、どんなときに選ぶか」を具体化します。
1. まず「種別」を理解する — SAST / DAST / SCA / シークレット
ツールは、観測する対象で分類すると一気に整理できます。
- SAST(静的解析):コードを実行せずにデータフローを追う。早い段階(コミット/PR)で回せ、修正箇所が特定しやすい。反面、実行時にしか分からない問題は苦手。
- DAST(動的解析):動いているアプリにリクエストを送り、外から見える挙動で判定する。実環境の問題(設定・ヘッダー・反射XSS)に強いが、デプロイが要り、コード上の位置は分からない。
- SCA(依存解析):あなたのコードではなく、
node_modulesの中の既知CVEを見る。最も安く効果が高い。 - シークレットスキャン:APIキーやトークンの混入を見る。
この4つは競合ではなく補完です。SASTとDASTは「内から見るか/外から見るか」の違いで、両方やると検出が重なりつつ補い合います。各層の実装手順はOWASP公式手法のハンズオン記事で詳しく扱っています。本記事はその「どのツールを選ぶか」に集中します。
2. DAST対決:OWASP ZAP vs Burp Suite Professional
動的診断の二大巨頭です。この選択を、多くのチームが最初に迷います。 結論から言うと、**「CIで自動化したいならZAP、手練れの手動精査ならBurp」**です。
| 比較項目 | OWASP ZAP | Burp Suite Professional |
|---|---|---|
| 価格 | 完全無料(Apache-2.0) | $475 / ユーザー / 年(2026年) |
| 運営 | Checkmarx体制(旧OWASP、無料は維持) | PortSwigger |
| ライセンス単位 | 制限なし | ユーザー単位(個人テスター向け) |
| 自動化 / CI | YAML(Automation Framework)+GitHub Actionが強力 | DAST(旧Enterprise)は別製品・要問い合わせ |
| 手動テスト | 可能(プロキシ・各種ツール) | 業界標準(Repeater/Intruder/拡張) |
| 検出の幅 | 実用十分。多くのチームで「good enough」以上 | ベンチマークで検出種別が多い傾向 |
| 学習曲線 | 中(自動化は学びやすい) | 中〜高(手動の自由度が高い分) |
| AI支援 | — | Burp AI を同梱 |
(出典:PortSwigger 公式価格 / ZAP 公式)
どちらを選ぶか
- 個人開発・スタートアップ・CI内製化が目的 → ZAP一択。完全無料で、
zaproxy/action-baselineによるGitHub Actions連携が即日組める。コストゼロで「good enough」を超える価値が出ます。 - 専任のセキュリティエンジニアが手動で深く攻める → Burp Professional。Repeater/Intruderの操作性と拡張エコシステム(BApp Store)は、手動精査の生産性で頭一つ抜けます。$475/年は、プロの工数価値に対しては安い投資です。
- 両方使うのも普通です。CIではZAP、手動の深掘りではBurp、と役割分担するチームは多い。排他ではありません。
補足(無料版の落とし穴): Burp Suite Community(無料版)はスキャナが無く、Intruderにスロットルがかかります。「無料でDASTを自動化したい」用途では、Communityではなく ZAP を選ぶのが正解です。
3. SAST:Semgrepを出発点に
コードの静的解析は、Semgrep が無料で始められる実用的な起点です。
- OWASP Top 10対応ルール(
p/owasp-top-ten)が公式提供されており、検出をTop 10カテゴリにマッピングして報告できる。 - SARIF出力でGitHub Code Scanningに集約でき、回帰を恒久的に防げる。
- ルールが読める(YAML)ので、自社固有の禁止パターンを追加しやすい(ETC:変更が容易)。
# OWASP Top 10 + TypeScript/React ルールでスキャンし、SARIFで出力
npx semgrep scan \
--config=p/owasp-top-ten --config=p/typescript --config=p/react \
--sarif --output=semgrep.sarif
GitHub中心の組織なら CodeQL(GitHub純正、パブリックリポジトリは無料)も強力な選択肢です。商用では Snyk Code / Checkmarx が、IDE連携や大規模運用・サポートで差別化します。まずSemgrepで始め、運用規模が拡大したら商用を検討——が無理のない順序です。
4. SCA・シークレット:ここは全部無料で揃う
依存と秘密情報の層は、無料のエコシステム標準で十分です。有料ツールにこの層を含める必要は、ほとんどありません。
| 用途 | ツール | ひとこと |
|---|---|---|
| 依存のCVE検出 | npm audit | 1コマンド。CIで --audit-level=moderate |
| 依存の自動修正PR | Dependabot | .github/dependabot.yml を置くだけ |
| 横断的な依存照合 | OSV-Scanner(Google) | OSV.dev基盤、多言語 |
| 秘密の検出 | Gitleaks | 全履歴を走査、SARIF対応 |
| 秘密のpush阻止 | GitHub Secret Scanning(Push Protection) | コミットに秘密が混じるとpushをブロック |
商用の Snyk や GitGuardian は、ダッシュボード・優先度付け・組織横断の可視化で価値を出しますが、まずは無料で土台を固めるのが鉄則です。
5. 国産SaaS型自動診断:AeyeScan / VAddy / Securify
「OSSの運用工数を割けない」「日本語のサポートと報告書が要る」「専門知識のないチームでも回したい」——この要件には、国産のSaaS型自動診断ツールが向きます。OSSの自由度を、運用の手軽さとサポートで買い取る選択肢です。
- AeyeScan(エーアイセキュリティラボ):AIによる自動クローリングでSPA・複雑な画面遷移もカバーするクラウド型DAST。ITR Market Viewの該当市場でベンダー別シェア1位(FY2024実績)と公表されています。
- VAddy(Bitforest):CI/CDへの組み込みを前提に設計されたクラウド型。デプロイのたびに自動診断を回す DevSecOps 用途に向く。
- Securify(スリーシェイク):脆弱性診断・クラウド監視・資産管理を束ねた国産の統合プラットフォーム。
これらは「自動診断(=水平の穴)を、内製で・継続的に・日本語サポート付きで回したい」ニーズの最適解になり得ます。ただし——次節の限界は、SaaSでもOSSでも変わりません。
6. 商用統合DAST:エンタープライズの選択肢
大規模・多数アプリ・コンプライアンス要件がある組織では、統合型の商用DASTが選択肢に入ります。Acunetix / Invicti(旧Netsparker)/ Burp Suite DAST(旧Enterprise)などで、スケジュール実行・チーム管理・大量アプリの一元管理・誤検知の少なさ(証明ベースの検出)を売りにします。価格は「要問い合わせ」が基本で、年間数十万〜数百万円規模になります。「アプリが数十〜数百あり、人手では回らない」段階で初めて費用対効果が出るカテゴリです。
7. どれだけツールを足しても塞げない領域
ここが本記事で一番伝えたい一線です。ZAPもBurpもSemgrepも国産SaaSも、見ているのは「水平の穴」です。 ツールの種類をいくら増やしても、次の**「垂直のリスク」**は原理的に検出できません。
| ツールで塞げる(水平) | ツールでは塞げない(垂直) |
|---|---|
| インジェクション・設定ミス・既知CVE・秘密の混入 | 認可/IDOR(他人のデータが見える) |
| 反射XSS・ヘッダー欠落・脆弱な依存 | 業務ロジックの悪用(数量・価格・状態遷移) |
| 既知パターンの構造的欠陥 | テナント分離・権限昇格・設計の妥当性 |
理由は明快です。「この請求書を見てよいのは誰か」は、**あなたの事業ルールの"意味"**に依存し、ツールはあなたのデータモデルを知りません。だから、いくら高価なスキャナでも、認可の欠落を「欠落」と判定できない。この垂直リスクの代表である認可欠陥(IDOR/BOLA)はOWASP API Security Top 10で初版以来ずっと1位——「最も普通に起きる漏洩」です。検出と多層防御の具体はIDOR・認可欠陥の検出記事に、ツールと人手の境界線はセキュリティ監査は何を見るのかにまとめています。
8. 選び方フローチャート — 規模・予算・体制別
最後に、迷ったときの実践的な指針です。
- まず無料で土台(全規模共通):SCA(
npm audit+Dependabot)→ シークレット(Gitleaks+Push Protection)→ SAST(Semgrep)→ DAST(ZAP baseline)。ここまでは予算ゼロ・即日。 - CIで自動化したい → ZAP(Automation Framework+GitHub Action)+Semgrep(SARIF)。CI統合の手順はこちら。
- 手動で深く攻めたい / 専任がいる → Burp Suite Professional($475/年)を追加。
- 内製の運用工数が割けない / 日本語サポートが要る → 国産SaaS型(AeyeScan / VAddy / Securify)。
- アプリが多数・コンプラ要件 → 商用統合DAST(Acunetix / Invicti / Burp DAST)。
- 認可・業務ロジックの妥当性を保証したい → どのツールでも不可。手動診断・監査へ。
鉄則は「無料で水平を一掃 → 足りないところだけ課金 → 垂直は人手」。最初から高価なツールを買うより、無料で土台を固め、ボトルネックが見えてから投資するのが、最もコスト効率の高い順序です。
まとめ — ツールは「層」で選び、限界を正しく知る
- 脆弱性診断ツールは1つで全部はムリ。SAST/DAST/SCA/シークレットを層で組む。
- DASTはZAP(無料・CI自動化)かBurp($475/年・手動精査)。排他ではなく役割分担。
- SAST=Semgrep、SCA=npm audit+Dependabot、秘密=Gitleaks。土台は全部無料。
- **国産SaaS(AeyeScan/VAddy/Securify)**は運用工数とサポートを買い取る選択肢。
- どれだけ足しても認可/IDOR・業務ロジックは塞げない。垂直は人手の領域。
ツール選定は、製品名の人気ではなく**「どの層を、どの体制で守るか」**で決まります。まずは無料の土台を組み、御社の規模と体制に合うところだけを投資に回す——その設計から、お手伝いできます。自作の無料OSS Aegis で現状を可視化するところから始めるのもおすすめです。