La sécurité des configurations d’agents IA relève de la sécurité de la chaîne d’approvisionnement
Le 29 avril 2026, des équipes de sécurité ont signalé des packages compromis dans l’écosystème SAP qui ne se limitaient pas au vol d’identifiants. La campagne Mini Shai-Hulud a aussi inscrit de la persistance dans la configuration des développeurs : points d’accroche Claude Code, tâches VS Code et fichiers de flux de travail de dépôt.123
Ce détail déplace la frontière de revue. Un package piégé n’a plus besoin de rester installé s’il peut laisser derrière lui une commande de démarrage dans un fichier auquel le développeur fait confiance. Supprimer la dépendance peut retirer le premier déclencheur. La configuration de l’agent ou de l’éditeur peut garder le suivant actif.
La configuration d’un agent IA est un logiciel exécutable. Traitez chaque point d’accroche, tâche, définition de serveur MCP, skill, plugin, script de package et fichier de flux de travail comme un élément de la chaîne d’approvisionnement logicielle, car ces fichiers peuvent décider quel code s’exécute avant que l’humain ait lu le diff.
TL;DR
Mini Shai-Hulud a montré un chemin concret entre l’installation d’une dépendance et la persistance dans les outils de développement. Des chercheurs en sécurité ont signalé des packages npm malveillants qui utilisaient des scripts de cycle de vie pendant l’installation, récoltaient des identifiants de développeurs et de CI, puis écrivaient des fichiers .claude/settings.json et .vscode/tasks.json pour relancer du code depuis des surfaces de développement jugées fiables.124 La documentation officielle confirme que ces surfaces ont un véritable pouvoir d’exécution : les points d’accroche Claude Code lancent des commandes de cycle de vie, les points d’accroche de commande s’exécutent avec les droits de l’utilisateur, et les tâches VS Code folderOpen peuvent s’exécuter à l’ouverture d’un dossier après autorisation des tâches automatiques pour ce dossier.56
La leçon n’est pas « désactivez les agents ». Elle est plus précise : la configuration des agents doit entrer dans la revue des dépendances, la revue de code, la réponse aux incidents et les barrières de publication. Les dossiers cachés qui ressemblaient autrefois à de simples préférences locales se trouvent désormais sur le chemin d’exécution. Une pratique sérieuse de l’ingénierie IA exige des diffs de configuration, une revue des points d’accroche, une revue des tâches, des jetons à privilèges minimaux et des audits des surfaces de démarrage.
Points clés
Pour les développeurs :
- Relisez .claude/settings.json, .vscode/tasks.json, .github/workflows/*, les scripts package.json, les configurations MCP et les manifestes de plugins ou de skills d’agent avant de faire confiance à un dépôt.
- Traitez les nouveaux points d’accroche de démarrage et les tâches à l’ouverture d’un dossier comme de nouveaux fichiers exécutables.
- Après une installation suspecte, supprimez les fichiers de persistance et effectuez une rotation des identifiants. La seule suppression du package ne prouve pas que le nettoyage est complet.
Pour les équipes de sécurité : - Ajoutez les fichiers de configuration d’agents aux détections de chaîne d’approvisionnement, à CODEOWNERS, à la réponse aux secrets exposés et au périmètre d’incident. - Signalez toute PR qui ajoute une exécution au démarrage, des commandes shell larges, des binaires téléchargés opaques ou des charges cachées dans des dossiers précédés d’un point. - Privilégiez les identifiants de publication à durée de vie courte et les identifiants d’installation en lecture seule. Les jetons d’écriture à longue durée de vie restent du carburant pour les vers.
Pour les éditeurs de plateformes d’agents : - Rendez les surfaces d’exécution visibles, vérifiables et explicables. - Séparez les points d’accroche qui chargent du contexte de ceux qui exécutent des commandes. - Donnez aux utilisateurs une vue d’audit de premier ordre pour les actions de démarrage, les appels réseau externes et les configurations modifiées.
Ce que Mini Shai-Hulud a changé
Les attaques de chaîne d’approvisionnement contre les gestionnaires de packages suivent déjà un schéma connu. Un package fiable reçoit une version malveillante. Un script d’installation s’exécute. La charge vole des jetons. Le retrait du registre ou le retour à une version antérieure arrive après qu’un certain nombre de développeurs et de jobs CI ont déjà installé la mauvaise version.
Mini Shai-Hulud a ajouté une étape plus spécifique aux agents. Les rapports d’Endor Labs, Wiz, Socket, StepSecurity et Cloud Security Alliance décrivent tous la même forme générale : des packages compromis dans l’écosystème de développement SAP utilisaient l’exécution à l’installation via npm, collectaient des identifiants GitHub, npm, cloud et CI, puis créaient de la persistance par la configuration des outils de développement.12347
Wiz a documenté une voie de secours qui plaçait des fichiers dans les dépôts afin que de futures ouvertures dans Claude Code ou VS Code puissent relancer l’exécution.2 Endor Labs a décrit un point d’accroche Claude Code SessionStart et une tâche VS Code avec runOn: "folderOpen".1 Le suivi de campagne de Socket liste la persistance via .claude/settings.json et .vscode/tasks.json aux côtés de compromissions de packages npm et PyPI.3
La charge exacte relève des rapports d’incident, pas d’un article général d’ingénierie. La leçon durable est celle-ci :
| Ancienne hypothèse de chaîne d’approvisionnement | Défaillance plus récente à l’ère des agents |
|---|---|
| Supprimer le package piégé supprime le déclencheur. | Un point d’accroche ou une tâche peut conserver un second déclencheur dans le dépôt. |
| La revue des dépendances se concentre sur les fichiers de packages. | La revue doit inclure la configuration générée, les fichiers de flux de travail et les dossiers cachés. |
| La configuration développeur relève des préférences locales. | La configuration développeur peut exécuter du code avec des identifiants locaux. |
| Les secrets CI sont la cible principale. | Les sessions locales d’agents, les éditeurs et les configurations d’outils IA deviennent des surfaces de persistance. |
La cible s’est déplacée d’une version de package vers l’environnement de développement qui entoure ce package.
Les fichiers de configuration sont devenus des programmes de démarrage
La référence des points d’accroche de Claude Code indique que les points d’accroche sont des commandes shell définies par l’utilisateur, des endpoints HTTP ou des prompts LLM qui s’exécutent automatiquement lors d’événements de cycle de vie.5 La même documentation précise que SessionStart s’exécute lorsque Claude Code démarre ou reprend une session, et la section sécurité avertit que les points d’accroche de commande s’exécutent avec l’ensemble des permissions de l’utilisateur.5
La documentation des tâches VS Code fournit une autre surface d’exécution. Une tâche peut définir runOn sur folderOpen, et VS Code l’exécutera à l’ouverture du dossier qui la contient après que l’utilisateur a autorisé les tâches automatiques pour ce dossier.6 Cette demande de consentement compte. Elle réduit le risque par rapport à une exécution silencieuse sur toutes les machines. Elle ne rend pas le fichier inoffensif. Un dépôt fiable, un développeur fatigué, un espace de travail déjà autorisé ou une règle d’organisation peuvent encore transformer un changement de configuration en exécution de code.
npm ajoute le pont à l’installation. La documentation des scripts npm liste preinstall, install et postinstall parmi les scripts de cycle de vie pour npm ci et npm install, et la section des bonnes pratiques npm indique que les auteurs ne devraient presque jamais définir explicitement de scripts preinstall ou install, sauf pour la compilation propre à une architecture cible.8
Ces trois faits créent la chaîne d’attaque :
- Un script d’installation s’exécute pendant l’installation des dépendances.
- Le script écrit ou modifie la configuration d’un outil de développement.
- L’éditeur ou l’agent exécute plus tard l’action de démarrage configurée.
- Le développeur fait confiance à la surface de l’outil parce que l’invite ou l’UI ressemble à du travail normal.
Le danger ne vient pas d’une seule fonctionnalité. Les scripts d’installation, points d’accroche, tâches et flux de travail servent tous une automatisation légitime. Le danger vient de la transitivité de la confiance. Une installation de package ne devrait pas pouvoir définir silencieusement ce que chaque future session d’agent ou ouverture de dossier exécutera.
La frontière de revue est mauvaise
La plupart des habitudes de revue de code traitent les fichiers source comme l’artefact principal et les fichiers de configuration comme du matériel de soutien. Cette habitude échoue dès que les fichiers de configuration exécutent des commandes.
Un nouveau point d’accroche doit recevoir la même revue qu’un nouveau script shell. Une nouvelle tâche doit recevoir la même revue qu’un nouveau binaire. Un nouveau serveur MCP doit recevoir la même revue qu’une nouvelle intégration réseau. Un nouveau script de cycle de vie de package doit recevoir la même revue que du nouveau code qui s’exécute avant les tests.
Utilisez un tableau de revue :
| Fichier ou surface | Question de revue | Risque si ignoré |
|---|---|---|
.claude/settings.json |
Un point d’accroche de cycle de vie exécute-t-il une commande, récupère-t-il du contexte, envoie-t-il des données ou modifie-t-il des fichiers ? | Le démarrage de session d’agent devient un chemin d’exécution. |
.vscode/tasks.json |
Une tâche s’exécute-t-elle à l’ouverture du dossier ou appelle-t-elle une commande shell ? | Ouvrir un dépôt peut lancer du code non revu. |
.github/workflows/* |
Le flux de travail peut-il lire des secrets, écrire dans le dépôt, publier des packages ou exécuter une entrée non fiable ? | La CI transforme une écriture dans le dépôt en accès aux identifiants. |
package.json scripts |
Une dépendance ou une PR a-t-elle ajouté une exécution à l’installation ? | npm install devient une exécution de code. |
| Configurations MCP | Quels serveurs obtiennent des identifiants, un accès au système de fichiers ou une portée réseau ? | Un pont d’outil élargit l’autorité sans revue produit. |
| Skills ou plugins d’agent | Les instructions incluent-elles des points d’accroche, un accès shell, des appels réseau ou des lectures de fichiers larges ? | Le contexte fiable devient une surface de commande. |
Défense à l’exécution pour les agents augmentés par des outils soutenait que l’application des règles doit se faire à la frontière des appels d’outils. Mini Shai-Hulud pousse la même exigence une couche plus tôt. La frontière de démarrage doit aussi être contrôlée.
L’autorité au démarrage exige le moindre privilège
Les équipes appliquent déjà le moindre privilège aux clés API. La configuration des agents doit suivre la même règle.
Claude Code sépare les événements de points d’accroche comme PreToolUse, PostToolUse et SessionStart.5 Cette séparation doit façonner la politique. Un point d’accroche qui charge un contexte statique ne devrait pas avoir besoin d’un accès shell. Un point d’accroche qui valide une commande ne devrait pas avoir besoin d’un accès réseau. Un point d’accroche qui enregistre des métadonnées locales ne devrait pas avoir besoin d’identifiants.
La même règle vaut pour les tâches VS Code et les flux de travail CI :
| Besoin d’automatisation | Autorité plus étroite |
|---|---|
| Charger le contexte du projet | Lire des documents connus et émettre du texte. Pas de shell, pas de réseau. |
| Valider une commande | Inspecter les arguments de commande. Pas d’écriture de fichiers. |
| Formater les fichiers modifiés | Écrire uniquement dans les chemins source correspondants. Pas d’identifiants. |
| Publier un package | Exécuter uniquement dans le flux de publication, avec approbation et identifiants à durée de vie courte. |
| Traduire ou déployer du contenu | Utiliser un runner à portée limitée et des chemins modifiés explicites. |
La documentation npm sur la publication de confiance explique pourquoi les identifiants à durée de vie courte comptent. La publication de confiance utilise OIDC afin que la publication de packages puisse se faire sans jetons npm à longue durée de vie, et npm recommande d’interdire la publication traditionnelle par jeton une fois les éditeurs de confiance configurés.9 npm recommande aussi des jetons d’accès granulaires en lecture seule pour installer des dépendances privées lorsque la publication utilise OIDC.9
Ce conseil n’élimine pas le risque lié aux flux de travail. Un flux compromis peut encore faire des dégâts s’il dispose de trop d’autorité. La leçon est de réduire les deux côtés : identifiants à durée de vie courte et flux de travail étroits.
Traitez la configuration d’agent comme une dépendance
La revue des dépendances demande généralement quelles versions de packages ont changé. À l’ère des agents, elle doit demander quelles surfaces d’exécution ont changé.
Avant d’accepter une mise à jour de dépendance, l’installation d’un plugin, une configuration générée ou un changement de modèle, vérifiez :
| Vérification | Test pratique |
|---|---|
| Fichiers de démarrage modifiés | Rechercher les points d’accroche, tâches, scripts de lancement et déclencheurs de flux de travail nouveaux ou modifiés. |
| Charge cachée apparue | Signaler les gros nouveaux fichiers sous des dossiers cachés ou aux noms qui semblent générés. |
| Appel réseau ajouté | Examiner toute URL, tout curl, wget, node fetch, téléchargement de package ou destination de télémétrie. |
| Chemin d’identifiants ajouté | Rechercher .npmrc, configuration cloud, clés SSH, .env, trousseaux, coffres et contextes de secrets CI. |
| Indirection shell ajoutée | Examiner les commandes qui appellent sh, bash, node, python, bun ou des binaires téléchargés. |
| Propriétaire de revue manquant | Exiger l’approbation d’un propriétaire pour les configurations d’agents et les flux de travail CI. |
Il ne s’agit pas de paranoïa. Il s’agit de classer correctement le risque. Un fichier de point d’accroche peut ressembler à de la configuration, mais il se comporte comme du code. Un fichier de tâche peut ressembler à un réglage d’éditeur, mais il peut lancer un shell. Un flux de travail peut ressembler à de la plomberie de publication, mais il peut accéder à des identifiants.
La sécurité des agents IA commence par de petits logiciels avançait un argument voisin côté conception : des outils plus étroits offrent moins d’endroits où cacher des erreurs. La version sécurité dit que des configurations plus étroites offrent moins d’endroits où cacher de la persistance.
Un balayage de configuration sûr
Une revue défensive n’a pas besoin d’exécuter du code suspect. Commencez par une inspection en lecture seule :
git diff -- .claude/settings.json .vscode/tasks.json package.json .github/workflows
rg -n '"SessionStart"|"runOn"\\s*:\\s*"folderOpen"|preinstall|postinstall|curl|wget|bun|node .*setup' \
.claude .vscode package.json .github/workflows
find . -path '*/.claude/*' -o -path '*/.vscode/tasks.json' -o -path '*/.github/workflows/*'
Ces commandes ne prouvent pas qu’une machine est propre. Elles donnent au reviewer un premier passage sur les surfaces les plus susceptibles de transformer la configuration en exécution. Si une installation suspecte a déjà eu lieu, passez à la réponse aux incidents au lieu de considérer un résultat de recherche propre comme une garantie.
La reprise exige un balayage de configuration
La réponse à incident après une dépendance compromise ne doit pas s’arrêter à la désinstallation du package.
Utilisez cette séquence de reprise :
- Déterminez si la version affectée du package a été installée sur une machine de développement ou un runner CI.
- Geler cet environnement avant qu’il effectue davantage de travail.
- Auditer les fichiers de configuration de démarrage dans le dépôt et dans la configuration d’agent ou d’éditeur du dossier personnel.
- Supprimer les points d’accroche, tâches, flux de travail, fichiers de charge générés et branches inattendues suspects.
- Effectuer une rotation de chaque identifiant accessible au processus affecté, y compris les jetons de package, jetons GitHub, clés cloud, clés SSH et secrets CI.
- Examiner les accès de publication de package et les accès d’écriture au dépôt.
- Relire les journaux de flux de travail pour détecter une exposition de secrets et des appels sortants inattendus.
- Reconstruire l’environnement depuis un checkout propre et un ensemble de dépendances connu comme sain.
Les recommandations de sécurité Actions de GitHub soutiennent le volet identifiants de cette réponse : utiliser le moindre privilège pour les jetons de flux de travail, effectuer une rotation des secrets exposés, auditer la manière dont les secrets sont manipulés et envisager d’exiger une revue avant que les jobs puissent accéder aux secrets d’environnement.10 GitHub recommande aussi CODEOWNERS pour les fichiers de flux de travail afin que les changements sous .github/workflows nécessitent l’approbation de reviewers désignés.10
Ajoutez la configuration d’agent à cette même gouvernance. Si .github/workflows/* mérite une revue par propriétaire de code parce qu’il peut toucher des secrets, .claude/settings.json et .vscode/tasks.json méritent une revue parce qu’ils peuvent exécuter des commandes près de secrets.
Ce que les plateformes d’agents devraient construire
Les plateformes d’agents et les éditeurs peuvent réduire la charge de revue en rendant explicite l’autorité au démarrage.
Surfaces produit utiles :
| Surface | Pourquoi c’est important |
|---|---|
| Registre des actions de démarrage | Affiche chaque point d’accroche, tâche, plugin, serveur MCP et commande susceptible de s’exécuter avant le début du travail. |
| Avertissements de diff de configuration | Signale les nouveaux chemins d’exécution séparément des changements de préférences ordinaires. |
| Résumé des permissions | Explique l’autorité sur le système de fichiers, le réseau, les identifiants et le shell pour chaque action de démarrage. |
| Provenance au premier lancement | Montre si un point d’accroche vient de l’utilisateur, du dépôt, d’un plugin, d’un skill, d’une marketplace ou d’un modèle généré. |
| Mode sûr | Démarre un dépôt avec toute exécution automatique désactivée jusqu’à revue. |
| Dossiers de revue | Permet aux équipes d’approuver des changements de configuration avec preuves et étapes de retour arrière. |
Ces surfaces ne devraient pas dépendre de la capacité du modèle à lire un fichier JSON et à porter un jugement. L’environnement d’exécution devrait exposer directement l’autorité. L’utilisateur devrait voir une différence claire entre « charge le contexte depuis README » et « exécute une commande shell au démarrage de la session ».
Les outils MCP ont besoin d’une autorisation au niveau de l’action expliquait que la validation par jeton porteur doit mener à des contrôles par outil, par rôle et par action. La configuration d’agent a besoin de la même forme : chaque action de démarrage devrait déclarer l’autorité dont elle a besoin, et l’environnement d’exécution devrait imposer l’ensemble viable le plus réduit.
Une politique locale pratique
Les équipes peuvent commencer par un petit fichier de politique avant même que les plateformes améliorent l’interface :
| Règle | Valeur par défaut |
|---|---|
| Points d’accroche au démarrage de l’agent | Désactivés sauf s’ils sont revus et possèdent un responsable. |
| Tâches d’éditeur à l’ouverture d’un dossier | Autorisées uniquement pour la configuration documentée du projet, jamais pour des charges téléchargées. |
| Scripts d’installation de packages en CI | Utiliser --ignore-scripts lorsque le projet le permet, ou isoler les installations dans des runners éphémères. |
| Fichiers de flux de travail | CODEOWNERS obligatoire, jeton par défaut en lecture seule, approbation d’environnement pour les secrets. |
| Serveurs MCP | Lecture seule à la première installation, revue explicite pour les outils d’écriture, d’administration, d’export, de dépense et de shell. |
| Skills et plugins | Source, éditeur, version, points d’accroche et effets sur les fichiers ou le réseau revus avant activation. |
| Identifiants de publication | Privilégier OIDC ou les identifiants à durée de vie courte ; supprimer les jetons à longue durée de vie inutilisés. |
Une bonne politique nomme le fichier et l’autorité. Les règles vagues comme « faites attention avec les outils d’agents » ne tiennent pas face au travail réel. Des règles claires comme « pas de point d’accroche de commande SessionStart sans revue par un propriétaire » donnent aux reviewers quelque chose d’applicable.
FAQ
La configuration d’un agent IA fait-elle vraiment partie de la chaîne d’approvisionnement ?
Oui. Le risque de chaîne d’approvisionnement suit l’exécution et la confiance, pas l’extension de fichier. Si une installation de package, un plugin, un modèle ou un changement de dépôt peut modifier une configuration d’agent qui exécutera ensuite des commandes, cette configuration se trouve dans la chaîne d’approvisionnement.
Les équipes devraient-elles interdire les points d’accroche Claude Code ou les tâches VS Code ?
Non. Les points d’accroche et les tâches servent une automatisation légitime. Les équipes doivent les revoir, les limiter et les journaliser. Un point d’accroche qui charge du contexte et un point d’accroche de démarrage qui exécute un shell ne devraient pas recevoir la même confiance.
VS Code demande-t-il une autorisation avant d’exécuter les tâches à l’ouverture d’un dossier ?
La documentation VS Code indique que la première fois qu’un utilisateur ouvre un dossier contenant une tâche folderOpen, VS Code demande s’il faut autoriser les tâches automatiques pour ce dossier.6 Cette invite aide, mais la tâche mérite tout de même une revue de code, car l’approbation transforme le fichier en chemin d’exécution.
La publication de confiance npm résout-elle la compromission de packages ?
Non. La publication de confiance réduit le risque des jetons d’écriture npm à longue durée de vie en utilisant des identifiants OIDC à durée de vie courte.9 Les équipes ont encore besoin de revue des flux de travail, de moindre privilège, de surveillance des packages et de réponse à incident pour les dépôts compromis ou les scripts d’installation malveillants.
Que dois-je auditer en premier après une installation suspecte ?
Auditez les scripts exécutés à l’installation, la configuration de démarrage des agents et des éditeurs, les fichiers de flux de travail, les fichiers inattendus dans les dossiers cachés, les nouvelles branches et les identifiants exposés au processus affecté. Ensuite, effectuez une rotation des identifiants de l’environnement affecté.
Conclusion
Les agents de codage IA rendent la configuration plus puissante. Ils la rendent aussi plus dangereuse.
La bonne réponse n’est pas la peur de l’automatisation. C’est l’honnêteté sur l’endroit où vit l’exécution. Si un fichier peut exécuter une commande, récupérer des données, lire des secrets, publier des packages ou modifier le comportement d’un agent, il doit entrer dans le chemin de revue.
La configuration d’agent a franchi cette ligne. Traitez-la comme du code.
Références
-
Endor Labs, “Mini Shai-Hulud: npm Worm Hits SAP Developer Packages,” publié le 29 avril 2026. Source pour le résumé des packages compromis dans l’écosystème SAP, la description de la charge npm à l’installation, les identifiants développeur ciblés, la persistance
SessionStartdans.claude/settings.json, la persistancefolderOpendans.vscode/tasks.jsonet les surfaces de recherche pour la remédiation. ↩↩↩↩ -
Wiz, “Supply Chain Campaign Targets SAP npm Packages with Credential-Stealing Malware,” publié le 29 avril 2026. Source pour le vocabulaire d’attribution TeamPCP, le comportement du script
preinstallmalveillant, le ciblage des identifiants développeur et CI, l’empoisonnement de dépôts en voie de secours,.claude/settings.json,.vscode/tasks.jsonet les noms des packages affectés. ↩↩↩↩ -
Socket, “Mini Shai-Hulud,” suivi de campagne, consulté le 18 mai 2026. Source pour la chronologie de campagne commençant le 29 avril 2026, les compromissions de packages entre écosystèmes, les versions de packages SAP affectées, les catégories d’identifiants ciblées, l’auto-propagation via des jetons npm capables de publier et la persistance via la configuration Claude Code et VS Code. ↩↩↩
-
StepSecurity, “A Mini Shai-Hulud Has Appeared: Obfuscated Bun Runtime Payloads Hit SAP-Related npm Packages,” publié le 29 avril 2026. Source pour les versions confirmées de packages SAP compromis, l’exécution
preinstallà l’installation, l’observation contrôlée de l’environnement d’exécution et l’affirmation selon laquelle la campagne cible les configurations d’agents de codage IA comme vecteur de persistance et de propagation. ↩↩ -
Anthropic, “Hooks reference,” documentation Claude Code, consultée le 18 mai 2026. Source pour le comportement de cycle de vie des points d’accroche, la sémantique de
SessionStart, l’imbrication de configuration, le comportement des points d’accroche de commande et l’avertissement de sécurité selon lequel les points d’accroche de commande s’exécutent avec l’ensemble des permissions de l’utilisateur. ↩↩↩↩ -
Microsoft, “Integrate with External Tools via Tasks,” documentation Visual Studio Code, consultée le 18 mai 2026. Source pour le comportement
runOn: "folderOpen"et l’invite d’approbation des tâches automatiques à la première utilisation. ↩↩↩ -
Cloud Security Alliance, “Mini Shai-Hulud: Cross-Ecosystem Supply Chain Attack Targets AI Developers,” note de recherche, consultée le 18 mai 2026. Source pour le cadrage inter-registres, les catégories d’identifiants, les configurations d’outils IA ciblées, le cadrage de l’exfiltration de dépôts GitHub et les mesures d’atténuation à court terme recommandées, comme la revue des scripts de cycle de vie. ↩
-
npm Docs, “Scripts,” documentation npm CLI 11, consultée le 18 mai 2026. Source pour les scripts de cycle de vie npm, l’exécution de
preinstall/install/postinstallpendantnpm cietnpm install, et l’avertissement de bonne pratique selon lequel les scripts explicitespreinstallouinstalldevraient être rares hors compilation pour une architecture cible. ↩ -
npm Docs, “Trusted publishing for npm packages,” consulté le 18 mai 2026. Source pour la publication de confiance fondée sur OIDC, les identifiants à durée de vie courte propres au flux de travail, la recommandation d’interdire la publication traditionnelle par jeton après la configuration d’un éditeur de confiance, les notes de provenance automatiques et les recommandations de jetons en lecture seule pour les installations de dépendances privées. ↩↩↩
-
GitHub Docs, “Secure use reference,” consulté le 18 mai 2026. Source pour les jetons de flux de travail à moindre privilège, la rotation des secrets après exposition, l’audit de la manipulation des secrets, la revue des secrets d’environnement, le risque lié aux actions tierces, les recommandations de verrouillage par SHA complet et la revue CODEOWNERS pour les fichiers de flux de travail. ↩↩