
Marco de pruebas de penetración automatizado para APIs REST con generación de pruebas basada en OpenAPI, 32 pruebas de seguridad basadas en OWASP y manejo integrado de control de acceso para OAuth2, autenticación básica HTTP y claves de API.
REST-Attacker es un framework automatizado de pruebas de penetración para APIs que siguen el estilo de arquitectura REST. El enfoque de la herramienta es optimizar el análisis de implementaciones de APIs REST genéricas automatizando completamente el proceso de pruebas - incluyendo la generación de pruebas, el manejo del control de acceso y la generación de informes - con un esfuerzo mínimo de configuración. Además, REST-Attacker está diseñado para ser flexible y extensible, con soporte tanto para pruebas a gran escala como para análisis detallados.
REST-Attacker es mantenido por la Cátedra de Seguridad de Red y Datos de la Universidad del Ruhr en Bochum.
REST-Attacker actualmente proporciona estas características:
Obtenga la herramienta descargando o clonando el repositorio:
git clone https://github.com/RUB-NDS/REST-Attacker.git
Necesita Python >3.10 para ejecutar la herramienta.
También necesita instalar los siguientes paquetes con pip:
python3 -m pip install -r requirements.txt
Aquí encontrará un resumen rápido de los comandos más comunes y útiles. Puede encontrar más información sobre cada comando y otras opciones de configuración disponibles en nuestras guías de uso.
Obtenga la lista de casos de prueba compatibles:
python3 -m rest_attacker --list
Ejecución de prueba básica (con generación de casos de prueba en tiempo de carga):
python3 -m rest_attacker <cfg-dir-or-openapi-file> --generate
Ejecución de prueba completa (con generación de casos de prueba en tiempo de carga y en tiempo de ejecución + manejo de límites de tasa):
python3 -m rest_attacker <cfg-dir-or-openapi-file> --generate --propose --handle-limits
Ejecución de prueba solo con casos de prueba seleccionados (solo genera casos de prueba para los casos de prueba scopes.TestTokenRequestScopeOmit y resources.FindSecurityParameters):
python3 -m rest_attacker <cfg-dir-or-openapi-file> --generate --test-cases scopes.TestTokenRequestScopeOmit resources.FindSecurityParameters
Reejecutar una ejecución de prueba desde un informe:
python3 -m rest_attacker <cfg-dir-or-openapi-file> --run /path/to/report.json
Las guías de uso y la documentación del formato de configuración se pueden encontrar en las subcarpetas de documentación.
Para correcciones/mitigaciones de problemas conocidos con la herramienta, consulte los documentos de solución de problemas o la sección de Issues.
¡Se agradecen todo tipo de contribuciones! Si encontró un error o desea hacer una sugerencia o solicitud de funcionalidad, no dude en crear un nuevo issue en el rastreador de issues. También puede enviar correcciones o modificaciones de código a través de un pull request.
Desafortunadamente, a veces podemos estar muy ocupados, por lo que puede tomar un tiempo antes de que respondamos a los comentarios en este repositorio.
Este proyecto está licenciado bajo GNU LGPLv3 o posterior (LGPL3+). Consulte COPYING para el texto completo de la licencia y CONTRIBUTORS.md para la lista de autores.