Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
openapi_security_scanner — Escáner de seguridad de autorización automatizado para APIs basadas en OpenAPI. Prueba endpoints GET con múltiples conjuntos de credenciales para detectar escalada de privilegios y errores de control de acceso roto mediante análisis de respuesta diferencial. | Kitploit
Herramientas/GitHubGitHub/ngalongc/openapi_security_scanner
Escáneres de VulnerabilidadesPruebas de Seguridad de APIsSeguridad WebPruebas de Penetración
GitHubngalongc/openapi_security_scanner

openapi_security_scanner

Escáner de seguridad de autorización automatizado para APIs basadas en OpenAPI. Prueba endpoints GET con múltiples conjuntos de credenciales para detectar escalada de privilegios y errores de control de acceso roto mediante análisis de respuesta diferencial.

Ver Repositorio

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
17337hace 5 añosRevisado por Kitploit

OpenAPI Security Scanner

Acerca del Proyecto

Los problemas de seguridad de autorización en aplicaciones web modernas no son fácilmente detectados por los escáneres de seguridad. Algunos ejemplos de Shopify, LINE, NordVPN. Una de las razones es que los escáneres de seguridad se centran principalmente en buscar SQLi, XSS, RCE en lugar de buscar errores de seguridad de autorización, y los escáneres generalmente no tienen conocimiento de cómo se supone que debe comportarse la aplicación web. Por eso la mayoría de los errores de autorización ahora se descubren principalmente de forma manual. OpenAPI Security Scanner se creó para ayudar a descubrir problemas de seguridad de autorización tanto con automatización como con revisión manual. Se comporta como una herramienta de prueba unitaria externa para asegurarse de que todo se comporte como debería.

Construido con

  • Schemathesis

Primeros Pasos

Mira este video para seguir o continúa leyendo.

Fork o clona este proyecto y sigue las instrucciones a continuación para comenzar.

El flujo de trabajo para usar este escáner sería algo así:

  • Prepara el archivo yaml de OpenAPI de la API objetivo
  • Define los endpoints objetivo y las variables a utilizar para las pruebas de la API
  • Genera múltiples conjuntos de credenciales de diferentes usuarios para asegurarse de que se cubran una variedad de casos extremos durante las pruebas de la API
  • Después de la configuración, inicia el runner y el resultado del escaneo se puede encontrar en los artifacts
  • Programa el runner para que se ejecute periódicamente y personaliza la forma en que deseas recibir las notificaciones cuando haya un cambio en el resultado del escaneo

Ventajas

Para los desarrolladores, usar esta herramienta agregaría una capa adicional de seguridad de que la API se comporta como se espera tanto interna como externamente. Y el escáner podría activarse en cada despliegue de código activando el pipeline https://docs.gitlab.com/ee/ci/triggers/.

Para los cazadores de recompensas por errores, usar esta herramienta puede asegurar que siempre estés al tanto de la API objetivo, porque todos sabemos que incluso un endpoint específico que no era vulnerable antes, podría ser vulnerable en el futuro debido a varias razones. Por lo tanto, es más fácil automatizar la parte manual de la caza de errores usando esta herramienta.

Advertencia antes de usar

Asegúrate de tener permiso para escanear la API objetivo.

Prerrequisitos

Necesitarás un archivo yaml de OpenAPI de la aplicación web y reemplazarlo con el contenido de api.yaml en el repositorio.

Uso

Reemplaza el contenido de api.yaml por el archivo yaml de OpenAPI del objetivo, y ve a Settings -> CI/CD del proyecto de GitLab -> Expande Variables e ingresa las variables en los siguientes formatos.

OPENAPI_CREDS

Las credenciales proporcionadas aquí se pasarán a las llamadas a la API en el formato de encabezado Authorization: Bearer. Se recomienda preparar tokens de acceso para al menos dos cuentas de usuario con diferentes permisos, y también puedes crear más de un token de acceso por cuenta de usuario para probar comportamientos correctos para tokens de acceso con diferentes ámbitos.

root@kitploit:~
{
   "<user_a>":[
      {
         "scope":"<scope>",
         "access_token":"<value>",
         "name":"<name_of_access_token>"
      },
      {
         "scope":"<scope>",
         "access_token":"<value>",
         "name":"<name_of_access_token>"
      }
   ],
   "<user_b>":[
      {
         "scope":"<scope>",
         "access_token":"<value>",
         "name":"<name_of_access_token>"
      }
   ]
}

OPENAPI_ENDPOINTS

Los endpoints proporcionados aquí deben ser llamadas a la API basadas en GET, y también puedes incluir la consulta en el cuerpo JSON. En el siguiente ejemplo, el endpoint es /org/{orgs}/repos y la consulta es type=all. Para el endpoint /repos/{owner}/{repo}, no habrá consulta.

root@kitploit:~
{
   "/orgs/{org}/repos":{
      "type":"all"
   },
   "/repos/{owner}/{repo}":{
      
   }
}

OPENAPI_PATHS

Las variables de ruta se pueden proporcionar aquí, y el escáner generará todas las combinaciones a partir de los valores en las variables de ruta.

root@kitploit:~
{
   "org":[
      "test-org"
   ],
   "owner":[
      "ngalongc",
      "reconless"
   ],
   "repo":[
      "public-repo",
      "private-repo"
   ]
}

En este caso, se generan las siguientes llamadas API combinadas, y todas serán llamadas por diferentes conjuntos de credenciales proporcionadas en OPENAPI_CREDS.

root@kitploit:~
/orgs/test-org/repos?type=all
/repos/ngalongc/public-repo
/repos/ngalongc/private-repo
/repos/reconless/public-repo
/repos/reconless/private-repo

PRIVATE_TOKEN

Ve a https://gitlab.com/-/profile/personal_access_tokens y crea un token de acceso api y reemplaza el valor aquí. Este token de acceso de GitLab se utiliza para descargar los resultados del escaneo desde el runner de GitLab.

root@kitploit:~
<YOU_GITLAB_API_ACCESS_TOKEN>

OPENAPI_BASE_URL

Este debe ser el valor de la URL base de tu servidor API.

root@kitploit:~
https://example.com/api/v3

Demostración: Ejecutando pruebas simples de permisos en la API de GitHub

Captura de pantalla de la notificación de Slack cuando se detectan cambios en la API

Captura de pantalla del resultado del escaneo en artifacts

Informe de muestra: https://ngalog-gitlab.gitlab.io/-/openapi_security_scanner/-/jobs/966841401/artifacts/sample.html

Limitaciones

  • Solo puede probar endpoints basados en GET
  • Para algunos endpoints de API como /users/{user_id}/activities, las respuestas son diferentes cada vez que se llaman, por lo que detectar cambios en este tipo de API no tiene sentido

Contribuciones

Las contribuciones son lo que hace que la comunidad de código abierto sea un lugar tan increíble para aprender, inspirar y crear. Agradecemos enormemente cualquier contribución que hagas.

  1. Haz un Fork del Proyecto
  2. Crea tu Rama de Característica (git checkout -b feature/AmazingFeature)
  3. Realiza tus Cambios (git commit -m 'Add some AmazingFeature')
  4. Sube a la Rama (git push origin feature/AmazingFeature)
  5. Abre una Solicitud de Fusión

Licencia

Distribuido bajo la Licencia MIT. Consulta LICENSE para más información.

Contacto

Ron Chan - @ngalongc

Enlace del Proyecto: https://gitlab.com/ngalog-gitlab/openapi_security_scanner

Descargar herramienta