Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
deepsecrets — Scanner de secrets hors ligne combinant des règles regex, une analyse sémantique basée sur un lexer et une correspondance de valeurs hachées pour détecter les identifiants exposés dans le code avec une sortie SARIF. | Kitploit
Outils/GitHubGitHub/ntoskernel/deepsecrets
Outils DéfensifsAnalyse StatiqueScanners de VulnérabilitésAnalyse Statique de Code (SAST)Analyse de CodeDevSecOpsDétection de SecretsSécurité de la Chaîne Logistique
GitHubntoskernel/deepsecrets

deepsecrets

Scanner de secrets hors ligne combinant des règles regex, une analyse sémantique basée sur un lexer et une correspondance de valeurs hachées pour détecter les identifiants exposés dans le code avec une sortie SARIF.

184185il y a 25 joursVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Voir le dépôt
Partager

OWASP DeepSecrets — un meilleur outil pour le scan de secrets

Tests Status

Qu'est-ce que c'est ? Encore un proxy CLI qui gaspille des tokens vers une API d'IA ?

Absolument pas !

À l'ère de l'engouement pour les LLM, DeepSecrets s'exécute toujours entièrement sur votre machine — vous offrant d'excellents résultats hors ligne, en toute sécurité et gratuitement.

Alors pourquoi encore un autre outil ?

La plupart des scanners existants ne « comprennent » pas réellement le code. Ils se contentent d'analyser des textes et ont une mauvaise couverture.

DeepSecrets comble le fossé entre les scanners regex classiques et les outils SAST commerciaux à grande échelle. Il étend la stratégie de scan classique basée sur les regex en s'appuyant fortement sur l'analyse sémantique du code, la détection de variables dangereuses et l'analyse d'entropie contextuelle. Cela signifie que les candidats secrets sont toujours sémantiquement corrects. Nous parvenons à une véritable compréhension du code sur plus de 500 langages et formats grâce à des techniques de lexing et de parsing.

DeepSecrets introduit également une nouvelle façon de trouver des identifiants sans aucune connaissance préalable : le HashedSecret Engine. Fournissez simplement les valeurs hachées de vos secrets de production connus, et l'outil les trouvera exposés en clair dans votre code.

Performance et benchmarks (SecretBench)

DeepSecrets v2.0 a été évalué (juin 2026) sur le benchmark SecretBench, surpassant les scanners traditionnels à texte plat :

  • 93 % de rappel
  • 8 % de taux de faux positifs sur le périmètre de SecretBench
  • ~9K découvertes supplémentaires en dehors du périmètre de SecretBench

