
Автоматизированная платформа для тестирования на проникновение REST API с генерацией тестов на основе OpenAPI, 32 тестами безопасности на основе OWASP и встроенной обработкой контроля доступа для OAuth2, HTTP Basic Auth и ключей API.
REST-Attacker — это автоматизированный фреймворк для тестирования на проникновение API, следующих архитектурному стилю REST. Инструмент ориентирован на упрощение анализа реализаций REST API путём полной автоматизации процесса тестирования — включая генерацию тестов, обработку контроля доступа и создание отчётов — с минимальными усилиями по настройке. Кроме того, REST-Attacker спроектирован как гибкий и расширяемый, с поддержкой как крупномасштабного тестирования, так и детального анализа.
REST-Attacker поддерживается Кафедрой сетевой и информационной безопасности Рурского университета в Бохуме.
REST-Attacker в настоящее время предоставляет следующие возможности:
Получите инструмент, скачав или клонировав репозиторий:
git clone https://github.com/RUB-NDS/REST-Attacker.git
Для работы инструмента требуется Python >3.10.
Также необходимо установить следующие пакеты с помощью pip:
python3 -m pip install -r requirements.txt
Здесь представлен краткий обзор наиболее распространённых и полезных команд. Более подробную информацию о каждой команде и других доступных параметрах конфигурации можно найти в наших руководствах по использованию.
Получить список поддерживаемых тестовых сценариев:
python3 -m rest_attacker --list
Базовый тестовый запуск (с генерацией тестовых сценариев во время загрузки):
python3 -m rest_attacker <cfg-dir-or-openapi-file> --generate
Полный тестовый запуск (с генерацией тестовых сценариев во время загрузки и выполнения + обработка ограничений скорости):
python3 -m rest_attacker <cfg-dir-or-openapi-file> --generate --propose --handle-limits
Тестовый запуск только с выбранными тестовыми сценариями (генерирует тестовые сценарии только для scopes.TestTokenRequestScopeOmit и resources.FindSecurityParameters):
python3 -m rest_attacker <cfg-dir-or-openapi-file> --generate --test-cases scopes.TestTokenRequestScopeOmit resources.FindSecurityParameters
Повторный запуск тестового запуска из отчёта:
python3 -m rest_attacker <cfg-dir-or-openapi-file> --run /path/to/report.json
Руководства по использованию и документацию по формату конфигурации можно найти в подпапках документации.
Информацию об исправлениях/устранении известных проблем с инструментом см. в документации по устранению неполадок или в разделе Issues.
Вклад любого рода приветствуется! Если вы нашли ошибку или хотите оставить предложение или запрос на новую функцию, не стесняйтесь создавать новый issue в трекере. Вы также можете отправить исправления или изменения кода через pull request.
К сожалению, иногда мы бываем очень заняты, поэтому ответ на комментарии в этом репозитории может занять некоторое время.
Этот проект лицензирован под GNU LGPLv3 или более поздней версией (LGPL3+). Полный текст лицензии см. в COPYING, список авторов — в CONTRIBUTORS.md.