🔎 動的テスト(DAST)ツール

実行中のAPIに対してリクエストを送り、脆弱性を検出するツールです。

Burp Suite 商用 / 無料版あり

Webアプリケーション・APIセキュリティテストの業界標準ツール。プロキシベースのインターセプトとスキャン機能。

  • HTTPリクエスト/レスポンスのインターセプト・改変
  • 自動スキャン(SQL Injection, XSS, etc.)
  • Intruder: パラメータのファジング
  • Repeater: リクエストの手動再送・検証
  • 豊富な拡張機能(BApp Store)
API テスト Tips

OpenAPI/Swagger定義をインポートして、全エンドポイントを自動的にクロール・テスト可能。

OWASP ZAP 無料 / OSS

OWASPが開発するオープンソースのセキュリティテストツール。CI/CDパイプラインへの統合が容易。

  • 自動スキャン / パッシブスキャン
  • API定義(OpenAPI, GraphQL)のインポート
  • CI/CD統合(GitHub Actions, Jenkins)
  • Docker対応でヘッドレス実行可能
  • スクリプティングによるカスタムテスト
BashZAP Docker でのAPIスキャン
docker run -t ghcr.io/zaproxy/zaproxy:stable zap-api-scan.py \
  -t https://api.example.com/openapi.json \
  -f openapi \
  -r report.html

🧪 APIテスト・開発ツール

Postman 無料 / 商用

API開発・テストの定番ツール。セキュリティテストにも活用可能。

  • コレクション機能でテストケースを整理
  • 環境変数でステージング/本番を切り替え
  • Pre-request Script でトークン自動取得
  • Test タブでレスポンス検証を自動化
  • Newman(CLI)でCI/CDから実行
JavaScriptPostman テストスクリプト例
// ステータスコード検証
pm.test("Status is 200", () => {
  pm.response.to.have.status(200);
});

// セキュリティヘッダー検証
pm.test("Security headers present", () => {
  pm.response.to.have.header("X-Content-Type-Options");
  pm.response.to.have.header("Strict-Transport-Security");
});

// 機密情報の非露出チェック
pm.test("No sensitive data exposed", () => {
  const body = pm.response.json();
  pm.expect(body).to.not.have.property("password");
  pm.expect(body).to.not.have.property("password_hash");
  pm.expect(body).to.not.have.property("secret");
});

curl + jq 無料 / CLI

コマンドラインからの素早いAPIテスト。スクリプト化も容易。

  • あらゆる環境で利用可能
  • シェルスクリプトで自動化
  • jqでJSONレスポンスを解析
  • HTTPヘッダーの詳細確認
Bashセキュリティヘッダーチェック
# レスポンスヘッダーの確認
curl -s -D - -o /dev/null https://api.example.com/health

# 認証なしでのアクセス試行
curl -s -w "%{http_code}" https://api.example.com/api/users

# BOLA テスト(他ユーザーのリソースへのアクセス)
curl -s -H "Authorization: Bearer $TOKEN" \
  https://api.example.com/api/users/OTHER_USER_ID

📊 静的解析(SAST)& 依存関係チェック(SCA)

Semgrep 無料 / OSS

パターンベースの静的解析ツール。カスタムルール作成が容易。

  • 多言語対応(JS, Python, Go, Java等)
  • セキュリティルールセット内蔵
  • CI/CD統合が簡単
  • カスタムルールをYAMLで定義

Snyk 無料枠あり

依存関係の脆弱性スキャンとコード解析。

  • npm, pip, Maven等の依存関係スキャン
  • 既知のCVEを自動検出
  • 修正PRの自動生成
  • コンテナイメージのスキャン

npm audit / Trivy 無料

パッケージマネージャー・コンテナの脆弱性チェック。

  • npm audit: Node.jsパッケージ
  • pip audit: Pythonパッケージ
  • Trivy: コンテナ・IaC・ファイルシステム
  • CI/CDでのゲーティングに最適
Bash依存関係の脆弱性チェック
# Node.js の依存関係チェック
npm audit --production

# Semgrep でセキュリティスキャン
semgrep --config=p/security-audit ./src

# Trivy でコンテナスキャン
trivy image --severity HIGH,CRITICAL myapp:latest

📝 API仕様・ドキュメント管理

Swagger / OpenAPI 標準仕様

APIの仕様を機械可読な形式で定義。セキュリティテストの入力としても活用。

  • エンドポイント・パラメータ・レスポンスを網羅的に定義
  • セキュリティスキーム(OAuth, APIKey等)の明記
  • ZAP/Burp へのインポートでテスト自動化
  • Swagger UIで対話的なドキュメント生成

