Aller au contenu
auditer

SYS.AUDITERRelevé complet07 piliers

Votre code,mis sousinstrument.

Secrets exposés, CVE, failles statiques, dette, hygiène du dépôt, pentest web et accessibilité. Huit moteurs open source dans une sandbox à noyau isolé, un score calculé par une formule versionnée, et une explication écrite pour être lue par un humain pressé.

Sans carte bancaire · Le code source n'est jamais conservé

Relevé A7F3terminé · 4 min 12 s
Dépôt
acme/api-gateway
Commit
4f2a91c
Score global
/100
Note
F
critique2
élevé4
moyen7
faible3

Plafond appliqué — 1 critique ouvert force la note F

Défilement000 %
Huit moteursopen source, épinglés par empreinte, exécutés en sandbox

Moteurs utilisés : gitleaks, osv-scanner, semgrep, jscpd, trivy, hadolint, nuclei, lighthouse.

[02]Ce qui est mesuré

Sept piliers. Un seul relevé, une seule échelle.

Un rapport par outil, c'est sept rapports à recouper. Ici tout converge vers un modèle de finding unique, dédupliqué entre les moteurs, noté sur la même règle.

  • [01]

    Secrets exposés

    Tout l'historique, pas le dernier commit.

    Clone non superficiel, toutes les branches et les objets orphelins. Une clé retirée il y a huit mois est toujours dans les objets git — et toujours valide.

    gitleaks
  • [02]

    CVE & dépendances

    La base OSV en local, hors ligne.

    Lecture des lockfiles, résolution transitive, correspondance sur la base OSV embarquée. Aucun paquet n'est installé, aucun script n'est exécuté.

    osv-scanner
  • [03]

    Sécurité statique

    Des règles versionnées, pas un registre distant.

    Jeux de règles OWASP et CWE figés dans l'image du scanner. Injection, désérialisation, chemins de fichiers, cryptographie faible, contrôle d'accès.

    semgrep
  • [04]

    Qualité de code

    La dette se mesure, elle ne se ressent pas.

    Duplication de blocs, complexité, densité de défauts par millier de lignes. Les chiffres sont comparés d'un relevé au suivant, pas jugés dans l'absolu.

    jscpd
  • [05]

    Hygiène & IaC

    Le dépôt lui-même est une surface d'attaque.

    Dockerfile, manifestes Kubernetes, Terraform, workflows CI, permissions de jetons. La faille est souvent dans le pipeline, pas dans le code.

    trivy confighadolint
  • [06]

    Pentest web

    Sur une cible dont vous prouvez la propriété.

    Vérification DNS de la propriété du domaine, ré-résolution et épinglage des IP au démarrage du scan, sortie réseau restreinte à la cible. Sans preuve, le scan n'existe pas.

    nucleicible vérifiée requise
  • [07]

    UX, perf & a11y

    Ce que vos utilisateurs subissent, chiffré.

    Core Web Vitals, parcours réels au navigateur, violations WCAG 2.1 AA. Un site inaccessible est un site cassé, pas un site perfectible.

    lighthousecible vérifiée requise
[03]Le trajet d'un relevé

Cinq étapes entre votre dépôt et le rapport.

  1. 01

    Connexion

    GitHub App ou OAuth GitLab. Les jetons sont chiffrés par enveloppe avant d'atteindre la base ; la clé maîtresse ne quitte jamais le coffre.

    AES-256-GCM

  2. 02

    Clone éphémère

    Le dépôt est cloné dans un espace de travail jetable, monté en lecture seule, puis détruit. Votre code source n'entre jamais dans le stockage durable.

    0 octet persisté

  3. 03

    Sandbox

    Chaque moteur tourne dans son propre conteneur gVisor : noyau isolé, réseau coupé, système de fichiers en lecture seule, toutes les capacités retirées.

    runsc · cap-drop=ALL

  4. 04

    Normalisation

    Toutes les sorties sont converties en SARIF puis en un modèle de finding unique, empreinté, puis dédupliqué entre outils avant toute analyse.

    SARIF 2.1.0

  5. 05

    Relevé

    Le score est calculé par une formule versionnée. L'IA rédige l'explication et la remédiation ; elle ne touche jamais au chiffre.

    scoring v1

[04]Moteur hybride

L'IA explique. Elle ne décide jamais du score.

Un modèle qui note lui-même ce qu'il a trouvé produit un chiffre différent à chaque exécution. Chez nous la détection appartient aux outils, la note à une formule, et le texte au modèle — dans cet ordre, sans exception.

Ordre d'exécution — verrouillé
  1. 01Détection

    Les moteurs open source produisent les faits. Un finding sans outil derrière lui n'existe pas.

  2. 02Déduplication

    Empreinte stable par finding, regroupement entre outils. Trois moteurs qui voient la même faille rendent une ligne.

  3. 03Notation

    Déduction pondérée par gravité, densité par millier de lignes, plafonds durs. Version du barème inscrite dans le relevé.

  4. 04Rédaction

    Le modèle explique l'exploitabilité et propose une remédiation, contraint par un schéma, sans accès au score.

Un identifiant CVE inventé par le modèle est rejeté à la validation
[05]Ce qu'on vous garantit

Vous nous confiez du code privé. Voici exactement ce qu'il devient.

SYS.01

Votre code n'est jamais stocké

Le clone vit dans un répertoire éphémère détruit à la fin du run. Seuls les findings, les rapports et les journaux d'exécution sont conservés.

SYS.02

Isolation noyau, pas conteneur

gVisor intercale un noyau applicatif entre le scanner et l'hôte. Un moteur compromis ne voit pas le noyau de la machine.

SYS.03

Cloisonnement en base

PostgreSQL applique une politique de sécurité au niveau ligne, refus par défaut. Un filtre oublié dans le code ne peut pas faire fuiter une autre organisation.

SYS.04

Sortie réseau verrouillée

Les scanners tournent sans réseau. Les rares étapes qui en ont besoin passent par un proxy qui bloque les adresses privées et les métadonnées cloud.

SYS.05

Images figées par empreinte

Chaque moteur est épinglé sur un digest, jamais sur un tag mouvant. La version qui a produit votre relevé est celle qui est inscrite dedans.

SYS.06

L'IA ne reçoit pas d'ordres de votre code

Le contenu du dépôt est encadré comme donnée non fiable, la sortie du modèle est contrainte par un schéma, et aucun outil à effet de bord ne lui est accessible.

Aucune de ces lignes n'est une intention : chacune correspond à un mécanisme décrit sur la page sécurité, avec le composant qui l'applique.