
OpenAPI/Swagger仕様書やWSDLファイルを使用してRESTおよびSOAP APIの脆弱性をスキャンする自動化されたAPIセキュリティテストツールです。 OWASP ZAP、MariaDB、MongoDBを用いたフル スタックを展開します。
API Scanner は、OpenAPI/Swagger 仕様書と WSDL ファイルを使用して REST および SOAP API の脆弱性をスキャンする、自動化された API セキュリティテストツールです。
git clone https://github.com/CSPF-Founder/api-scanner-docker.git
cd api-scanner-docker
python3 setup.py
スクリプトは以下の処理を行います:
./certs/ に既存の証明書がある場合はそれを利用).env 設定ファイルを作成ブラウザで https://localhost:4455 を開きます。
自己署名証明書を使用している場合、ブラウザにセキュリティ警告が表示されますが、続行して受け入れてください。
セットアップスクリプトを使わず手動で設定する場合:
cp .env.example .env
.env を編集し、以下を更新:
change_me_* パスワードを強力なランダム値に変更CSRF_KEY を 32 文字以上のランダムな文字列に変更ZAP_API_KEY をランダムな文字列に変更TRUSTED_ORIGINS を自分のドメインに変更(例: https://scanner.yourcompany.com)DATABASE_URI と MONGO_DATABASE_URI のパスワードが個別のパスワード変数と一致することを確認スタックを起動:
docker compose up -d
すべての設定は .env ファイルで行います。利用可能な全オプションは .env.example を参照してください。
すべてのデータは Docker の名前付きボリュームに保存されます:
mariadb_data - ユーザーアカウント、ロール、セッションmongodb_data - スキャンレコード、結果、レポートscanner_data - ワークファイル、アップロードされた仕様書、生成されたレポートdocker compose pull
docker compose up -d
docker compose down
すべてのデータを削除する場合(破壊的操作):
docker compose down -v
ログを確認:
docker compose logs api-scanner
docker compose logs zap
サービスの健全性を確認:
docker compose ps
ZAP が起動しない場合: 最低 4 GB の空き RAM を確保してください。ZAP は約 3 GB を必要とします。
パネルにアクセスできない場合: TLS 証明書が ./certs/ にあり、TRUSTED_ORIGINS がポート番号を含む URL と一致していることを確認してください(例: https://localhost:4455)。
データベース接続エラー: 初回起動後、データベースの初期化に 30〜60 秒お待ちください。
完全なユーザーマニュアル: https://cspf-founder.github.io/api-scanner-docker/
| サービス | イメージ | 説明 |
|---|
| api-scanner | cysecurity/api-scanner:latest | Web パネル + スキャンエンジン(単一コンテナ) |
| zap | ghcr.io/zaproxy/zaproxy:stable | OWASP ZAP セキュリティスキャナー |
| mariadb | mariadb:10.11 | ユーザー管理とセッションストレージ |
| mongodb | mongo:4.4 | スキャンデータ、結果、レポート |
| 変数 | 説明 |
|---|
MARIADB_PASSWORD | MariaDB アプリケーションユーザーパスワード |
MONGO_APP_PASSWORD | MongoDB アプリケーションユーザーパスワード |
CSRF_KEY | CSRF 保護キー(32 文字以上) |
ZAP_API_KEY | ZAP API 認証キー |
TRUSTED_ORIGINS | パネルで許可する HTTPS オリジン |
USE_TLS | HTTPS を有効にする(デフォルト: true) |
TZ | タイムゾーン(デフォルト: UTC) |