Spectral 無料 / OSS

OpenAPI仕様のリンターツール。セキュリティベストプラクティスの準拠をチェック。

  • セキュリティスキーム定義の有無をチェック
  • 認証なしエンドポイントの検出
  • カスタムルールで社内ポリシーを強制
  • CI/CDでAPI仕様の品質ゲート

📡 監視・ログツール

API Gateway

Kong, AWS API Gateway, Apigee など。

  • 認証・認可の一元管理
  • レート制限の適用
  • リクエストログの集約
  • 異常検知アラート

WAF

AWS WAF, Cloudflare, ModSecurity など。

  • SQLi/XSS等の攻撃パターンブロック
  • GeoIPベースのアクセス制御
  • Bot対策
  • カスタムルール定義

SIEM / ログ分析

ELK Stack, Splunk, Datadog など。

  • APIログの集約・可視化
  • 異常パターンの検出
  • インシデントレスポンス支援
  • コンプライアンス監査

🤖 AIセキュリティテストツール

LLM、AIエージェント、MLパイプラインのテスト・保護に特化したツール群です。

Garak 無料 / OSS

プロンプトインジェクション、データ漏洩、ハルシネーションなどLLM固有の脆弱性を検出するスキャナー。

  • プロンプトインジェクション・ジェイルブレイクの自動テスト
  • データ漏洩・記憶データの抽出検知
  • プラグインベースのカスタムプローブ拡張
  • OpenAI、Hugging Face、ローカルモデルに対応
BashGarak によるLLM脆弱性スキャン
# garak のインストール
pip install garak

# OpenAI モデルに対してプロンプトインジェクションプローブを実行
garak --model_type openai --model_name gpt-4 \
  --probes promptinject

# 全プローブを実行しレポートを生成
garak --model_type openai --model_name gpt-4 \
  --probes all --report_prefix my_audit
OWASP リファレンス

対応リスク: LLM01: Prompt Injection, LLM06: Excessive Agency

Rebuff 無料 / OSS

ヒューリスティクス、LLMベース分析、ベクトル類似度による多層防御のプロンプトインジェクション検知フレームワーク。

  • 多層検知(ヒューリスティック + AI + ベクトルDB)
  • カナリアトークン挿入による漏洩検知
  • ミドルウェアとして容易に統合可能
  • 感度しきい値の柔軟な設定
OWASP リファレンス

対応リスク: LLM01: Prompt Injection

NeMo Guardrails 無料 / OSS (NVIDIA)

LLMアプリケーション向けランタイムガードレールフレームワーク。Colangルールで会話の境界を定義。

  • トピック境界の強制(話題逸脱の防止)
  • ファクトチェックとハルシネーション低減レール
  • 機密データの検出とPIIのマスキング
  • モデレーションと有害コンテンツのフィルタリング
OWASP リファレンス

対応リスク: LLM02: Insecure Output Handling, ASI07: Inadequate Guardrails

PyRIT 無料 / OSS (Microsoft)

生成AI向けPythonリスク識別ツール。マルチターン攻撃戦略によるレッドチーミングを自動化。

  • マルチターンのレッドチーミング会話を自動実行
  • 攻撃戦略のオーケストレーション(crescendo, PAIR等)
  • 応答評価のためのスコアリングエンジン
  • Azure OpenAI、Hugging Face、ローカルモデルに対応
OWASP リファレンス

対応リスク: LLM01: Prompt Injection, LLM07: Insecure Plugin Design

🗺 ツール選定ガイド

目的推奨ツールタイミング
API仕様のセキュリティチェックSpectral設計・仕様策定時
コードのセキュリティ解析Semgrep開発時 / PR
依存関係の脆弱性チェックSnyk / npm auditビルド時 / 定期
手動セキュリティテストBurp Suite / Postmanテスト・QAフェーズ
自動スキャン(CI/CD)OWASP ZAPデプロイ前
本番環境の保護WAF + API Gateway運用時
ログ監視・異常検知SIEM (ELK / Datadog)運用時 / 常時
LLM脆弱性スキャンGarak / PyRITデプロイ前 / 定期
プロンプトインジェクション検知Rebuffランタイム / 統合時
LLMランタイムガードレールNeMo Guardrailsランタイム / 常時
AIレッドチーミング自動化PyRITテスト・QAフェーズ
AIモデルサプライチェーン検証Semgrep / ModelScanビルド時 / デプロイ前