🔎 Outils de test dynamique de la sécurité des applications (DAST)

Outils qui envoient des requêtes aux API en cours d'exécution pour détecter les vulnérabilités.

Burp Suite Édition commerciale / gratuite disponible

L'outil standard de l'industrie pour les tests de sécurité des applications web et des API. Fonctions d'interception et d'analyse basées sur un proxy.

  • Intercepter et modifier les demandes/réponses HTTP
  • Analyse automatisée (injection SQL, XSS, etc.)
  • Intruder : Fuzzing de paramètres
  • Répétiteur : Relecture et vérification manuelle des demandes
  • Un riche écosystème d'extensions (BApp Store)
Conseils pour les tests de l'API

Importer une définition OpenAPI/Swagger pour explorer et tester automatiquement tous les points d'extrémité.

OWASP ZAP Libre / OSS

Un outil de test de sécurité open-source développé par l'OWASP. Facile à intégrer dans les pipelines CI/CD.

  • Balayage actif / Balayage passif
  • Importer des définitions d'API (OpenAPI, GraphQL)
  • Intégration CI/CD (GitHub Actions, Jenkins)
  • Exécution sans tête avec support Docker
  • Tests personnalisés par l'intermédiaire de scripts
BashAnalyse des API avec ZAP Docker
docker run -t ghcr.io/zaproxy/zaproxy:stable zap-api-scan.py \
  -t https://api.example.com/openapi.json \
  -f openapi \
  -r report.html

🧪 Outils de test et de développement de l'API

Postman Gratuit / Commercial

L'outil de référence pour le développement et les tests d'API. Il est également utile pour les tests de sécurité.

  • Organiser les cas de test avec la fonction Collections
  • Passer de la mise en scène à la production à l'aide de variables d'environnement
  • Acquisition automatique de jetons avec des scripts de pré-demande
  • Automatiser la validation des réponses dans l'onglet Tests
  • Exécuter à partir de CI/CD avec Newman (CLI)
JavaScriptExemple de script de test Postman
// Validation du code d'état
pm.test("Status is 200", () => {
  pm.response.to.have.status(200);
});

// Validation de l'en-tête de sécurité
pm.test("Security headers present", () => {
  pm.response.to.have.header("X-Content-Type-Options");
  pm.response.to.have.header("Strict-Transport-Security");
});

// Vérifier l'exposition des données sensibles
pm.test("No sensitive data exposed", () => {
  const body = pm.response.json();
  pm.expect(body).to.not.have.property("password");
  pm.expect(body).to.not.have.property("password_hash");
  pm.expect(body).to.not.have.property("secret");
});

curl + jq Gratuit / CLI

Test rapide de l'API à partir de la ligne de commande. Facile à écrire et à automatiser.

  • Disponible dans tous les environnements
  • Automatiser avec des scripts shell
  • Analyse des réponses JSON avec jq
  • Inspection détaillée des en-têtes HTTP
BashContrôle de l'en-tête de sécurité
# Vérifier les en-têtes de la réponse
curl -s -D - -o /dev/null https://api.example.com/health

# Tentative d'accès sans authentification
curl -s -w "%{http_code}" https://api.example.com/api/users

# Test BOLA (accès aux ressources d'un autre utilisateur)
curl -s -H "Authorization: Bearer $TOKEN" \
  https://api.example.com/api/users/OTHER_USER_ID

📊 Analyse statique (SAST) & Analyse de la composition du logiciel (SCA)

Semgrep Free / OSS

Outil d'analyse statique basé sur des modèles. Facilité de création de règles personnalisées.

  • Prise en charge de plusieurs langues (JS, Python, Go, Java, etc.)
  • Règles de sécurité intégrées
  • Intégration CI/CD facile
  • Définir des règles personnalisées en YAML

Snyk Tiers gratuit disponible

Analyse des vulnérabilités liées aux dépendances et analyse du code.

  • Analyse des dépendances pour npm, pip, Maven, etc.
  • Détection automatique des CVE connus
  • Générer automatiquement des PR corrects
  • Numérisation de l'image du conteneur

npm audit / Trivy Gratuit

Vérification de la vulnérabilité des gestionnaires de paquets et des conteneurs.

  • npm audit : paquets Node.js
  • pip audit : Paquets Python
  • Trivy : Conteneurs, IaC et systèmes de fichiers
  • Idéal pour le gating CI/CD
BashContrôle de la vulnérabilité des dépendances
# Vérifier les dépendances Node.js
npm audit --production

# Analyse de sécurité avec Semgrep
semgrep --config=p/security-audit ./src

# Scanner de conteneurs avec Trivy
trivy image --severity HIGH,CRITICAL myapp:latest

