CI/CD

Poisoned Pipeline Execution

La vulnérabilité CI/CD la plus dangereuse ne modifie pas une seule ligne de code applicatif. Elle modifie la pipeline — et exécute du code arbitraire dans le build avec ses droits et ses secrets.

~8 min de lecture · CI/CD

Ce qu'est le PPE

La Poisoned Pipeline Execution (OWASP CICD-SEC-4) abuse de l'accès en écriture au système de contrôle de version pour que la pipeline CI exécute des commandes malveillantes — avec accès aux secrets, artefacts et au réseau interne du runner de build.

Megalodon : le PPE à l'échelle industrielle

Le 18 mai 2026, la campagne Megalodon a injecté, dans une seule fenêtre de 6 heures, des fichiers de workflow malveillants dans plus de 5 561 dépôts GitHub — un D-PPE de manuel, exploitant des dépôts à la protection de branche faible ou absente. Point décisif : l'attaquant n'a jamais modifié de code applicatif, seulement des définitions de pipeline — pratiquement invisibles pour les relecteurs de code.

L'attaque npm TanStack (11 mai 2026) a révélé des faiblesses apparentées : pull_request_target non sécurisé, cache poisoning et vol de token dans les workflows GitHub Actions.

La représentation

Voici comment se déroule une attaque PPE — et où PoisonZero la rompt lorsqu'un agent dans le runner dispose de chemins à protéger :

1 · Accès SCM

Protection de branche absente

Les PR de fork ou des règles faibles autorisent l'écriture dans les fichiers de pipeline.

2 · D-PPE

Fichier de pipeline empoisonné

Seule la config workflow/CI est modifiée — le code applicatif reste intact.

3 · Build

Le runner exécute

Avec les droits et les secrets du job.

PoisonZero

PoisonZero évalue les écritures dans les chemins d'agent/config protégés du runner.

danger 0.95 → revert
✕ Empêché

Exfil de secrets → backdoor

↳ Secrets/tokens captés depuis le job
↳ Backdoor dans l'artefact signé
↳ Mouvement latéral vers d'autres dépôts
Sans protection, le PPE se termine en vol de secrets et en artefacts empoisonnés. Avec PoisonZero, les écritures dans les chemins protégés sont évaluées et ce qui est dangereux est annulé.

Pourquoi les relectures passent à côté

Les relecteurs de code regardent la logique métier. Un fichier de pipeline modifié passe entre les mailles — puis s'exécute avec tous les droits. C'est précisément cette couche « invisible » qui rend le PPE si efficace.

Où intervient PoisonZero

De plus en plus souvent, des agents IA tournent dans la pipeline (voir Les agents IA dans la pipeline CI/CD). PoisonZero protège leur Memory/config et évalue les écritures dans les chemins protégés en mode fail-closed — en lien : les vers de la supply chain.

Protégez les agents dans la pipeline.

PoisonZero évalue les écritures dans les chemins protégés — y compris sur les runners CI.

Tester 14 jours

À lire aussi : Les vers de la supply chain · Les agents IA dans la pipeline CI/CD · Pourquoi le Fail-closed l'emporte

Tous les articles