API Scanner 是一款自动化 API 安全测试工具,可利用 OpenAPI/Swagger 规范及 WSDL 文件扫描 REST 和 SOAP 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
| 服务 | 镜像 | 描述 |
|---|---|---|
| api-scanner | cysecurity/api-scanner:latest | Web 面板和扫描引擎合一的容器 |
| zap | ghcr.io/zaproxy/zaproxy:stable | OWASP ZAP 安全扫描器 |
| mariadb | mariadb:10.11 | 用户管理和会话存储 |
| mongodb | mongo:4.4 | 扫描数据、结果和报告 |
所有配置均通过 .env 文件完成。请参阅 .env.example 了解所有可用选项。
| 变量 | 描述 |
|---|---|
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) |
所有数据存储在 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 秒,让数据库完成初始化。