Bandit Python Security
devsecopsDéfinition
Bandit est un outil SAST open source spécialisé dans l'analyse statique de code Python, développé initialement par l'OpenStack Security Project puis maintenu sous l'égide de la Python Code Quality Authority (PyCQA). Il fonctionne en parcourant l'arbre syntaxique abstrait (AST) du code source pour repérer des motifs connus de vulnérabilités sans nécessiter d'exécution du programme, ce qui le rend rapide et facilement intégrable dans un pipeline CI/CD via une simple commande bandit -r. Ses règles, organisées par plugins, détectent notamment l'usage de fonctions dangereuses comme eval() ou exec(), les appels subprocess avec shell=True exposant à l'injection de commandes, l'usage de modules de désérialisation non sécurisée comme pickle, les algorithmes cryptographiques faibles (MD5, DES), les secrets codés en dur dans le code source, ou les connexions réseau sans vérification de certificat TLS. Chaque finding est classé par niveau de sévérité et de confiance, ce qui permet de filtrer le bruit selon le contexte du projet. Bandit s'intègre facilement dans pre-commit, tox ou directement dans les workflows GitHub Actions, et complète des outils plus généralistes comme Semgrep en offrant une couverture spécifiquement calibrée sur les idiomes et pièges classiques de l'écosystème Python, notamment dans les projets utilisant Flask, Django ou des scripts d'automatisation manipulant des données sensibles.
Description
Bandit parcourt l'AST Python pour détecter les CWEs courants : injections SQL via concaténation (B608), utilisation de subprocess.call(shell=True) (B602), algorithmes de hachage faibles MD5/SHA1 (B303), et binding sur toutes interfaces (B104).
Mise en œuvre
Exécuter bandit -r src/ -f json -o bandit-report.json -ll dans le pipeline CI. Configurer .bandit pour exclure les faux positifs (tests unitaires). Intégrer dans pre-commit avec repo: https://github.com/PyCQA/bandit.
Points clés
- Niveaux de sévérité : LOW/MEDIUM/HIGH × CONFIDENCE
- Profils personnalisés via fichier de configuration YAML
- Compatible avec tox, pytest et les matrices CI multi-versions Python
Articles liés
Expert en cybersécurité offensive et intelligence artificielle. Pentest, audit et développement IA sur-mesure.
Services
- Audit Infrastructure
- Audit Kubernetes
- Audit Microsoft 365
- Audit Sécurité Réseau
- Analyse de Risques
- Audit Active Directory
- Audit Application Web
- Audit Cloud (AWS/Azure/GCP)
- Audit Messagerie
- Audit API (OWASP Top 10)
- Audit DevSecOps & CI/CD
- Audit Code Source (SAST)
- Audit Postes de Travail
- Audit Sauvegarde & Résilience
- Audit OT/SCADA (IEC 62443)
- Développement IA
- Formations
Ressources
Projets & Outils
© 2026 Ayi NEDJIMI Consultants. Tous droits réservés.
Un projet cybersécurité ?
Expert dispo · Réponse 24h