Comment ne pas exécuter les scripts tiers avec npm, pnpm et yarn
NicolasBrondinBernard
Découvrez comment utiliser npm install --ignore-scripts pour empêcher l’exécution de scripts dangereux ou inutiles lors de l’installation des dépendances npm.

Article publié le 17/03/2026, dernière mise à jour le 17/03/2026
Quand vous installez un projet Node.js, il y a un réflexe très courant :
npm install
Cette commande semble anodine. Elle télécharge simplement les dépendances listées dans le package.json.
Mais en réalité, npm peut aussi exécuter du code pendant l’installation.
Beaucoup de développeurs l’ignorent, mais certains packages contiennent des scripts qui s’exécutent automatiquement lors de l’installation. Et dans certains cas, ces scripts peuvent poser problème : comportements inattendus, téléchargements lourds… ou pire, scripts malveillants.
Heureusement, npm propose une option simple pour éviter cela :
npm install --ignore-scripts
Cette option empêche npm d’exécuter les scripts définis dans les dépendances.
Les scripts exécutés automatiquement par npm
Dans un package.json, un package peut définir plusieurs scripts.
Par exemple :
{
"scripts": {
"postinstall": "node build.js"
}
}
npm peut exécuter automatiquement certains scripts pendant l’installation.
Les plus courants sont :
preinstallinstallpostinstallprepare
Ces scripts sont souvent utilisés pour compiler du code natif, télécharger des binaires, générer des fichiers nécessaires au package, préparer des assets, etc…
Le problème, c’est que npm exécute ces scripts automatiquement, sans vous demander votre avis.
Le risque : exécuter du code sans le savoir
L’écosystème npm est immense. On compte aujourd’hui plus de deux millions de packages.
Et comme dans tout écosystème ouvert, il arrive que certains packages soient malveillants ou compromis.
Plusieurs incidents ont déjà eu lieu :
- des packages abandonnés repris par des acteurs malveillants
- des dépendances injectant du code espion
- des scripts envoyant des informations système
Les scripts postinstall sont particulièrement sensibles, car ils s’exécutent directement sur votre machine au moment de l’installation.
Concrètement, un script npm peut :
- accéder à votre système de fichiers
- lire des variables d’environnement
- envoyer des données vers Internet
- modifier votre configuration
En d’autres termes : un simple
npm installpeut exécuter du code arbitraire.
Utiliser ignore-scripts pour garder le contrôle
Pour éviter cela, npm propose une option très simple :
npm install --ignore-scripts
Avec cette commande :
- npm télécharge les dépendances
- npm les installe dans
node_modules - mais aucun script n’est exécuté
Cela bloque :
preinstallinstallpostinstallprepare
Les packages sont installés sans exécution de code externe.
⚠️ Attention :
--ignore-scriptsbloque absolument tous les scripts.
Il n’est pas possible de désactiver uniquement postinstall ou un script spécifique.
Si vous utilisez cette option, aucun script lifecycle ne sera exécuté, quel que soit le package.
Cette option est particulièrement utile dans plusieurs situations :
- audit de dépendances
- analyse d’un projet inconnu
- environnement sécurisé
- pipeline CI/CD
- installation de dépendances non fiables
Équivalent avec pnpm et yarn
Si vous utilisez un autre gestionnaire de paquets, sachez que des options similaires existent.
pnpm
pnpm propose exactement la même option :
pnpm install --ignore-scripts
Le comportement est identique à npm : les dépendances sont installées mais aucun script lifecycle n’est exécuté.
Yarn
Avec Yarn (v1 ou v3), l’option est également disponible :
yarn install --ignore-scripts
Comme pour npm et pnpm, cela bloque l’exécution des scripts
preinstall,installetpostinstall.
Autrement dit, les trois principaux gestionnaires de paquets Node.js offrent ce mécanisme de sécurité.
Réactiver les scripts si nécessaire
Si un package a réellement besoin de ses scripts pour fonctionner, vous pouvez les relancer plus tard.
Par exemple :
npm rebuild
Ou simplement relancer l’installation normalement :
npm install
L’avantage est que vous gardez le contrôle sur ce qui s’exécute sur votre machine.
Dans un écosystème aussi vaste que npm, cette petite option peut éviter de nombreux problèmes.
Pas de spam. Uniquement du contenu gratuit, des news et toujours plus de ressources pour monter en compétences !
Rejoignez +1500 développeurs
Aucun commentaire pour l'instant