CI/CD

Poisoned Pipeline Execution

La vulnerabilidad de CI/CD más peligrosa no cambia ni una sola línea de código de la aplicación. Cambia la pipeline — y ejecuta código arbitrario en el build con sus permisos y sus secrets.

~8 min de lectura · CI/CD

Qué es PPE

Poisoned Pipeline Execution (OWASP CICD-SEC-4) abusa del acceso de escritura al sistema de control de versiones para que la pipeline de CI ejecute comandos maliciosos — con acceso a los secrets, los artefactos y la red interna del runner de build.

Megalodon: PPE a escala industrial

El 18 de mayo de 2026, la campaña Megalodon inyectó, en una única ventana de 6 horas, archivos de workflow maliciosos en más de 5.561 repos de GitHub — un d-PPE de manual que explotaba repos con protección de ramas débil o inexistente. Lo decisivo: el atacante nunca cambió código de aplicación, solo definiciones de pipeline — prácticamente invisible para los revisores de código.

El ataque a npm de TanStack (11 de mayo de 2026) mostró debilidades relacionadas: pull_request_target inseguro, cache-poisoning y robo de tokens en workflows de GitHub Actions.

La representación

Así se desarrolla un ataque PPE — y dónde lo corta PoisonZero cuando un agente en el runner tiene rutas que proteger:

1 · Acceso al SCM

Falta protección de ramas

Las PRs de forks o las reglas débiles permiten el acceso de escritura a los archivos de pipeline.

2 · D-PPE

Archivo de pipeline envenenado

Solo se cambia la configuración del workflow/CI — el código de la app permanece intacto.

3 · Build

El runner ejecuta

Con los permisos y los secrets del job.

PoisonZero

PoisonZero evalúa los accesos de escritura a rutas protegidas de agente/config en el runner.

danger 0.95 → revert
✕ Impedido

Exfil de secrets → Backdoor

↳ Secrets/tokens captados del job
↳ Backdoor en el artefacto firmado
↳ Movimiento lateral hacia otros repos
Sin protección, el PPE acaba en robo de secrets y artefactos envenenados. Con PoisonZero, los accesos de escritura a rutas protegidas se evalúan y lo peligroso se revierte.

Por qué las revisiones lo pasan por alto

Los revisores de código miran la lógica de negocio. Un archivo de pipeline modificado se cuela — y luego se ejecuta con plenos permisos. Es justamente esta capa "invisible" la que hace tan eficaz al PPE.

Dónde actúa PoisonZero

Cada vez más, hay agentes de IA corriendo en la pipeline (véase Agentes de IA en la pipeline de CI/CD). PoisonZero protege su memoria/config y evalúa los accesos de escritura a rutas protegidas fail-closed — relacionado: Gusanos de la cadena de suministro.

Protege a los agentes en la pipeline.

PoisonZero evalúa los accesos de escritura a rutas protegidas — también en los runners de CI.

Probar 14 días

Seguir leyendo: Gusanos de la cadena de suministro · Agentes de IA en la pipeline de CI/CD · Por qué gana el Fail-closed

Todos los artículos