(Vous pouvez lire l'histoire complète sous le capot et le détail des benchmarks dans mon article HackerNoon ici)

Guide de démarrage rapide

Installation

Depuis Github via pip

$ pip install git+https://github.com/ntoskernel/deepsecrets.git

Depuis PyPi

$ pip install deepsecrets

DeepSecrets nécessite Python 3.11 ou une version ultérieure.

Analyse

La façon la plus simple de lancer une analyse :

$ deepsecrets --target-dir /path/to/your/code --outformat dojo-sarif --outfile report.json

Cela exécutera une analyse sur /path/to/your/code en utilisant la configuration par défaut :

  • Regex utilisant le jeu de règles intégré
  • Vérifications sémantiques (détection de variables, contrôles d'entropie)

Un rapport au format SARIF (compatible avec DefectDojo et GitHub Security) sera enregistré dans report.json.

Réglage fin

La commande --help est toujours prête à vous guider, mais voici les principaux indicateurs que vous pouvez utiliser pour adapter l'analyse à votre environnement :

  • --regex-rules /path/to/rules.json : Fournissez votre propre jeu de règles regex personnalisé.
  • --hashed-values /path/to/hashes.json : Fournissez une liste de secrets de production connus pré-hachés pour les rechercher de manière sécurisée.
  • --excluded-paths /path/to/exclusions.json : Remplacez ou étendez les chemins par défaut ignorés lors de l'analyse.
  • --deep-max-size BYTES : Les fichiers plus volumineux que cette taille (250 000 octets par défaut) bénéficient de l'analyse rapide : les règles regex et la recherche de variables, sans le lexer de langage. Les gros fichiers sont principalement générés ou minifiés, le lexer coûte la majeure partie du temps d'analyse sur ceux-ci et y trouve rarement davantage. 0 applique l'analyse complète à chaque fichier.
  • --skip-bundles : Ignore entièrement le JavaScript minifié, les source maps et les bundles (*.min.js, *.map, *.bundle.js), en plus des autres exclusions de chemins.
  • --confidence-level {all,low,medium,high,very-high} : Le niveau de confiance le plus bas à signaler (par défaut low, toutes les détections). medium, high et very-high conservent les niveaux de confiance 3, 6 et 9 ou plus ; all signale également les correspondances regex que le scanner a jugées ne pas être des secrets (espaces réservés, exemples), avec un identifiant de règle -INFO.
  • --report-diagnostics : Ajoute chaque fichier trouvé sous la cible au rapport SARIF, avec son statut, son temps d'analyse, la raison de son exclusion et la profondeur d'analyse.
  • --regex-candidate-scoring-rules /path/to/rules.json : Fournissez vos propres règles pour juger les correspondances regex avant qu'elles ne soient signalées. Ne donnez aucune valeur à l'indicateur pour signaler les correspondances regex sans jugement.
  • --multiprocessing-context {forkserver,spawn,fork} : Comment les processus de travail démarrent. La valeur par défaut est forkserver lorsque la plateforme le prend en charge (Linux, macOS) : les processus de travail partagent le scanner déjà chargé dans un processus serveur. Windows utilise spawn. Les trois donnent les mêmes résultats.
  • --disable-masking : Conserve les secrets potentiels non masqués dans le rapport de sortie (voir la mise en garde ci-dessous).
  • --ci / --no-ci : Active ou désactive le mode CI. Le mode CI affiche une ligne de progression simple toutes les 30 secondes au lieu de l'affichage de progression en direct. Il s'active automatiquement dans les services CI (GitHub Actions, GitLab CI, Jenkins et autres) et chaque fois que la sortie n'est pas un terminal.

Intégration GitHub Actions

ex. .github/workflows/deepsecrets.yml

name: DeepSecrets Scan
on: [push, pull_request]

jobs:
  scan:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v4

      - name: Set up Python
        uses: actions/setup-python@v5
        with:
          python-version: '3.11'

      - name: Install DeepSecrets
        run: pip install deepsecrets

      - name: Run Scan
        run: deepsecrets --target-dir . --outformat dojo-sarif --outfile report.sarif
        continue-on-error: true

      - name: Upload SARIF report
        uses: github/codeql-action/upload-sarif@v3
        with:
          sarif_file: report.sarif

Masquage des secrets dans les rapports

Depuis la v1.3.0, les secrets potentiels sont automatiquement masqués dans les rapports afin de protéger les artefacts de votre pipeline. Désactivez cette option via le flag --disable-masking si nécessaire.

Le masquage ne casse pas la logique de déduplication des plateformes en aval (comme Github), car la section partialFingerprints du rapport est correctement renseignée à partir des données brutes.

[!Caution]
Si vous intégrez DeepSecrets dans votre pipeline CI avec le masquage désactivé, vous risquez de re-divulguer vos secrets dans les logs et artefacts de votre CI.

Rapports SARIF et confiance dynamique

Chaque résultat obtient un score de confiance. Cependant, différentes plateformes de sécurité interprètent les métriques SARIF différemment. Pour garantir la compatibilité avec les tableaux de bord ASPM modernes, DeepSecrets effectue les opérations suivantes :

  • Sous-règles virtuelles (rules[]) : génère dynamiquement des règles par niveau de confiance, de S105-LOW à -MEDIUM et -HIGH jusqu'à S105-VERY-HIGH (et -INFO pour les correspondances rejetées rapportées par --confidence-level all). Cela force GitHub Security et DefectDojo à mapper correctement la variance de précision sémantique sans casser les parseurs natifs.

  • Niveau de résultat déterministe : l'outil définit toujours explicitement level: error dans le modèle results[]. Cela sert de repli universel pour les pipelines CI/CD et les anciens parseurs SAST, garantissant que les secrets exposés font échouer les builds ou bloquent les Pull Requests de manière fiable, indépendamment des interprétations individuelles des règles.

Télécharger l’outil