Wiz Research dévoile prt-scan : 500+ PR malveillantes orchestrées par IA depuis mars 2026 sur GitHub, ciblant pull_request_target. 50 dépôts compromis, 2 packages npm hijackés.
TL;DR — En résumé
Wiz Research devoile prt-scan : 500+ PR generees par LLM ciblent pull_request_target sur GitHub Actions.
En bref
- Campagne prt-scan documentée par Wiz Research : 500+ PR malveillantes en 6 vagues depuis le 11 mars 2026.
- Cible : workflows GitHub Actions utilisant pull_request_target, payloads générés par LLM.
- 50 dépôts compromis, secrets AWS/Cloudflare/Netlify exfiltrés, deux packages npm impactés.
Les faits
Points clés à retenir
- Les faits
- Impact et exposition
- Recommandations
Le 28 avril 2026, Wiz Research a publié une analyse approfondie de prt-scan, une campagne de supply chain logicielle ciblant l'écosystème GitHub. Les chercheurs attribuent l'opération à un acteur unique, actif principalement derrière le compte ezmtebo, qui a lancé ses premières actions le 11 mars 2026. Il aura fallu attendre trois semaines pour que la menace soit identifiée publiquement, le 2 avril, par le chercheur Charlie Eriksen. Entre ces deux dates, près de 500 pull requests malveillantes ont été soumises à des projets open source, réparties en six vagues distinctes aux modes opératoires évolutifs. Le mode opératoire prt-scan GitHub Actions IA repose sur des contributions générées par intelligence artificielle, conçues pour paraître légitimes et déclencher l'exécution de workflows d'intégration continue. Cette campagne illustre la maturité croissante des attaques automatisées contre les chaînes de développement logiciel.
Le mode opératoire repose entièrement sur l'abus du déclencheur pull_request_target dans les workflows GitHub Actions. Contrairement à pull_request, ce trigger exécute le code du workflow avec les secrets du dépôt cible, ce qui en fait une cible privilégiée pour exfiltrer des credentials lorsque la PR provient d'un fork malveillant. L'attaquant a ouvert plus de 475 PR malveillantes en 26 heures sur la dernière vague seule, en visant aussi bien des organisations majeures que des projets hobbyistes.
Chaque PR contenait un payload en cinq phases. Phase 1 : extraction des variables d'environnement disponibles dans le runner. Phase 2 : scan ciblé pour détecter des secrets à forte valeur (clés AWS, tokens Cloudflare API, credentials Netlify, tokens npm). Phase 3 : tentatives de contournement des labels de sécurité GitHub. Phase 4 : exécution de processus en arrière-plan pour capter les credentials injectés par les étapes CI suivantes. Phase 5 : exfiltration vers une infrastructure C2 contrôlée par l'attaquant.
Le bilan technique est préoccupant. Sur plus de 450 tentatives analysées par Wiz, le taux de succès reste inférieur à 10 %. Mais les compromissions effectives ont permis d'exfiltrer des secrets de 50 dépôts au moins, dont des clés cloud actives. Deux packages npm ont été compromis avec succès. Les cibles à forte valeur — Sentry, OpenSearch, IPFS, NixOS, Jina AI, recharts — ont toutes bloqué l'attaque grâce à une combinaison de protections : approbation manuelle des contributeurs externes, restrictions par actor, et conditions de déclenchement basées sur les chemins modifiés.
L'élément qui transforme cette campagne en signal faible majeur est l'usage massif de l'intelligence artificielle. Plusieurs caractéristiques pointent vers une orchestration assistée par LLM. La vélocité d'abord : environ 7 PR par heure soutenus pendant plus de 22 heures, ce qui dépasse largement la cadence d'un opérateur humain. Le ciblage adaptatif ensuite : le payload identifie dynamiquement le langage, le framework, le test runner et la configuration CI du dépôt avant d'adapter sa charge utile. Enfin, l'idiomaticité du code généré : les payloads s'intègrent dans la convention du projet ciblé, qu'il s'agisse de structures de tests Go, de patterns conftest pytest ou de hooks npm scripts.
Cette industrialisation représente un saut qualitatif. Les anciennes campagnes de prt-scan utilisaient des scripts bash bruts identiques sur tous les dépôts. Les vagues les plus récentes utilisent des payloads générés à la volée, contextualisés au point qu'ils peuvent passer inaperçus dans une revue rapide. Wiz indique que cette adaptation contextuelle est probablement le résultat d'un pipeline mixant un scraper de métadonnées de dépôt et un appel à un modèle de langage pour produire le code malveillant final.
L'attaque n'est pas isolée. Elle s'inscrit dans une vague plus large de campagnes supply chain observées en avril 2026, dont CanisterSprawl sur npm et la compromission Checkmarx KICS sur Docker Hub. Le point commun : l'utilisation systématique d'IA pour personnaliser, accélérer et passer sous les radars des défenses statiques. Les défenses traditionnelles fondées sur des signatures ou des règles statiques deviennent insuffisantes face à des charges utiles générées dynamiquement.
Impact et exposition
Toute organisation utilisant pull_request_target dans ses workflows GitHub Actions sans contrôles d'approbation pour les contributeurs externes est potentiellement exposée. Le risque concerne particulièrement les dépôts open source acceptant des contributions sans approbation préalable systématique. Les credentials qui transitent via les runners GitHub-hosted incluent souvent des tokens à fort impact : clés cloud, secrets API, tokens de publication de packages.
L'exposition réelle dépend de la configuration des secrets. Les organisations qui isolent leurs secrets de production dans des environnements GitHub Environments avec règles d'approbation manuelle réduisent l'impact à des credentials périphériques. À l'inverse, les configurations qui injectent les secrets de production directement dans les workflows liés aux PR exposent l'ensemble de la chaîne de déploiement.
Recommandations
- Auditer immédiatement les workflows GitHub Actions pour identifier l'usage de pull_request_target et le restreindre aux cas strictement nécessaires.
- Activer le paramètre Require approval for first-time contributors dans les paramètres Actions de chaque dépôt et organisation.
- Migrer les secrets sensibles vers GitHub Environments avec règles d'approbation manuelle pour les déploiements.
- Utiliser l'outil rapidfort/gh-action-security-audit ou équivalent pour scanner l'organisation à la recherche de configurations à risque.
- Réviser tous les workflows ayant des permissions write-default sur GITHUB_TOKEN et appliquer le principe du moindre privilège.
Alerte critique
L'acteur reste actif et continue d'opérer de nouveaux comptes après chaque blocage. Tout dépôt avec un workflow pull_request_text non protégé doit être considéré comme une cible probable dans les prochaines vagues. La détection statique seule ne suffit plus.
Comment savoir si un de mes dépôts utilise pull_request_target dangereusement ?
Recherchez la chaîne pull_request_target dans tous les fichiers .github/workflows/*.yml de vos dépôts. Si elle est présente sans condition restrictive (filtres de chemins, restrictions actor, ou approval gates), le workflow est exposé. Le dépôt rapidfort/gh-action-security-audit fournit un script qui automatise cette recherche à l'échelle de l'organisation.
Mes secrets compromis : que faire ?
Rotation immédiate de tous les secrets injectés dans les workflows utilisant pull_request_target depuis le 11 mars 2026. Audit des accès cloud (CloudTrail AWS, audit logs Cloudflare, etc.) pour identifier d'éventuelles utilisations frauduleuses. Notification de l'équipe sécurité GitHub si le dépôt est public et a reçu des PR suspectes du compte ezmtebo ou de comptes similaires.
Votre infrastructure est-elle exposée ?
Ayi NEDJIMI realise des audits de sécurité cibles pour identifier et corriger vos vulnérabilités avant qu'elles ne soient exploitees.
Articles connexes :
Sources et références
À propos de l'auteur
Ayi NEDJIMI
Auditeur Senior Cybersécurité & Consultant IA
Expert Judiciaire — Cour d'Appel de Paris
Habilitation Confidentiel Défense
ayi@ayinedjimi-consultants.fr
Ayi NEDJIMI est un vétéran de la cybersécurité avec plus de 25 ans d'expérience sur des missions critiques. Ancien développeur Microsoft à Redmond sur le module GINA (Windows NT4) et co-auteur de la version française du guide de sécurité Windows NT4 pour la NSA.
À la tête d'Ayi NEDJIMI Consultants, il réalise des audits Lead Auditor ISO 42001 et ISO 27001, des pentests d'infrastructures critiques, du forensics et des missions de conformité NIS2 / AI Act.
Conférencier international (Europe & US), il a formé plus de 10 000 professionnels.
Domaines d'expertise
Ressources & Outils de l'auteur
Articles connexes
GPT-6 Astra : OpenAI franchit le seuil critique en sécurité
OpenAI a lancé GPT-6 Astra le 3 septembre 2026, son premier modèle classé Critical en cybersécurité selon son Preparedness Framework, avec 1M tokens de contexte et mémoire persistante.
CenterPoint Energy confirme 7,49 millions de dossiers volés
Un hacker a exploité une API publique sans authentification pour exfiltrer 7,49 millions de dossiers clients de CenterPoint Energy, incluant des SSN partiels. Cinq recours collectifs déjà déposés.
ShinyHunters pirate Clop et menace le gang de ransomware
Le groupe ShinyHunters a compromis le site de fuite Tor du ransomware Clop le 19 septembre 2026 via une faille Grav CMS, revendiquant le vol des clés privées onion et menaçant d'extorquer le gang.
Un projet cybersécurité ? Parlons-en.
Pentest, conformité NIS 2, ISO 27001, audit IA, RSSI externalisé… nos experts répondent sous 24h pour évaluer votre besoin et vous proposer un accompagnement sur mesure.
Commentaires (1)
Laisser un commentaire