📝 Spécification de l'API et gestion de la documentation

Swagger / OpenAPI Spécification standard

Définir les spécifications de l'API dans un format lisible par une machine. Également utilisé comme intrant pour les tests de sécurité.

  • Définition complète des critères d'évaluation, des paramètres et des réponses
  • Schémas de sécurité explicites (OAuth, clé API, etc.)
  • Importation dans ZAP/Burp pour automatiser les tests
  • Génération de documentation interactive avec Swagger UI

Spectral Libre / OSS

Un outil d'alignement pour les spécifications OpenAPI. Vérifie la conformité avec les meilleures pratiques en matière de sécurité.

  • Vérifier la présence de définitions de schémas de sécurité
  • Détecter les points de terminaison non authentifiés
  • Appliquer les politiques internes à l'aide de règles personnalisées
  • Porte de qualité pour les spécifications de l'API en CI/CD

📡 Outils de surveillance et de journalisation

Passerelle API

Kong, AWS API Gateway, Apigee, etc.

  • Authentification et autorisation centralisées
  • Application de la limitation des taux
  • Agrégation du journal des demandes
  • Alertes de détection d'anomalies

WAF

AWS WAF, Cloudflare, ModSecurity et autres.

  • Bloquer les schémas d'attaque tels que SQLi/XSS
  • Contrôle d'accès basé sur la géolocalisation
  • Atténuation des bots
  • Définitions de règles personnalisées

SIEM / Analyse de logs

ELK Stack, Splunk, Datadog et autres.

  • Agrégation et visualisation des journaux d'API
  • Détection de modèles anormaux
  • Soutien à la réponse aux incidents
  • Audit de conformité

🤖 AI Security Testing Tools

Specialized tools for testing and securing LLMs, AI agents, and ML pipelines.

Garak Free / OSS

LLM vulnerability scanner that probes for prompt injection, data leakage, hallucination, and other LLM-specific weaknesses.

  • Automated prompt injection and jailbreak testing
  • Data leakage and memorization detection
  • Plugin-based architecture for custom probes
  • Supports OpenAI, Hugging Face, and local models
BashLLM Vulnerability Scan with Garak
# Install garak
pip install garak

# Run prompt injection probes against an OpenAI model
garak --model_type openai --model_name gpt-4 \
  --probes promptinject

# Run all probes and generate report
garak --model_type openai --model_name gpt-4 \
  --probes all --report_prefix my_audit
OWASP Reference

Addresses: LLM01: Prompt Injection, LLM06: Excessive Agency

Rebuff Free / OSS

Prompt injection detection framework with multi-layer defense: heuristics, LLM-based analysis, and vector similarity.

  • Multi-layered detection (heuristic + AI + vector DB)
  • Canary token injection for leak detection
  • Easy integration as middleware
  • Configurable sensitivity thresholds
OWASP Reference

Addresses: LLM01: Prompt Injection

NeMo Guardrails Free / OSS (NVIDIA)

Runtime guardrails framework for LLM applications. Define conversation boundaries using Colang rules.

  • Topic boundary enforcement (prevent off-topic responses)
  • Fact-checking and hallucination reduction rails
  • Sensitive data detection and PII redaction
  • Moderation and toxicity filtering

PyRIT Free / OSS (Microsoft)

Python Risk Identification Tool for generative AI. Automates red-teaming with multi-turn attack strategies.

  • Automated multi-turn red-teaming conversations
  • Attack strategy orchestration (crescendo, PAIR, etc.)
  • Scoring engine for response evaluation
  • Supports Azure OpenAI, Hugging Face, and local models

🗺 Guide de sélection des outils

ObjectifOutil recommandéCalendrier
Vérification de la sécurité de la spécification de l'APISpectralPhase de conception / spécification
Analyse de la sécurité du codeSemgrepDéveloppement / Relations publiques
Vérification de la vulnérabilité des dépendancesSnyk / npm auditTemps de construction / Périodique
Tests de sécurité manuelsBurp Suite / PostmanPhase de test / QA
Analyse automatisée (CI/CD)OWASP ZAPPré-déploiement
Protection de l'environnement de productionWAF + API GatewayEn fonctionnement
Surveillance des journaux et détection des anomaliesSIEM (ELK / Datadog)En service / En continu
LLM vulnerability scanningGarak / PyRITPre-deployment / Periodic
Prompt injection detectionRebuffRuntime / Integration
LLM runtime guardrailsNeMo GuardrailsRuntime / Continuous
AI red-teaming automationPyRITTesting / QA phase
AI model supply chain verificationSemgrep / ModelScanBuild time / Pre-deployment