Un pentest whitebox (boîte blanche, aussi appelé crystal box ou glass box) est un test d'intrusion conduit avec accès complet aux informations internes du système testé : code source avec historique Git, documentation architecture (diagrammes flux données, trust boundaries, composants), credentials administrateur, configuration runtime (variables d'environnement, fichiers conf, certificats anonymisés), modèle de menaces préalable si disponible, rapports d'audits antérieurs. L'objectif est de maximiser la couverture technique avec 2-3 fois plus de vulnérabilités trouvées par jour de mission qu'un pentest black box, et détecter des vulnérabilités invisibles depuis l'externe (business logic, TOCTOU, race conditions, conditions d'erreur bien cachées). Les cas d'usage typiques 2026 : product security review d'éditeur SaaS, audit pré-production avant go-live, due diligence cyber M&A, audit interne récurrent d'entité mature. La stack outillée repose sur SAST (Semgrep, SonarQube, Checkmarx, Snyk Code), SCA (Snyk, Trivy, Grype), IaC scan (Checkov, tfsec), secrets scanning (Gitleaks, TruffleHog), validation runtime (Burp Suite, ZAP), avec OWASP ASVS v4.0.3 comme référentiel de couverture. Les exigences de confidentialité sont renforcées : NDA 3-5 ans minimum, procédure de destruction sous 15-30 jours, clauses de non-concurrence possibles. Le whitebox ne remplace pas le black box — les deux sont complémentaires dans une posture sécurité mature. Cet article détaille la définition, les informations typiquement fournies, les 4 cas d'usage, la méthodologie phase par phase, la stack outillée complète, les exigences légales et de confidentialité, et la comparaison avec black box et grey box.
1. Définition et principes du pentest whitebox
Définition opérationnelle : le pentest whitebox est un test d'intrusion dont le scope inclut l'accès complet aux éléments internes du système testé, avec l'objectif de maximiser la couverture technique et de détecter les vulnérabilités invisibles depuis l'externe.
Synonymes utilisés dans la littérature et l'industrie
- White box (terme dominant international).
- Boîte blanche (francisation).
- Crystal box (plus rare, utilisé par certaines écoles).
- Glass box (variante).
- Full-knowledge penetration test (phrasé formel dans certains référentiels).
Principe central : le pentester dispose des mêmes informations qu'un développeur interne ou un architecte du produit. La question devient « quelles vulnérabilités existent dans ce système » plutôt que « que puis-je découvrir depuis l'externe ».
2. Informations typiquement fournies en whitebox
| Catégorie | Contenu typique | Objectif |
|---|---|---|
| Code source | Dépôts Git complets avec historique (branches dev, main, prod) | Lecture directe logique applicative, patterns de sécurité, historique CVE corrigées |
| Documentation architecture | Diagrammes flux données, trust boundaries, composants, schémas réseau | Threat modeling, identification trust zones |
| Credentials admin | Comptes applicatifs admin, cloud admin, AD admin, DB admin | Tester les contrôles avec permissions élevées, valider la séparation des privilèges |
| Configuration runtime | Variables d'environnement, fichiers conf, certificats, secrets anonymisés | Revue configuration, détection hardcoded secrets |
| Modèle de menaces | STRIDE ou PASTA précédemment produit par l'équipe dev | Alignement scope audit sur menaces déjà identifiées |
| Rapports audits antérieurs | Rapports précédents plus plans de remédiation | Vérifier fix des vulnérabilités antérieures (regression testing) |
| Tests unitaires et integration | Suite de tests automatisés du produit | Comprendre couverture test, identifier angles morts |
| Pipelines CI/CD | Accès en lecture aux workflows GitHub Actions ou GitLab CI | Audit de la chaîne d'approvisionnement, secrets, permissions |
| Logs applicatifs | Logs de test ou staging (JAMAIS production sans anonymisation) | Vérifier quoi loguer, identifier information leakage |
Exclusion standard : les données personnelles de production ne sont jamais fournies brutes. Toute donnée à caractère personnel doit être anonymisée ou remplacée par des fixtures de test avant mise à disposition du pentester — obligation RGPD et bonne pratique ISO 27001.
3. Les quatre cas d'usage principaux du whitebox
Cas 1 — Product security review d'éditeur SaaS
Un éditeur (Datadog, Stripe, Sekoia.io, Filigran, HarfangLab, scale-up fintech française) commande un whitebox sur son propre produit pour valider la sécurité avant un jalon critique (release majeure, certification ISO 27001, certification SOC 2). Durée typique : 3-6 semaines pour un produit SaaS mature. Livrable : rapport technique détaillé avec mapping OWASP ASVS v4.0.3, plan de remédiation priorisé, re-test des corrections.
Cas 2 — Audit pré-production avant go-live
Une application B2B ou B2C avant mise en service reçoit un audit whitebox pour maximiser la détection. Particulièrement fréquent sur les applications métier critiques (banque, assurance, santé, énergie) où un incident post-lancement aurait un impact régulatoire (NIS 2, DORA, RGPD) ou financier majeur. Durée typique : 2-4 semaines. Livrable : rapport avec GO / NO-GO plus plan de remédiation critique.
Cas 3 — Due diligence cyber M&A
Un acquéreur évalue la cybersécurité d'un actif qu'il envisage d'acheter. Accès complet fourni par le vendeur pour transparence maximale — le vendeur a intérêt à démontrer la qualité de son produit plutôt que cacher. Durée typique : 1-3 semaines très intenses, souvent en conditions de data room restreinte. Livrable : synthèse exécutive avec valorisation des risques pour négociation (moins-value possible si vulnérabilités majeures).
Cas 4 — Audit interne récurrent
Une entité mature (CAC 40, OIV, banque, assurance) mandate son équipe interne PASSI ou un cabinet externe pour un whitebox annuel sur chaque application critique. Complément habituel d'un black box ou red team annuel sur le périmètre global. Durée typique : 2-4 semaines par application.
Cas limite à éviter
- Test validant la défense périmétrique externe : black box plus adapté.
- Simulation adversaire réaliste : red team engagement.
- Entité refusant de partager le code source : grey box ou black box par défaut.
- Test avec pression de coût court : whitebox demande plus de temps d'ingénierie que black box rapide.
4. Méthodologie en phases structurées
Un pentest whitebox professionnel suit 6 phases distinctes mais partiellement parallélisables.
Phase 1 — Préparation et scoping (J-15 à J0)
- Signature ROE plus NDA étendu.
- Fourniture des accès (comptes Git, credentials, doc, cloud read-only).
- Kickoff technique avec l'équipe dev pour mapping produit et menaces connues.
- Installation environnement pentester (VM dédiée, outils SAST, IDE).
Phase 2 — Threat modeling structuré (J1-J3)
- Cartographie des trust boundaries via diagrammes d'architecture.
- Application de STRIDE (Spoofing, Tampering, Repudiation, Information disclosure, Denial of service, Elevation of privilege) sur chaque composant.
- Identification des assets critiques (données, systèmes, flux).
- Priorisation des zones d'audit en fonction du modèle de menaces.
Phase 3 — Analyse statique automatisée (J2-J5)
- Exécution SAST multi-outils : Semgrep (règles OWASP plus custom), SonarQube Community ou Enterprise, Snyk Code, Bandit (si Python), ESLint-plugin-security (si JS/TS), GoSec (si Go).
- Exécution SCA : Snyk plus Trivy plus Grype pour dépendances.
- Exécution IaC scan : Checkov plus tfsec sur Terraform, Kyverno test sur Kubernetes manifests.
- Exécution secrets scanning : Gitleaks plus TruffleHog sur historique Git complet.
- Triage des findings : élimination des faux positifs (60-80 % typique), groupage par pattern, priorisation.
Phase 4 — Revue manuelle orientée (J4-J12)
- Revue ciblée des zones critiques identifiées en threat modeling (authentification, session, accès aux données sensibles, logique métier critique).
- Recherche de patterns non détectables en SAST automatique : business logic (IDOR complexe, race conditions, TOCTOU), logique d'autorisation custom, utilisation cryptographique.
- Lecture transverse des couches (frontend, backend, base de données, cache, queue).
- Validation des findings SAST dans le code réel (contextualisation).
Phase 5 — Validation dynamique runtime (J8-J14)
- Tests dynamiques avec Burp Suite Professional ou OWASP ZAP sur l'application en environnement de staging.
- Validation runtime des findings statiques (SAST produit parfois des faux positifs ou des findings non exploitables).
- Tests d'exploitation spécifiques avec PoC précis.
- Tests d'authentification, autorisation, session management, API endpoints.
Phase 6 — Rédaction rapport et debrief (J12-J15)
- Rapport technique structure standard : executive summary, méthodologie, findings par criticité (OWASP Risk Rating), mapping OWASP ASVS v4.0.3, preuves (screenshots, PoC code), recommandations remédiation.
- Debrief équipe technique client (développeurs, architectes) pour transfert de connaissance.
- Re-test des corrections après remédiation client (phase optionnelle fréquente, ≈ 30-50 % de la durée initiale).
Exemple de plan de mission whitebox structuré (format YAML exploitable comme template portfolio GitHub) :
# plan-pentest-whitebox-v1.yml
# Plan de mission pentest whitebox - exemple pedagogique.
# Entite fictive : scale-up SaaS B2B, application web Next.js plus API Node.js.
engagement:
identifiant: "PT-WB-2026-0015"
type: "Pentest whitebox application web plus API"
duree_jours_ouvres: 15
client: "ScaleupFictive SAS (editeur SaaS B2B, 120 salaries)"
objectifs:
- "Couverture OWASP ASVS v4.0.3 niveau 2 sur application web et API"
- "Identification business logic vulnerabilities"
- "Validation conformite securite SOC 2 Type II"
perimetre_whitebox:
code_source:
- repo: "github.com/scaleupfictive/webapp"
branches: ["main", "develop"]
langage: "TypeScript plus React plus Node.js"
- repo: "github.com/scaleupfictive/api"
branches: ["main"]
langage: "TypeScript plus Express plus PostgreSQL"
credentials:
- role: "admin tenant staging"
remarque: "Permissions maximales en staging uniquement"
- role: "admin tenant B2B pentester"
remarque: "Compte dedie a la mission"
acces_infrastructure:
- "AWS account staging - IAM role read-only audit"
- "Kubernetes cluster staging - kubeconfig read-only"
- "Database PostgreSQL staging - compte read-only anonymise"
documentation:
- "Architecture diagrammes (C4 model) fournis"
- "Threat model STRIDE precedent disponible"
- "Rapport audit 2024 plus plan de remediation"
- "OWASP ASVS v4.0.3 self-assessment rempli par equipe dev"
exclusions:
- "Production (jamais d'acces production)"
- "Donnees personnelles reelles clients"
- "Systemes tiers (Stripe, Datadog, Auth0 cote fournisseur)"
phases:
phase_1_preparation:
jours: "J-10 a J0"
livrables:
- "ROE signe plus NDA 5 ans"
- "Acces verifies et fonctionnels"
- "Kickoff technique avec 3 dev seniors plus CTO"
- "Environnement pentester prêt (VM chiffree LUKS2, outils installes)"
phase_2_threat_modeling:
jours: "J1-J3"
outils: ["Microsoft Threat Modeling Tool", "OWASP Threat Dragon"]
livrables:
- "Threat model STRIDE mis a jour par composant"
- "Priorisation des 10-15 zones d'audit critiques"
- "Plan d'execution des phases 3 a 5"
phase_3_sast_sca_automatise:
jours: "J2-J5"
outils:
sast: ["Semgrep (OWASP Top 10 et custom rules)", "Snyk Code", "SonarQube Community"]
sca: ["Snyk", "Trivy", "OSV-Scanner"]
iac: ["Checkov", "tfsec"]
secrets: ["Gitleaks", "TruffleHog"]
livrables:
- "Rapports automatises exportes SARIF"
- "Triage findings avec 60-80 pct FP elimines"
- "Shortlist de 30-80 findings valides a reviewer manuellement"
phase_4_revue_manuelle:
jours: "J4-J12"
focus_zones:
- "Authentification OIDC plus session management"
- "Autorisation fine-grained (RBAC plus ABAC custom)"
- "Business logic critique (facturation, quotas, permissions multi-tenant)"
- "Utilisation cryptographique (hachage mots de passe, JWT, signature)"
- "Gestion uploads fichiers (type, taille, contenu)"
- "Gestion endpoints API REST plus GraphQL"
livrables:
- "15-30 findings techniques valides avec PoC"
- "3-5 findings business logic non detectables SAST"
phase_5_validation_runtime:
jours: "J8-J14"
outils: ["Burp Suite Professional", "OWASP ZAP", "Postman plus scripts custom"]
livrables:
- "Validation runtime de chaque finding avec PoC reproductible"
- "Captures d'ecran plus requetes HTTP precises"
phase_6_rapport_debrief:
jours: "J12-J15"
livrables:
- "Rapport technique detaille (40-80 pages)"
- "Executive summary (3-5 pages) direction generale"
- "Mapping OWASP ASVS v4.0.3 avec gaps identifies"
- "Debrief 2h equipe technique (dev, CTO, CISO)"
- "Plan de remediation priorise par criticite CVSS plus effort"
retest_optionnel:
duree_jours: 5
declencheur: "Apres remediation client des findings criticite high et critical"
livrables:
- "Validation des corrections appliquees"
- "Rapport de retest avec statut chaque finding"
confidentialite:
nda_duree_annees: 5
destruction_code_source_jours: 20
attestation_destruction_signee: true
clause_non_concurrence: "6 mois sur concurrents directs listes"
signatures:
client_cto: "Signature electronique qualifiee"
lead_pentester: "Signature electronique qualifiee"
date_signature: "2026-05-20"Ce plan type constitue un livrable professionnel standard pour cabinets PASSI, Big Four plus Wavestone, et freelances senior whitebox.
5. Stack outillée complète 2026
| Catégorie | Outils leaders 2026 |
|---|---|
| SAST généraliste open-source | Semgrep (règles OWASP plus custom), SonarQube Community, Snyk Code (gratuit pour opensource) |
| SAST commercial premium | Checkmarx CxSAST, Fortify, Veracode, SonarQube Enterprise |
| SAST ciblé langage | Bandit (Python), ESLint-plugin-security (JS/TS), GoSec (Go), Brakeman (Ruby), Spotbugs plus FindSecBugs (Java), Psalm plus Phan (PHP), Gosec (Go) |
| SCA (dépendances) | Snyk, Dependabot, Trivy, Grype, OSV-Scanner, GitHub Advanced Security |
| IaC scan | Checkov, tfsec, Terrascan, KICS, Trivy Config |
| Container scan | Trivy, Anchore Syft plus Grype, Docker Scout, Clair |
| Kubernetes manifests | Kubesec, Kube-bench, Kubescape, Kyverno test, OPA Gatekeeper test |
| Secrets scanning | Gitleaks, TruffleHog, detect-secrets, git-secrets |
| Validation runtime | Burp Suite Professional, OWASP ZAP, Postman, Nuclei templates |
| Threat modeling | Microsoft Threat Modeling Tool, OWASP Threat Dragon, IriusRisk |
| Documentation code | Sourcegraph, OpenGrok pour navigation code à grande échelle |
| Rapport | Dradis, Ghostwriter, PwnDoc, Markdown plus Obsidian |
Stack junior réaliste pour construire un portfolio whitebox (tout gratuit ou freemium) : Semgrep plus Snyk Code free tier plus Bandit plus Gitleaks plus Checkov plus Trivy plus Burp Community Edition plus ZAP. Suffisant pour réaliser 3-5 whitebox démontrables sur des projets open-source à fins de portfolio GitHub public (OWASP Juice Shop, DVWA en whitebox, applications open-source volontaires pour audit).
6. White box versus grey box versus black box
| Critère | White box | Grey box | Black box |
|---|---|---|---|
| Information initiale | Complète (code, creds admin, doc) | Partielle (user accounts, doc limitée) | Aucune |
| Durée moyenne mission web | 2-4 semaines | 1-3 semaines | 1-2 semaines |
| Nombre vulnérabilités trouvées / jour | 3-8 | 1-3 | 0,5-1 |
| Réalisme attaquant externe | Faible | Moyen | Élevé |
| Détection business logic | Forte | Moyenne | Faible |
| Détection TOCTOU plus race conditions | Forte | Faible | Très faible |
| Validation défense périmétrique | Faible | Moyenne | Forte |
| Validation détection SOC | Faible | Moyenne | Forte |
| Coût mission à scope équivalent | Plus bas par vulnérabilité | Standard | Plus haut par vulnérabilité |
| NDA et confidentialité | Très élevés (code source) | Élevés | Standard |
Conclusion : aucun type n'est supérieur en absolu. Les organisations matures combinent les trois selon objectifs. Une entité qui n'a fait que des black box depuis 5 ans peut avoir des dizaines de vulnérabilités business logic non détectées, qu'un whitebox ciblé trouverait en 2-3 semaines.
7. Cadre légal et confidentialité renforcée
Le cadre légal pentest général s'applique (articles 323-1 à 323-7 Code pénal français, autorisation écrite obligatoire via ROE — voir Qu'est-ce qu'un scope de pentest). Trois spécificités whitebox renforcent les exigences.
Spécificité 1 — NDA étendu
Le code source est l'un des actifs les plus sensibles d'une entreprise tech. NDA 3-5 ans minimum, souvent 7-10 ans chez les éditeurs premium. Clauses typiques :
- Non-divulgation totale du contenu, de l'architecture, des patterns.
- Non-exploitation commerciale des insights (pas de formation basée sur ces éléments).
- Non-réutilisation des patterns sécurisés ou vulnérables dans d'autres contextes clients.
Spécificité 2 — Procédure de destruction renforcée
- Code source téléchargé à supprimer sous 15-30 jours post-remise rapport.
- Attestation de destruction signée à produire.
- Révocation des accès Git en fin de mission.
- Copies locales obligatoirement chiffrées (LUKS2, FileVault) pendant la mission.
- Jamais de push vers dépôts non-clients (GitHub personnel, dépôt cabinet générique).
Spécificité 3 — Clauses de non-concurrence possibles
Certains éditeurs imposent une clause interdisant au pentester de travailler pour un concurrent direct sur une période de 6-12 mois. À négocier précisément avant signature — cette clause peut bloquer des opportunités commerciales pour un freelance.
8. Pour aller plus loin
- Qu'est-ce qu'un scope de pentest : définition et types de scope, complément direct.
- Devenir pentester sans expérience : trajectoire et certifications.
- Les étapes pour devenir pentester : parcours complet.
- Roadmap pentest : roadmap technique structurée.
- Roadmap pentest web : spécialisation applicative.
Points clés à retenir
- Whitebox = accès complet aux informations internes : code source, doc, credentials, configuration, threat model.
- 2-3x plus de vulnérabilités trouvées par jour qu'un black box à équipe équivalente.
- Détecte business logic, TOCTOU, race conditions invisibles depuis l'externe.
- 4 cas d'usage principaux : product security review éditeur, audit pré-production, due diligence M&A, audit interne récurrent.
- 6 phases structurées : préparation → threat modeling → SAST/SCA → revue manuelle → validation runtime → rapport.
- Stack 2026 : Semgrep plus Snyk plus Bandit plus Trivy plus Checkov plus Gitleaks plus Burp/ZAP plus OWASP ASVS v4.0.3 référentiel.
- Complément obligatoire : validation dynamique runtime après SAST — élimine faux positifs, produit PoC exploitables.
- NDA 3-5 ans minimum, destruction code sous 15-30 jours, clauses non-concurrence possibles.
- Code source = actif le plus sensible : VM dédiée, LUKS2, pas de git push non-client, attestation destruction.
- Whitebox ne remplace pas black box — les deux sont complémentaires dans une posture mature.
Le bootcamp DevSecOps Zeroday Cyber Academy inclut un module dédié aux méthodologies whitebox avec pratique Semgrep custom rules, threat modeling STRIDE structuré, validation runtime Burp plus ZAP, rédaction de rapport OWASP ASVS v4.0.3-compliant, et coaching d'entretien cabinets spécialisés PASSI offrant des missions whitebox (Synacktiv, Wavestone Offensive Security, Thales Red Team, Airbus CyberSecurity, Orange Cyberdefense Audit, Intrinsec, Digitemis).






