
Automatiza la auditoría de seguridad estática de contratos OpenAPI en CI/CD, ejecutando más de 300 comprobaciones de autenticación, autorización y restricciones de datos, con umbrales de puntuación mínima y salida SARIF.
La acción de Pruebas estáticas de seguridad de API REST localiza contratos de API REST que siguen la Especificación OpenAPI (OAS, anteriormente conocida como Swagger) y ejecuta comprobaciones de seguridad exhaustivas sobre ellos. Se admiten tanto OAS v2 como v3.0.x, en formato JSON y YAML.
Puede utilizar esta acción en los siguientes escenarios:
La acción está impulsada por 42Crunch API Security Audit. Security Audit realiza un análisis estático de la definición de la API que incluye más de 300 comprobaciones sobre mejores prácticas y posibles vulnerabilidades relacionadas con la autenticación, la autorización y las restricciones de datos.
De forma predeterminada, esta acción:
.json y .yaml en el repositorio.De esta manera, puede localizar cualquier contrato de API nuevo o modificado en el repositorio.
Puede ajustar el comportamiento de la acción especificando partes concretas del repositorio o máscaras de nombres de archivo que se incluirán o excluirán en el descubrimiento de APIs. Incluso puede deshabilitar por completo el descubrimiento y, en su lugar, enumerar solo archivos de API específicos que se deben comprobar y asignarlos a sus APIs existentes en 42Crunch API Security Platform. Todos estos ajustes se configuran en el archivo de configuración 42c-conf.yaml. Para ver ejemplos avanzados, consulte aquí.
Todas las APIs descubiertas se cargan en una colección de APIs en 42Crunch Platform. De forma predeterminada, la acción utiliza las variables de entorno GITHUB_REPOSITORY y GITHUB_REF para nombrar el repositorio y la rama/etiqueta/PR de donde se origina la colección de APIs. Puede anular el nombre utilizando el parámetro de acción default-collection-name. En las ejecuciones posteriores, las APIs de la colección se mantienen sincronizadas con los cambios en su repositorio.
Añada esta acción a sus flujos de trabajo de CI/CD en GitHub y haga que falle en las definiciones de API que contengan problemas de seguridad.
Security Audit asigna a cada contrato de API una puntuación de auditoría de 0 a 100 que refleja la superficie de seguridad de sus APIs. Puede usar el parámetro min-score de la GitHub Action para establecer el umbral de la puntuación de auditoría a partir del cual la acción falla (el valor predeterminado es 75, si no se especifica otro). Esto ayuda a detectar definiciones de API de mala calidad y a abordar los problemas lo antes posible, ya en la fase de diseño.
Se pueden establecer condiciones de error más avanzadas en el archivo de configuración 42c-conf.yaml, como la puntuación de auditoría por categoría (seguridad o validación de datos), el nivel de gravedad de los problemas, o incluso problemas específicos, identificados por su ID de problema. Para ver ejemplos avanzados, consulte aquí.
Además, el plugin aplica los security quality gates definidos a nivel de plataforma (los predeterminados o los controlados por etiquetas). Los security quality gates aplican los requisitos de seguridad de las aplicaciones definidos dentro de la empresa.
Cada vez que la acción se ejecuta, incluye un enlace al informe detallado, priorizado y procesable para cada uno de sus archivos OpenAPI:
Siga los enlaces para leer el informe detallado en 42Crunch Platform:
También puede hacer seguimiento de los problemas que la auditoría de 42Crunch encuentra directamente en GitHub, en la pestaña Security, bajo Code scanning alerts.
Para habilitarlo, simplemente incluya upload-to-code-scanning:true en los parámetros de la acción en su flujo de trabajo de GitHub.
Haga clic en cualquiera de las alertas para ver su ubicación exacta en su código y obtener los detalles de la vulnerabilidad y los pasos de corrección recomendados.
Esta acción utiliza el servicio 42Crunch API Security Audit. Antes de usar la acción, necesitará tener una cuenta en la plataforma 42Crunch. Si no es cliente de 42Crunch, puede solicitar una cuenta gratuita desde esta página: https://42crunch.com/get-started/.
A continuación, siga los pasos descritos en la documentación para crear un token de API para que la acción se autentique en 42Crunch Platform y guárdelo como un secreto en GitHub.
api-tokenObligatorio El token de API que la GitHub action utiliza para autenticarse en 42Crunch Platform. ¡No ponga su token de API directamente en el archivo de flujo de trabajo! En su lugar, cree un secreto de GitHub en la configuración de su repositorio y refiérase a él como se muestra en el ejemplo siguiente.
min-scoreLa puntuación de auditoría mínima que deben alcanzar los archivos OpenAPI; de lo contrario, la acción falla. El valor predeterminado es 75.
upload-to-code-scanningSube los resultados de la auditoría a Github Code Scanning. El valor predeterminado es false. Tenga en cuenta que el flujo de trabajo debe tener permisos específicos para que este paso tenga éxito.
...
jobs:
run_42c_audit:
permissions:
contents: read # for actions/checkout to fetch code
security-events: write # for results upload to Github Code Scanning
...
ignore-failuresSi se establece en true, fuerza la finalización correcta de la ejecución incluso si se cumplen las condiciones de error (como min-score o los criterios SQG) que haya establecido. El valor predeterminado es false.
Este parámetro puede resultar útil si desea detectar escenarios de error de SQG sin aplicarlos (es decir, dar un período de gracia a los equipos de desarrollo antes de empezar a romper las compilaciones).
ignore-network-errors