Acción de Github de Ostorlab
1. Generar una nueva clave API
Para usar la Acción de Github de Ostorlab, el primer paso es generar una clave API. Para hacerlo, simplemente siga los siguientes pasos:
Vaya a report.ostorlab.co
Haga clic en el botón Menu

Haga clic en Integrations/API para expandir

Haga clic en API Keys

Haga clic en New para generar una nueva clave API

Copie la clave API. También puede agregar un nombre y una fecha de caducidad a su clave.

No olvide hacer clic en el botón guardar para guardar su clave.

2. Añadir la Acción de Github de Ostorlab a su flujo de trabajo
Una vez que haya generado su API, añádala a los Secretos de GitHub. Asegúrese de que el nombre coincida con secrets. en el archivo YAML. Puede seguir los pasos en la documentación de Github en el siguiente enlace para obtener instrucciones más detalladas.

El siguiente paso es actualizar su flujo de trabajo para añadir un paso de Ostorlab para activar el escaneo. A continuación, se muestra un ejemplo que realiza un escaneo rápido en un APK de Android y falla el pipeline en caso de vulnerabilidades con gravedad HIGH.
on: [push]
jobs:
ostorlab_test:
runs-on: ubuntu-latest
name: Test ostorlab ci actions.
steps:
- uses: actions/checkout@v2
- name: build ostorlab.apk
run: mv InsecureBankv2.apk ostorlab.apk
- name: Launch Ostorlab scan
id: start_scan
uses: Ostorlab/ostorlab_actions@v2.1.0
with:
scan_profile: fast_scan # Especifique qué perfil de escaneo utilizar para el escaneo (consulte la sección de escaneo).
asset_type: android-apk # tipo de activo a escanear.
target: ostorlab.apk # ruta del objetivo a escanear.
scan_title: title_scan_ci # escriba un título para su escaneo.
ostorlab_api_key: ${{ secrets.ostorlab_api_key }} # su clave api secreta.
break_on_risk_rating: HIGH # Esperar los resultados del escaneo y forzar el fallo de la acción si el riesgo del escaneo es mayor
max_wait_minutes: 30
- name: Get scan id
run: echo "Scan Created with id ${{ steps.start_scan.outputs.scan_id }} you can access the full report at https://report.ostorlab.co/scan/${{ steps.start_scan.outputs.scan_id }}/"
3. Escaneo de Aplicaciones Web
Además de las aplicaciones móviles, Ostorlab también admite el escaneo de aplicaciones web a través de flujos de trabajo de GitHub. Para escanear aplicaciones web, configure su flujo de trabajo como se muestra en el siguiente ejemplo:
on: [push]
jobs:
ostorlab_web_scan:
runs-on: ubuntu-latest
name: Test ostorlab web scan.
steps:
- uses: actions/checkout@v2
- name: Launch Ostorlab web scan
id: start_scan
uses: Ostorlab/ostorlab_actions@v2.1.0
with:
scan_profile: full_web_scan
asset_type: link --url
target: https://target1.ostorlab.co --url https://target2.ostorlab.co --url https://target3.ostorlab.co
scan_title: web_scan_ci
ostorlab_api_key: ${{ secrets.ostorlab_api_key }}
break_on_risk_rating: HIGH
max_wait_minutes: 60
- name: Get scan id
run: echo "Scan Created with id ${{ steps.start_scan.outputs.scan_id }} you can access the full report at https://report.ostorlab.co/scan/${{ steps.start_scan.outputs.scan_id }}/"
Para el escaneo de aplicaciones web:
- Utilice scan_profile: full_web_scan
- Establezca asset_type: link --url
- Enumere sus URL de destino con el indicador --url para cada URL adicional
Las acciones de Github de Ostorlab toman las siguientes entradas:
scan_profile, que es una opción obligatoria que especifica el perfil de escaneo, puede ser fast scan solo para análisis estático rápido, full_scan para cobertura completa estática, dinámica y de backend, o full_web_scan para escaneo de aplicaciones web.

