
Автоматизированный инструмент тестирования безопасности API, который сканирует REST и SOAP API на уязвимости, используя спецификации OpenAPI/Swagger и WSDL-файлы. Разворачивает полный стек с OWASP ZAP, MariaDB и MongoDB.
API Scanner — это автоматизированный инструмент тестирования безопасности API, который сканирует REST и SOAP API на наличие уязвимостей, используя спецификации OpenAPI/Swagger и файлы WSDL.
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 ГБ свободной ОЗУ. ZAP требуется около 3 ГБ.
Панель недоступна: Проверьте, что TLS-сертификаты находятся в ./certs/ и TRUSTED_ORIGINS соответствует вашему URL, включая порт (например, https://localhost:4455).
Ошибки подключения к базе данных: Подождите 30-60 секунд после первого запуска, чтобы базы данных инициализировались.
Полное руководство пользователя: https://cspf-founder.github.io/api-scanner-docker/
| Сервис | Образ | Описание |
|---|
| api-scanner | cysecurity/api-scanner:latest | Веб-панель и движок сканирования в одном контейнере |
| 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) |