
📦 :octocat: Una GitHub Action que realiza un escaneo de seguridad de tus GitHub Actions.
Una GitHub Action que realiza un escaneo de seguridad de tus GitHub Actions.
Esta acción está basada en octoscan
Aquí tienes un ejemplo básico de cómo usar esta acción. Funcionará tanto para eventos push como pull_request.
---
name: Octoscan
on:
workflow_dispatch:
pull_request:
paths:
- '.github/workflows/*'
push:
paths:
- '.github/workflows/*'
permissions:
security-events: write
actions: read
contents: read
jobs:
octoscan:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- id: octoscan
name: Run octoscan
uses: synacktiv/action-octoscan@v1
- name: Upload SARIF file to GitHub
uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: "${{steps.octoscan.outputs.sarif_output}}"
category: octoscan
Los resultados de seguridad se pueden revisar en la pestaña de seguridad del código si tienes acceso de escritura en el repositorio de destino:

O directamente en la pull request:

Las entradas se basan en las opciones de octoscan, puedes encontrarlas aquí.
Las siguientes son opcionales como claves de step.with:
💡 No es posible usar enable_rules y disable_rules al mismo tiempo.
Se puede acceder a las siguientes salidas mediante ${{ steps.<step-id>.outputs }} desde esta acción.
| Nombre | Tipo | Descripción |
|---|---|---|
sarif_output | String | El nombre del archivo que contiene la salida sarif. |
Esta acción requiere los siguientes permisos en el token de integración de GitHub:
permissions:
security-events: write
actions: read
contents: read
security-events se utiliza para enviar la salida de octoscan al escaneo de código de GitHub.
| Nombre | Tipo | Descripción |
|---|
workdir | String | Directorio de trabajo relativo al directorio raíz. |
filter_triggers | String | Escanea workflows con desencadenantes específicos (lista separada por comas: "push,pull_request_target" o preconfigurados: external/allnopr). El valor por defecto es external. |
filter_run | Boolean | Busca inyección de expresiones solo en scripts de shell de run. El valor por defecto es true |
ignore | String | Expresión regular que coincide con los mensajes de error que quieres ignorar. |
disable_rules | String | Deshabilita reglas específicas. Separar por ",". No se puede usar con enable_rules. |
enable_rules | String | Habilita reglas específicas; esto deshabilitará todas las demás reglas. Separar por ",". No se puede usar con disable_rules. |