Implémentez des politiques strictes de gestion des dépendances pour empêcher les installations de paquets non autorisées et garantir des builds reproductibles dans tous les environnements.
# Toujours valider package-lock.json dans le contrôle de version
git add package-lock.json
git commit -m "Verrouiller les versions des dépendances pour la sécurité"
# Configurer npm pour des installations axées sur la sécurité
npm config set audit-level moderate
npm config set fund false
npm config set ignore-scripts true
# Verrouiller les dépendances critiques à des versions exactes dans package.json
# Modifier package.json pour supprimer ^ et ~ des numéros de version
{
"dependencies": {
"lodash": "4.17.21",
"express": "4.18.2",
"helmet": "7.1.0"
},
"engines": {
"node": ">=22.9.0",
"npm": ">=10.8.0"
}
}
Le paramètre ignore-scripts empêche les paquets malveillants d'exécuter du code arbitraire lors de l'installation. Verrouillez les versions exactes pour les paquets critiques pour la sécurité afin d'éviter les mises à jour automatiques qui pourraient introduire des vulnérabilités.
Avertissement : Verrouiller les versions signifie que vous ne recevrez pas automatiquement les correctifs de sécurité. Configurez des outils de mise à jour automatique des dépendances comme Dependabot pour créer des pull requests pour les mises à jour.
Activez Dependabot de GitHub en créant .github/dependabot.yml :
version: 2
updates:
- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "weekly"
open-pull-requests-limit: 5
Vérification : Exécutez npm config list pour confirmer vos paramètres de sécurité. Dependabot devrait commencer à créer des pull requests pour les mises à jour de dépendances dans une semaine.