Le format .pdx¶
Le format .pdx est un format binaire conçu pour capturer les observations de sécurité dans une structure normalisée et quantifiable. L'unité fondamentale est le Delta — la différence entre le comportement attendu et le comportement observé.
Structure¶
Un fichier .pdx contient :
- Header — métadonnées (version, cible, timestamp, mode de scan)
- Deltas — observations de sécurité individuelles, chacune avec un vecteur 16D
- Verdicts — résultats d'analyse du routeur multi-modèles
- Chains — deltas liés formant des séquences d'exploitation
- Actions d'agent — invocations d'outils et leurs résultats
Types de delta¶
| Code | Type | Description |
|---|---|---|
| 0x01 | INFO_LEAK | Divulgation d'information |
| 0x02 | AUTH_BYPASS | Contournement d'authentification |
| 0x03 | INJECTION | SQL, XSS, injection de commande |
| 0x04 | MISCONFIG | Mauvaise configuration serveur/application |
| 0x05 | CRYPTO_WEAK | Cryptographie faible |
| 0x06 | LOGIC_FLAW | Vulnérabilité de logique métier |
| 0x07 | TIMING | Surface d'attaque temporelle |
| 0x08 | DESERIAL | Vulnérabilité de désérialisation |
| 0x09 | SSRF | Server-side request forgery |
| 0x0A | SSTI | Server-side template injection |
| 0x0B | FILE_UPLOAD | Upload de fichiers sans restriction |
| 0x0C | RACE_COND | Condition de concurrence |
| 0x0D | SMUGGLING | HTTP request smuggling |
| 0x0E | CVE_KNOWN | Correspondance CVE connue |
Verdicts¶
| Code | Verdict | Signification |
|---|---|---|
| 0x01 | VULNERABLE | Exploitable confirmé |
| 0x02 | NOT_VULN | Sûr confirmé |
| 0x03 | INFORMATIONAL | Noté mais pas exploitable seul |
| 0x04 | UNCERTAIN | Nécessite revue humaine |
| 0x05 | FALSE_POS | Faux positif confirmé |
Les verdicts peuvent être validés par un humain — un champ human_agreement suit si un revieweur humain a approuvé, contesté ou marqué comme incertain. Cela alimente les poids d'entraînement.
Pourquoi un format personnalisé¶
Les formats existants (SARIF, STIX, OpenIOC) se concentrent sur le reporting. Le format .pdx est conçu pour l'entraînement — chaque observation porte un vecteur quantifié dont un modèle peut apprendre. Les 16 dimensions du vecteur delta encodent la sémantique complète de l'observation, pas juste un label de sévérité.
Voir Vecteur Delta 16D pour la spécification complète des dimensions.