Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
detect-secrets — Eine unternehmensfreundliche Methode zur Erkennung und Verhinderung von Geheimnissen im Code. | Kitploit
Tools/GitHubGitHub/yelp/detect-secrets
Statische AnalyseCode-AnalyseDevSecOpsSecret-ErkennungTop in Secret-Erkennung Nr.3
GitHubyelp/detect-secrets

detect-secrets

Eine unternehmensfreundliche Methode zur Erkennung und Verhinderung von Geheimnissen im Code.

Repository anzeigen
4.6k56469vor 6 MonatenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Build-Status PyPI-Version Homebrew PRs willkommen AMF

detect-secrets

Über

detect-secrets ist ein treffend benanntes Modul zur (Überraschung, Überraschung) Erkennung von Geheimnissen in einer Codebasis.

Im Gegensatz zu anderen ähnlichen Paketen, die sich ausschließlich auf das Auffinden von Geheimnissen konzentrieren, ist dieses Paket mit dem Unternehmenskunden im Hinterkopf entwickelt: Es bietet eine abwärtskompatible, systematische Möglichkeit:

  1. Neue Geheimnisse daran zu hindern, in die Codebasis zu gelangen,
  2. Zu erkennen, ob solche Verhinderungen explizit umgangen werden,
  3. Und eine Checkliste mit Geheimnissen bereitzustellen, die ausgerollt und auf eine sicherere Speicherung migriert werden sollen.

Auf diese Weise schaffen Sie eine Trennung der Belange: Sie akzeptieren, dass es derzeit Geheimnisse geben mag, die sich in Ihrem großen Repository verstecken (dies bezeichnen wir als eine Baseline), verhindern aber, dass dieses Problem noch größer wird, ohne sich mit der potenziell gigantischen Mühe befassen zu müssen, bestehende Geheimnisse zu entfernen.

Dies geschieht durch periodische Ausführung von Diff-Ausgaben gegen heuristisch erstellte Regex-Anweisungen, um festzustellen, ob ein neues Geheimnis committet wurde. Auf diese Weise vermeidet es den Overhead des Durchwühlens der gesamten Git-Historie sowie die Notwendigkeit, jedes Mal das gesamte Repository zu scannen.

Einen Überblick über die letzten Änderungen finden Sie in CHANGELOG.md.

Wenn Sie einen Beitrag leisten möchten, lesen Sie bitte CONTRIBUTING.md.

Für eine detailliertere Dokumentation sehen Sie sich unsere weitere Dokumentation an.

Beispiele

Schnellstart:

Erstellen Sie eine Baseline potenzieller Geheimnisse, die derzeit in Ihrem Git-Repository gefunden werden.```bash $ detect-secrets scan > .secrets.baseline

oder, um es von einem anderen Verzeichnis aus auszuführen:```bash
$ detect-secrets -C /path/to/directory scan > /path/to/directory/.secrets.baseline

Scannen von nicht von Git verfolgten Dateien:```bash $ detect-secrets scan test_data/ --all-files > .secrets.baseline

### Hinzufügen neuer Geheimnisse zur Baseline:

Dies wird Ihre Codebasis erneut scannen und:

1. Aktualisieren/Upgraden Sie Ihre Baseline, um mit der neuesten Version kompatibel zu sein,
2. Fügen Sie alle neuen Geheimnisse, die es findet, zu Ihrer Baseline hinzu,
3. Entfernen Sie alle Geheimnisse, die nicht mehr in Ihrer Codebasis vorhanden sind

Dies wird auch alle von Ihnen markierten Geheimnisse bewahren.```bash
$ detect-secrets scan --baseline .secrets.baseline

Für Baselines älter als Version 0.9 einfach neu erstellen.

Warnung vor neu hinzugefügten Geheimnissen:

Nur gestaffelte Dateien scannen:```bash $ git diff --staged --name-only -z | xargs -0 detect-secrets-hook --baseline .secrets.baseline

**Scannen aller verfolgten Dateien:**```bash
$ git ls-files -z | xargs -0 detect-secrets-hook --baseline .secrets.baseline

Alle aktivierten Plugins anzeigen:```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

### Deaktivieren von Plugins:```bash
$ detect-secrets scan --disable-plugin KeywordDetector --disable-plugin AWSKeyDetector

Wenn Sie nur ein bestimmtes Plugin ausführen möchten, können Sie Folgendes tun:```bash $ detect-secrets scan --list-all-plugins |
grep -v 'BasicAuthDetector' |
sed "s#^#--disable-plugin #g" |
xargs detect-secrets scan test_data

### Überprüfung einer Baseline:

Dies ist ein optionaler Schritt, um die Ergebnisse in Ihrer Baseline zu kennzeichnen. Es kann verwendet werden, um Ihre Liste der zu migrierenden Geheimnisse einzugrenzen oder Ihre Plugins besser zu konfigurieren, um das Signal-Rausch-Verhältnis zu verbessern.```bash
$ detect-secrets audit .secrets.baseline

Verwendung in anderen Python-Skripten

Grundlegende Verwendung:```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))

**Erweiterte Konfiguration:**```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 ✨🍰✨

Installieren über [brew](https://brew.sh/):```bash
$ brew install detect-secrets

Verwendung

detect-secrets wird mit drei verschiedenen Werkzeugen geliefert, und es gibt oft Verwirrung darüber, welches verwendet werden soll. Verwenden Sie diese praktische Checkliste, um zu entscheiden:

  1. Möchten Sie Geheimnisse zu Ihrer Baseline hinzufügen? Wenn ja, verwenden Sie detect-secrets scan.
  2. Möchten Sie vor neuen Geheimnissen warnen, die nicht in der Baseline enthalten sind? Wenn ja, verwenden Sie detect-secrets-hook.
  3. Analysieren Sie die Baseline selbst? Wenn ja, verwenden Sie detect-secrets audit.
Tool herunterladen