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é.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
detect-secrets — Une solution adaptée aux entreprises pour détecter et prévenir les secrets dans le code. | Kitploit
Outils/GitHubGitHub/yelp/detect-secrets
Analyse StatiqueAnalyse de CodeDevSecOpsDétection de SecretsTop en Détection de Secrets n°3
GitHubyelp/detect-secrets

detect-secrets

Une solution adaptée aux entreprises pour détecter et prévenir les secrets dans le code.

Voir le dépôt
4.6k56471il y a 6 moisVé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 →
Partager

Build Status PyPI version Homebrew PRs Welcome AMF

detect-secrets

À propos

detect-secrets est un module bien nommé pour (surprise, surprise) la détection de secrets au sein d'une base de code.

Cependant, contrairement à d'autres paquets similaires qui se concentrent uniquement sur la recherche de secrets, ce paquet est conçu pour le client en entreprise : fournissant un moyen rétrocompatible et systématique de :

  1. Empêcher de nouveaux secrets d'entrer dans la base de code,
  2. Détecter si ces empêchements sont explicitement contournés, et
  3. Fournir une liste de contrôle des secrets à faire migrer vers un stockage plus sécurisé.

De cette façon, vous créez une séparation des préoccupations : en acceptant qu'il puisse y avoir actuellement des secrets cachés dans votre vaste dépôt (c'est ce que nous appelons une baseline), mais en empêchant que ce problème ne s'aggrave, sans avoir à gérer l'effort potentiellement gargantuesque de déplacer les secrets existants.

Il le fait en exécutant des sorties de diff périodiques sur des expressions régulières conçues de manière heuristique, pour identifier si un nouveau secret a été commité. Ainsi, il évite la surcharge de fouiller tout l'historique git, ainsi que la nécessité de scanner l'ensemble du dépôt à chaque fois.

Pour un aperçu des changements récents, veuillez consulter CHANGELOG.md.

Si vous souhaitez contribuer, veuillez consulter CONTRIBUTING.md.

Pour une documentation plus détaillée, consultez notre autre documentation.

Exemples

Démarrage rapide :

Créez une baseline des secrets potentiels actuellement trouvés dans votre dépôt git.```bash $ detect-secrets scan > .secrets.baseline

ou, pour l'exécuter depuis un répertoire différent :```bash
$ detect-secrets -C /path/to/directory scan > /path/to/directory/.secrets.baseline

Analyse des fichiers non suivis par git :```bash $ detect-secrets scan test_data/ --all-files > .secrets.baseline

### Ajout de nouveaux secrets à la base de référence :

Cela rescannera votre base de code, et :

1. Mettez à jour/améliorez votre base de référence pour qu'elle soit compatible avec la dernière version,
2. Ajoutez tous les nouveaux secrets qu'il trouve à votre base de référence,
3. Supprimez les secrets qui ne se trouvent plus dans votre base de code

Cela préservera également tous les secrets étiquetés que vous possédez.```bash
$ detect-secrets scan --baseline .secrets.baseline

Alerter sur les secrets nouvellement ajoutés :

Pour les bases de référence antérieures à la version 0.9, recréez-les simplement.

Analyse des fichiers en staging uniquement :```bash $ git diff --staged --name-only -z | xargs -0 detect-secrets-hook --baseline .secrets.baseline

**Analyse de tous les fichiers suivis :**```bash
$ git ls-files -z | xargs -0 detect-secrets-hook --baseline .secrets.baseline

Voir tous les plugins activés :```bash

$ detect-secrets scan --list-all-plugins ArtifactoryDetector AWSKeyDetector AzureStorageKeyDetector BasicAuthDetector CloudantDetector DiscordBotTokenDetector GitHubTokenDetector GitLabTokenDetector Base64HighEntropyString HexHighEntropyString IbmCloudIamDetector IbmCosHmacDetector IPPublicDetector JwtTokenDetector KeywordDetector MailchimpDetector NpmDetector OpenAIDetector PrivateKeyDetector PypiTokenDetector SendGridDetector SlackDetector SoftlayerDetector SquareOAuthDetector StripeDetector TelegramBotTokenDetector TwilioKeyDetector

### Désactiver les plugins :```bash
$ detect-secrets scan --disable-plugin KeywordDetector --disable-plugin AWSKeyDetector

Si vous voulez uniquement exécuter un plugin spécifique, vous pouvez :```bash $ detect-secrets scan --list-all-plugins |
grep -v 'BasicAuthDetector' |
sed "s#^#--disable-plugin #g" |
xargs detect-secrets scan test_data

### Auditer une ligne de base :

Il s'agit d'une étape facultative pour étiqueter les résultats dans votre ligne de base. Cela peut être utilisé pour affiner votre liste de contrôle des secrets à migrer, ou pour mieux configurer vos plugins afin d'améliorer leur rapport signal/bruit.```bash
$ detect-secrets audit .secrets.baseline

Utilisation dans d'autres scripts Python

Utilisation de base :```python from detect_secrets import SecretsCollection from detect_secrets.settings import default_settings

secrets = SecretsCollection() with default_settings(): secrets.scan_file('test_data/config.ini')

import json print(json.dumps(secrets.json(), indent=2))

**Configuration plus avancée :**```python
from detect_secrets import SecretsCollection
from detect_secrets.settings import transient_settings

secrets = SecretsCollection()
with transient_settings({
    # Only run scans with only these plugins.
    # This format is the same as the one that is saved in the generated baseline.
    'plugins_used': [
        # Example of configuring a built-in plugin
        {
            'name': 'Base64HighEntropyString',
            'limit': 5.0,
        },

        # Example of using a custom plugin
        {
            'name': 'HippoDetector',
            'path': 'file:///Users/aaronloo/Documents/github/detect-secrets/testing/plugins.py',
        },
    ],

    # We can also specify whichever additional filters we want.
    # This is an example of using the function `is_identified_by_ML_model` within the
    # local file `./private-filters/example.py`.
    'filters_used': [
        {
            'path': 'file://private-filters/example.py::is_identified_by_ML_model',
        },
    ]
}) as settings:
    # If we want to make any further adjustments to the created settings object (e.g.
    # disabling default filters), we can do so as such.
    settings.disable_filters(
        'detect_secrets.filters.heuristic.is_prefixed_with_dollar_sign',
        'detect_secrets.filters.heuristic.is_likely_id_string',
    )

    secrets.scan_file('test_data/config.ini')

Installation```bash

$ pip install detect-secrets ✨🍰✨

Installer via [brew](https://brew.sh/):```bash
$ brew install detect-secrets

Utilisation

detect-secrets est fourni avec trois outils différents, et il y a souvent une confusion quant à celui à utiliser. Utilisez cette liste de contrôle pratique pour vous aider à décider :

  1. Voulez-vous ajouter des secrets à votre baseline ? Si oui, utilisez detect-secrets scan.
  2. Voulez-vous être alerté des nouveaux secrets absents de la baseline ? Si oui, utilisez detect-secrets-hook.
  3. Analysez-vous la baseline elle-même ? Si oui, utilisez detect-secrets audit.
Télécharger l’outil