Bandit est un outil de sécurité statique pour Python. Il analyse le code source Python pour identifier les vulnérabilités de sécurité courantes, telles que les injections SQL, les failles de sécurité dans les appels de fonctions, et les mauvaises pratiques de sécurité. Bandit est particulièrement utile pour les développeurs et les équipes de sécurité qui souhaitent intégrer des vérifications de sécurité dans leur processus de développement.
Présentation de Bandit
Qu'est-ce que Bandit ?
Bandit est un outil de sécurité statique qui vous permet de :
- Analyser le code source Python : Identifier les vulnérabilités de sécurité courantes.
- Intégrer des vérifications de sécurité : Intégrer des vérifications de sécurité dans le processus de développement.
- Générer des rapports : Générer des rapports détaillés sur les vulnérabilités identifiées.
Installation de Bandit
Pour installer Bandit, vous pouvez utiliser pip
:
pip install bandit
Exemples de Ligne de Commande
Voici quelques exemples de commandes avancées pour utiliser Bandit.
Analyser un Fichier Python
Pour analyser un fichier Python spécifique :
bandit -r my_script.py
Analyser un Répertoire
Pour analyser tous les fichiers Python dans un répertoire et ses sous-répertoires :
bandit -r my_project_directory
Générer un Rapport JSON
Pour générer un rapport JSON des vulnérabilités identifiées :
bandit -r my_project_directory -f json -o report.json
Générer un Rapport HTML
Pour générer un rapport HTML des vulnérabilités identifiées :
bandit -r my_project_directory -f html -o report.html
Exclure des Tests Spécifiques
Pour exclure des tests spécifiques (par exemple, B301
pour les injections SQL) :
bandit -r my_project_directory -s B301
Configurer des Paramètres de Sécurité
Pour configurer des paramètres de sécurité spécifiques, vous pouvez utiliser un fichier de configuration YAML. Par exemple, pour ignorer certaines lignes ou fichiers :
# bandit.yaml exclude_dirs: - tests - docs exclude_lines: - "pragma: no cover"
Ensuite, exécutez Bandit avec le fichier de configuration :
bandit -r my_project_directory -c bandit.yaml
Intégrer Bandit dans un Pipeline CI/CD
Pour intégrer Bandit dans un pipeline CI/CD, vous pouvez ajouter une étape de vérification de sécurité dans votre fichier de configuration CI/CD. Par exemple, pour GitHub Actions, vous pouvez ajouter une étape comme suit :
name: Bandit Security Check on: [push, pull_request] jobs: bandit: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Set up Python uses: actions/setup-python@v2 with: python-version: '3.x' - name: Install Bandit run: pip install bandit - name: Run Bandit run: bandit -r . -f json -o bandit-report.json - name: Upload Bandit Report uses: actions/upload-artifact@v2 with: name: bandit-report path: bandit-report.json
Conclusion
Bandit est un outil puissant pour identifier les vulnérabilités de sécurité dans le code Python. En utilisant Bandit, vous pouvez automatiser et simplifier les vérifications de sécurité dans votre processus de développement. Ces exemples de commandes vous donnent un bon point de départ pour commencer à utiliser Bandit.