Ce qu'on a livré, ce qu'on livre ensuite
Snapshot honnête de l'état du produit. « Fait » est en production. « En cours » est en construction maintenant. « À venir » est planifié mais pas commencé — dates indicatives.
Fait — livré
- ✓Couverture standards 100 % : 697/697 règles builtin mappées à CWE ou WCAG (665 + 32)
- ✓DSL étendu : multi-CWE par règle, champ CVE, champ WCAG — tout propagé en JSON / SARIF / HTML
- ✓SARIF rule.properties.tags + objet JSON finding.compliance — compatible GitHub code-scanning, DefectDojo, plateformes ASOC
- ✓Loader de packs hors-bande (rules-updates/) avec vérification SHA-256 et spec manifest.json figée
- ✓D.2 Performance : cache de règles + analyse incrémentale (3× plus rapide en cache chaud)
- ✓Moteur taint : Python AST + JS/Java/C#/PHP lexical, détection multi-flow, contrôle de compatibilité kind
En cours — en construction
- ⚙Pipeline veille CVE : ingestion quotidienne NVD / OSV / GitHub Advisory, filtrage par langages SCA
- ⚙Console authoring opérateur : écrire une règle .sca, valider sur fixtures en sandbox, staging pour publication
- ⚙Espace client : téléchargement authentifié des packs de règles (par tier d'abonnement)
- ⚙Notifications email : alerter les abonnés actifs quand un nouveau pack est publié
À venir — planifié
- ◎DSL v2 : vérification de signature Ed25519 au chargement (clé publique embarquée dans le binaire à la build)
- ◎D.2.3 finalisation : vraie parallélisation (refactor des exécuteurs pour thread-safety)
- ◎Langages supplémentaires : Go, Ruby, Kotlin, Swift — selon demande client
- ◎Moteur taint : sanitizers cross-ligne / scope-level (actuellement RHS-only)
- ◎Plugins IDE : VS Code + JetBrains (visualiseur findings read-only, lit le dernier JSON d'audit)
Aucun engagement sur les dates. On livre quand c'est prêt. Priorités pilotées client — dites-nous ce qui compte le plus pour vous.
Historique des versions
Moteur taint dataflow Phase 7/8 (F1 = 1,000 sur Python ET multilangue JS/Java/C#/PHP) plus 3 règles supply-chain inspirées de l'attaque npm TanStack/Mistral (mai 2026, 170 paquets compromis). Suppression du moteur taint legacy (-3 519 LOC net). Total : 700+ règles sur 8 catégories.
Moteur dataflow taint (Phase 7/8)
- ✓Implémentation clean-room — CFG, IR 3-adresses, treillis et worklist avec matching hybride dotted + regex (~6 200 LOC code, 3 800 LOC tests)
- ✓F1 = 1,000 sur le corpus de fixtures SCA interne — zéro faux négatif, zéro faux positif, sur Python ET multilangue (JS/Java/C#/PHP)
- ✓Profile loader (Flask, Django, Express, Spring, Laravel, .NET) injecté automatiquement dans les règles taint par catégorie — même précision que Snyk Code, sans cloud ni dépendance externe
Couverture supply-chain (TanStack/Mistral mai 2026)
- ✓Règle npm_git_dependency — détecte les dépendances pinées sur un commit Git GitHub/GitLab/Bitbucket, qui contournent les advisories du registre npm
- ✓Règles ide_config_exfil (JS + Python) — détectent les écritures silencieuses dans .claude/settings.json, .vscode/tasks.json, .cursor/, .aider/, .codeium/ utilisées comme vecteurs de persistance
- →Couverture préventive native — pas de télémétrie, pas de sandbox cloud, chaque détection tourne hors ligne sur la machine du développeur
D.2 Performance — cache des règles et analyse incrémentale rendent les analyses à chaud jusqu'à 3× plus rapides, idéal pour les pipelines CI/CD et les hooks pre-commit.
Performance
- ✓Cache des règles : règles DSL parsées une seule fois, conservées entre les exécutions
- ✓Analyse incrémentale : seuls les fichiers modifiés depuis le dernier scan sont réanalysés (hash de contenu)
- →Jusqu'à 3× plus rapide en analyse à chaud (re-scans de code inchangé)
+53 règles de détection pour les catégories non-sécurité : Architecture, Maintenance, Accessibilité/UX, Interface/UI. Sources : axe-core (WCAG 2.2), Ruff, Pylint, PMD, PHPMD, SonarJS, eslint-plugin-jsx-a11y, HTMLHint et SonarQube Cloud API.
Nouvelles règles — 8 vagues
- ✓+16 règles UX/accessibilité (HTML + JSX) : axe-core WCAG 2.0/2.1/2.2, aria-hidden, viewport zoom, sous-titres vidéo, jsx-a11y
- ✓+6 règles UI (HTML) : balises dépréciées, styles en ligne, viewport manquant, type de bouton, target blank, dimensions d'image
- ✓+24 règles Maintenance : Python (Ruff/Pylint), Java (PMD), PHP (PHPMD), JavaScript (SonarJS), C# (SonarQube)
- ✓+7 règles Architecture : Java, PHP, JavaScript, C# — couplage, classes utilitaires, champs publics
- →698 règles au total (contre 645 auparavant)
Détection & Couverture
- ✓698 règles de détection dans 8 catégories
- ✓8 langages : Python, JavaScript/TypeScript, HTML, Java, C#, PHP, YAML
- ✓changelog.v2.detection.custom
--create-rule) with DSL and taint propagation - ✓changelog.v2.detection.fixtures
- ✓changelog.v2.detection.selftest
--self-test) validates all fixtures on demand
Sécurité
- ✓changelog.v2.security.owasp
- ✓changelog.v2.security.iso27001
- ✓changelog.v2.security.asvs
- ✓changelog.v2.security.cicd
- ✓changelog.v2.security.suppress
# sca-ignore), config, or global disable
Exports & Intégration
- ✓Export SARIF 2.1.0 pour GitHub Code Scanning et GitLab SAST
--sarif) — compatible with GitHub Code Scanning and GitLab SAST - ✓Génération SBOM au format CycloneDX 1.5
--sbom) — Software Bill of Materials - ✓changelog.v2.exports.gitblame
--git-blame) — committer per finding - ✓changelog.v2.exports.hook
--install-hook) — automatic audit before every commit - ✓changelog.v2.exports.failon
--fail-on-high) — exit code 1 on HIGH findings
Rapports & Marque blanche
- ✓Rapports en 4 langues : anglais, français, espagnol, allemand
- ✓changelog.v2.reports.charts
- ✓changelog.v2.reports.health
- ✓changelog.v2.reports.glossary
- ✓Marque blanche : nom d'outil, entreprise, logo et préfixe personnalisables
- ✓Rétention des rapports par nombre, durée ou mode combiné
--retention-dry-run) - ✓changelog.v2.reports.keyboard
- ✓changelog.v2.reports.print
Fonctionnalités principales
- ✓51 règles de détection dans 7 catégories
- ✓4 langages : Python, JavaScript/TypeScript, HTML
- ✓changelog.v1.core.reports
- ✓Comparaison baseline entre snapshots d'audit
- ✓changelog.v1.core.zero
- ✓changelog.v1.core.offline
- ✓changelog.v1.core.uuid
--init)
Catégories optionnelles
- ✓Audit des dépendances via pip-audit et npm audit (scan CVE)
- ✓changelog.v1.optional.db