Documentation Index
Fetch the complete documentation index at: https://snakysec.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
Controls Catalog
Catalogue des 220 contrôles évalués (CIS M365 v6.0.1 + CISA SCuBA v1.5.0), leur schéma JSON, et les conventions de rédaction.Inventaire
Total : 220 contrôles évalués (CIS 140 + SCuBA 94 — 14 contrôles sont partagés entre les deux frameworks via mapping croisé).| Framework | Product area | Contrôles | Fichier |
|---|---|---|---|
| CIS M365 v6.0.1 | Entra ID | 60 | src/frameworks/cis/entra.json |
| CIS | Defender | 20 | src/frameworks/cis/defender.json |
| CIS | Teams | 17 | src/frameworks/cis/teams.json |
| CIS | SharePoint | 13 | src/frameworks/cis/sharepoint.json |
| CIS | Exchange | 12 | src/frameworks/cis/exchange.json |
| CIS | Fabric | 12 | src/frameworks/cis/fabric.json |
| CIS | Purview | 4 | src/frameworks/cis/purview.json |
| CIS | Intune | 2 | src/frameworks/cis/intune.json |
| CISA SCuBA v1.5.0 | Exchange (EXO) | 30 | src/frameworks/scuba/exo.json |
| SCuBA | Entra ID (AAD) | 22 | src/frameworks/scuba/aad.json |
| SCuBA | Defender | 17 | src/frameworks/scuba/defender.json |
| SCuBA | Teams | 13 | src/frameworks/scuba/teams.json |
| SCuBA | Purview | 9 | src/frameworks/scuba/purview.json |
| SCuBA | SharePoint | 3 | src/frameworks/scuba/sharepoint.json |
Convention ID
- CIS :
CIS-<AREA>-<x.x.x>(exemples :CIS-ENTRA-5.2.3.1,CIS-DEFENDER-4.1.2) - SCuBA :
MS.<AREA>.<x.x>v<N>(exemples :MS.AAD.3.3v2,MS.EXO.15.1v1)
Schéma d’un contrôle
Opérateurs de check
| Opérateur | Description |
|---|---|
eq / neq | Égalité / inégalité stricte |
gt / gte / lt / lte | Comparaison numérique |
contains / containsAll / containsAny | Présence dans un array |
in / notIn | Présence dans une liste attendue |
exists / notExists | Propriété présente / absente |
matches | Regex |
and / or | Compound (conditions[] imbriqué) |
Règles de rédaction
method: "automated"par défaut. Ne jamais downgrader enmanualsans discussion explicite (feedback utilisateur standing).- Vérifier endpoint + property via Microsoft Learn MCP avant d’ajouter/modifier un contrôle (
microsoft_docs_search,microsoft_docs_fetch). La mémoire est peu fiable sur les props Graph. - Pas d’ID object hardcodé tenant-spécifique — utiliser discovery queries ou config par tenant.
- Severity mapping :
critical: exposition directe (compte admin, données exfiltrables)high: conf. sécu MFA/CA/elevationmedium: logs, audit, observabilitélow: branding, UX admin
Ajouter un contrôle
- Invoquer le skill verify-props pour valider endpoint + propriété.
- Éditer
src/frameworks/<framework>/<area>.json. - Respecter le schéma ci-dessus (tous les champs requis).
- Si compound check nécessaire →
check: { and: [{...}, {...}] }. - Exécuter le runner sur un tenant de test (
Invoke-CISAudit.ps1 -ProductArea <area>).
Ajouter une logique d’évaluation
Pour un nouveau pattern (JSONPath complexe, aggregation, cross-reference) : étendreInvoke-MsspControlCheck dans src/modules/Mssp.Graph.psm1.