Skip to content

SecuScan AI v1.1.3 — la détection ne fonctionnait pas

Choose a tag to compare

@Heiphaistos Heiphaistos released this 22 Sep 09:07
· 12 commits to main since this release

Le scanner ne détectait rien

Sur un projet quelconque, SecuScan rendait 0 vulnérabilité, sans erreur visible.

Trois règles utilisaient du look-ahead ((?!…)), que le crate regex ne supporte pas. Les règles étant compilées paresseusement derrière un .expect(), rien n'échouait au build : le fil d'analyse paniquait au premier fichier.

dispatch_timed réduisait ensuite ce fil mort à un Err(_) générique et journalisait « File scan timed out ». Le moteur rendait donc une liste vide pour chaque fichier, en silence.

Mesure : un fichier Python contenant une injection SQL, des identifiants en dur et un hachage MD5 de mot de passe donnait 0 finding en 2 ms.

Corrections

  • Les trois motifs reformulés en positif, sans look-ahead.
  • dispatch_timed distingue Disconnected (analyseur en panique) d'un vrai Timeout, et journalise le premier en erreur avec le nom du fichier.
  • Un test compile les quatre jeux de règles : une regex invalide fait désormais échouer le build au lieu de désactiver le scanner.

Vérification

Sur le binaire installé, le même dossier passe de 0 à 3 findings :

Sévérité Détection CWE
Critique SQL Injection — Direct execute() CWE-89
Haute Hardcoded Password CWE-798
Moyenne Weak Cryptographic Function CWE-327

Les rapports exportés en JSON, HTML et TXT les contiennent bien.

Rappel v1.1.2 — export de rapport

L'export n'écrivait aucun fichier : le contrôle « destination sous le répertoire utilisateur » comparait un chemin canonicalisé (verbatim sous Windows) à USERPROFILE, donc échouait toujours. Corrigé, et vérifié sur les cinq formats.

Installation

SecuScan AI_1.1.3_x64-setup.exe — installation pour l'utilisateur courant, sans élévation. Les mises à jour suivantes se font automatiquement.