Ir al contenido
ES EN

GitHub Actions

Añade las siguientes variables en Settings → Secrets and variables → Actions de tu repositorio:

| Tipo | Nombre | Descripción | |---|---|---| | Secret | GERION_API_KEY | API key M2M de tu organización | | Variable | GERION_API_URL | URL del Gerion API Gateway |

El resultado se envía directamente al dashboard de Gerion. Copia este archivo en .github/workflows/gerion-scan.yml:

name: Gerion Security Scan
on:
push:
branches: [main, master, develop]
pull_request:
workflow_dispatch:
jobs:
gerion-scan:
name: Security Scan
runs-on: ubuntu-latest
permissions:
contents: read
container:
image: ghcr.io/gerion-appsec/gerion-cli:latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Run full security scan
env:
GERION_API_URL: ${{ vars.GERION_API_URL }}
GERION_API_KEY: ${{ secrets.GERION_API_KEY }}
run: gerion scan-all /github/workspace

Puedes usar la Action oficial de Gerion directamente en cualquier workflow sin copiar el YAML del contenedor:

- uses: gerion-appsec/gerion-cli-action@v1
with:
api-url: ${{ vars.GERION_API_URL }}
api-key: ${{ secrets.GERION_API_KEY }}

| Parámetro | Defecto | Descripción | |---|---|---| | scan-type | all | all | secrets | sca | iac | sast | | code-path | . | Subdirectorio a escanear (relativo al workspace) | | api-url | — | URL del Gerion API Gateway | | api-key | — | API key M2M | | output-format | — | json | markdown | sarif | | output-file | — | Fichero de salida (relativo al workspace) | | log-level | info | debug | info | warning | error | | timeout | 180 | Timeout por escáner en segundos |

| Salida | Descripción | |---|---| | findings-file | Ruta absoluta al fichero de salida (si se configuró output-file) | | exit-code | Código de salida del CLI (0 = éxito, 1 = error de ejecución) |

  • Gerion CLI detecta automáticamente GITHUB_REPOSITORY, GITHUB_REF_NAME y GITHUB_SHA. No es necesario configurar metadatos manualmente.
  • Los container jobs montan $GITHUB_WORKSPACE en /github/workspace automáticamente.
  • El CLI retorna código de salida 0 aunque encuentre vulnerabilidades. Usa report --severity o parsea el JSON para implementar quality gates.