NIS2 50+ salariés ou €10M+ CA : reporting d’incident en 72h obligatoire. Reporting d’incident en 72h obligatoire. Êtes-vous prêt ? →
Skip to main contentSkip to footer

Détecter et bloquer les packages malveillants dans vos projets

Les attaques supply chain ciblant les packages logiciels explosent en 2026. Le groupe TeamPCP vient d’enchaîner plus de 50 attaques en huit jours, dissimulant du malware dans des fichiers WAV pour voler des identifiants. Ce tutoriel vous montre comment détecter et bloquer les packages malveillants dans vos projets Python, npm et au-delà.

Comprendre la menace : packages malveillants et stéganographie

Les attaquants publient des versions piégées de packages populaires sur PyPI, npm ou d’autres registres. La dernière campagne de TeamPCP a ciblé le package Telnyx (versions 4.87.1 et 4.87.2), en intégrant un payload caché dans des fichiers audio WAV. Cette technique de stéganographie rend la détection par les antivirus classiques quasi impossible.

Pourquoi c’est dangereux pour votre entreprise

  • Exécution automatique : le code malveillant s’active dès l’installation du package
  • Vol d’identifiants : mots de passe, tokens API et clés SSH sont exfiltrés
  • Persistance : le malware s’installe sur Windows, Linux et macOS
  • Propagation : un seul développeur compromis peut infecter toute la chaîne CI/CD

Étape 1 : verrouiller vos dépendances

La première barrière contre les packages malveillants est le verrouillage strict des versions. Ne laissez jamais pip ou npm résoudre les versions automatiquement en production.

Python : utiliser pip-compile et hash checking

  • Générez un fichier requirements.txt verrouillé avec pip-compile --generate-hashes
  • Installez toujours avec pip install --require-hashes -r requirements.txt
  • Activez pip audit dans votre pipeline CI pour scanner les vulnérabilités connues

Node.js : activer le lockfile strict

  • Utilisez npm ci au lieu de npm install pour respecter le package-lock.json
  • Activez npm audit signatures pour vérifier la provenance des packages
  • Configurez .npmrc avec ignore-scripts=true pour bloquer les scripts post-install

Étape 2 : scanner automatiquement avec des outils dédiés

Intégrez des outils de détection supply chain directement dans votre pipeline CI/CD :

  • Socket.dev : analyse le comportement des packages (accès réseau, filesystem, exécution de code)
  • Snyk : détecte les packages malveillants connus et les vulnérabilités dans l’arbre de dépendances
  • pip-audit / npm audit : outils natifs à exécuter systématiquement avant chaque déploiement
  • Sigstore / cosign : vérifiez la signature cryptographique des packages critiques

Exemple de pipeline GitHub Actions

Ajoutez cette étape à votre workflow pour bloquer tout package suspect avant le merge :

  • Étape 1 : pip-audit --require-hashes --strict
  • Étape 2 : socket report create --repo .
  • Étape 3 : alerter sur Slack en cas de détection

Étape 3 : isoler l’exécution des dépendances

Même avec un scanning rigoureux, partez du principe qu’un package malveillant peut passer les mailles du filet. L’isolation limite les dégâts :

  • Conteneurs dédiés : exécutez vos builds dans des containers éphémères sans accès au réseau interne
  • Registres privés : hébergez un miroir PyPI/npm interne avec uniquement les packages approuvés
  • Moindre privilège : les pipelines CI ne doivent jamais avoir accès aux secrets de production
  • Sandboxing : utilisez gVisor ou Firecracker pour isoler les environnements de build

Étape 4 : surveiller et réagir

La détection de packages malveillants ne s’arrête pas à l’installation. Mettez en place une surveillance continue :

  • Alertes Dependabot/Renovate : recevez une notification à chaque mise à jour de dépendance
  • SBOM (Software Bill of Materials) : générez un inventaire complet avec Syft ou cdxgen
  • Monitoring réseau : détectez les connexions sortantes anormales depuis vos serveurs de build
  • Plan de réponse : documentez la procédure en cas de package compromis (rollback, rotation des secrets, notification)

Checklist anti-supply chain attack

  • ✅ Fichiers lock verrouillés avec hashes
  • ✅ Scripts post-install désactivés par défaut
  • ✅ Scanner de sécurité dans le pipeline CI/CD
  • ✅ Registre privé pour les dépendances critiques
  • ✅ Builds isolés dans des containers éphémères
  • ✅ SBOM généré à chaque release
  • ✅ Secrets jamais exposés dans les environnements de build

Sources

Renforcez dès maintenant la cybersécurité de votre PME ou ETI avec ucyber.ai.
Évaluez votre niveau de sécurité ou
contactez-nous pour en savoir plus.
Suivez-nous sur LinkedIn.

Réserver 15 min — diagnostic