asset_type, una opción obligatoria que especifica el tipo de activo de destino, por ejemplo, APK de Android, IPA de iOS o enlace para aplicaciones web.

target, una opción obligatoria. Es un archivo de destino a escanear o una URL para aplicaciones web.

scan_title, una opción opcional. Es un título para identificar su escaneo.

ostorlab_api_key, una opción obligatoria. Puede obtenerla del panel de Ostorlab, en Integrations/API luego en API Keys.

break_on_risk_rating, una opción opcional. Es una calificación de riesgo para interrumpir el pipeline si el resultado del escaneo es igual o superior al valor proporcionado.

max_wait_minutes, una opción opcional. es el tiempo máximo de espera en minutos, el pipeline no fallará si el escaneo se agota. si desea ejecutar el escaneo sin esperar, elimine esta opción.

extra, una opción opcional. es un argumento adicional para pasar a la CLI de Ostorlab. Un caso de uso común es pasar las credenciales de prueba del escaneo.

Puede proporcionar sus archivos SBOM o Lock para mejorar el análisis del escaneo, para hacerlo utilice la entrada extra para pasar el SBOM, por ejemplo para agregar un archivo package lock dot json utilice el siguiente ejemplo:

Aquí puede ver la lista de los archivos admitidos:

Ostorlab admite realizar pruebas autenticadas con contraseña de inicio de sesión simple o entradas personalizadas identificadas con nombre o etiqueta y pasando el valor. Para pasar las credenciales de prueba, dado que la Acción YAML de Github no admite pasar objetos complejos, puede utilizar la entrada extra para pasar las credenciales de prueba. Por ejemplo, para añadir inicio de sesión y contraseña y credenciales personalizadas con nombres y valores personalizados, añada la siguiente entrada:

En cuanto a la salida de la acción, es posible acceder al scan_id utilizando la siguiente sintaxis ${{ steps.STEP_ID.outputs.scan_id }}.
3. Use la Aplicación de GitHub Ostorlab Security Scanner para proporcionar información procesable directamente en su PR
La Aplicación de GitHub Ostorlab Security Scanner debe utilizarse en conjunto con un flujo de trabajo de Acciones de GitHub de Ostorlab como se explica en los pasos 1 y 2.
La Aplicación de GitHub Ostorlab Security Scanner está diseñada para ayudar a los desarrolladores a mejorar la seguridad de su código al proporcionar información procesable directamente en los Pull Requests. Integra la seguridad en el flujo de trabajo de desarrollo con el objetivo principal de identificar exactamente qué fragmento de código introdujo la vulnerabilidad, proporcionar información procesable y sugerencias de código que puede confirmar automáticamente. Este documento proporciona instrucciones sobre cómo configurar y utilizar la Aplicación.
- Añadir la Aplicación de GitHub:
- Vaya a la Aplicación Ostorlab Security Scanner.

- Haga clic en Add.

- Elija la cuenta donde desea instalar la aplicación.
- Haga clic en Install for free.

- Proporcione los permisos necesarios:
- Acceso de Read & Write a pull requests.
- Acceso de Metadata para el repositorio.

-
Haga clic en Install para finalizar la configuración.

-
Cómo utilizar:
- El siguiente paso es actualizar su flujo de trabajo para añadir un paso de Ostorlab para activar el escaneo como se describe en los pasos 1 y 2.

- Cree un pull request que incorpore el flujo de trabajo actualizado con Ostorlab.
Después de que se complete el escaneo, Ostorlab Security Scanner comentará automáticamente en su pull request, identificando exactamente dónde se introdujo la vulnerabilidad y proporcionando fragmentos de código de la solución.

Esta guía describió los pasos necesarios para utilizar con éxito la Acción de GitHub de Ostorlab y la Aplicación Ostorlab Security Scanner, incluida la generación de una nueva clave API, la exploración de varias entradas de acción, la instalación de la aplicación y la visualización de los resultados.