Tus pipelines son código. Por eso los leemos.
Tus archivos de workflow leídos como código: inyección, actions sin fijar, tokens y confianza, cada uno con su corrección.
- CríticaInyección en un workflowrelease.yml:24
run: echo "${{ github.event.pull_request.title }}"env: TITLE: ${{ github.event.pull_request.title }}run: echo "$TITLE"Corrección listaEl título pasa a una variable de entorno, fuera del shell.
Los fallos del pipeline, encontrados en el archivo.
Inyección en un workflow
- ${{ github.event.pull_request.title }}
Actions sin fijar
- actions/checkout@v3
- actions/setup-node@main
Tokens con demasiados privilegios
- permissions: write-all
Confianza OIDC
- "sub": "repo:acme/*"
La inyección, corregida en el workflow.
Tal como está escrito
run: echo "${{ github.event.pull_request.title }}"El título de la pull request llega a run: en el shell.
Con la corrección
env: TITLE: ${{ github.event.pull_request.title }}run: echo "$TITLE"El título pasa a una variable de entorno, fuera del shell.
Corregido por tu agente, en la sesión.
Tu agente lee estos hallazgos mientras escribe y los corrige en la misma sesión.
- CI/CDEscanea el repositorio en cada push.Detectado
- VibeDefendLe pasa el hallazgo a tu agente de código.Servido
- Tu agenteLo corrige en la sesión.Corregido
- CommitEntra sin el fallo.Limpio
Claude Code
Cursor
WindsurfGitHub Copilot
OpenAI Codex
Empieza por un repositorio.
Conecta GitHub, GitLab, Bitbucket o Azure DevOps, elige un repositorio y el primer escaneo arranca.
En detalle
Seis fallos de pipeline, encontrados en el archivo.
- CWE-77, CWE-78
Inyección en un workflow
Actions sin fijar
Tokens con demasiados privilegios
Confianza OIDC
Fugas de secretos
Envenenamiento de caché y artefactos
Todo lo que revisa
Caza la mala configuración antes de que corra el runner.
La mayoría de los incidentes de pipeline ya se ven en el YAML. Lo leemos como lo leería un atacante.
Pipelines tratados como código
GitHub Actions, GitLab CI, Jenkinsfile
Los hallazgos, en la PR
Seis fallos, leídos en el archivo.
Convertimos tus workflows en un AST y un grafo de flujo de datos, y les aplicamos nuestros propios packs de reglas.
Inyección en workflows (CWE-77 / 78)
Actions sin fijar y no confiables
Tokens con privilegios excesivos
Confianza OIDC mal configurada
Patrones de fuga de secretos
Envenenamiento de cache y artefactos
Del YAML a la corrección
El YAML es inseguro.
Juzgado antes de correr.
Fijado y acotado.
Conecta el repo, el resto es automático.
Conecta GitHub o GitLab. Nuestros escáneres leen los archivos de pipeline y se ejecutan en cada push (o bajo demanda). Nada que instalar en tu CI, ningún paso con runner privilegiado. Los hallazgos llegan al dashboard unificado y a la revisión de tu PR.
Seis dialectos de CI alimentan un solo parser: GitHub Actions, GitLab CI, Bitbucket, Azure DevOps, Jenkins, CircleCI.
El commit a3f9c2e toca release.yml. Dos ejecuciones salen del build: #4821 y #4822.
En la barrera, release.yml se lee como lo leería un atacante: trigger, permisos, cada uses: y run:.
#4821 queda bloqueada: pull_request_target con contents: write y una action sin fijar nunca llegan al job de deploy.
#4822 sale a prod-eu: SHA fijado, token de solo lectura, el título de la PR fuera del shell.