Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
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
whispers — Hartcodierte Geheimnisse in statischem strukturiertem Text identifizieren | Kitploit
Tools/GitHubGitHub/skyscanner/whispers
Statische AnalyseSchwachstellenanalyseCode-AnalyseKonfigurationsprüfungDevSecOpsSecret-ErkennungLieferkettensicherheitArchived
GitHubskyscanner/whispers

whispers

Hartcodierte Geheimnisse in statischem strukturiertem Text identifizieren

Repository anzeigen
506705vor 2 JahrenVon 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

Whispers Whispers

„Meine kleinen Vögel sind überall, sogar im Norden, sie flüstern mir die seltsamsten Geschichten zu.“ - Lord Varys

Whispers ist ein statisches Code-Analyse-Tool, das verschiedene gängige Datenformate parst, um hartcodierte Anmeldeinformationen und gefährliche Funktionen zu finden. Whispers kann in der CLI ausgeführt oder in Ihre CI/CD-Pipeline integriert werden.

Erkennt

Tool herunterladen
  • Passwörter
  • API-Tokens
  • AWS-Schlüssel
  • Private Schlüssel
  • Gehashte Anmeldeinformationen
  • Authentifizierungstokens
  • Gefährliche Funktionen
  • Sensitive Dateien

Unterstützte Formate

Whispers ist als strukturierter Text-Parser konzipiert, kein Code-Parser.

Die folgenden häufig verwendeten Formate werden derzeit unterstützt:

  • YAML
  • JSON
  • XML
  • .npmrc
  • .pypirc
  • .htpasswd
  • .properties
  • pip.conf
  • conf / ini
  • Dockerfile
  • Dockercfg
  • Shell-Skripte
  • Python3

Python3-Dateien werden aufgrund der nativen Sprachunterstützung als ASTs geparst.

Deklarations- und Zuweisungsformate

Die folgenden Sprachdateien werden als Text geparst und auf häufig vorkommende Variablendeklarations- und Zuweisungsmuster überprüft:

  • JavaScript
  • Java
  • Go
  • PHP

Spezielle Formate

  • AWS-Anmeldedatendateien
  • JDBC-Verbindungszeichenfolgen
  • Jenkins-Konfigurationsdateien
  • SpringFramework Beans-Konfigurationsdateien
  • Java Properties-Dateien
  • Dockercfg-Authentifizierungsdateien für private Registrierungen
  • GitHub-Tokens

Installation

Von PyPI

root@kitploit:~
pip3 install whispers

Von GitHub

root@kitploit:~
git clone https://github.com/Skyscanner/whispers
cd whispers
make install

Verwendung

CLI

root@kitploit:~
whispers --help
whispers --info
whispers source/code/fileOrDir
whispers --config config.yml source/code/fileOrDir
whispers --output /tmp/secrets.yml source/code/fileOrDir
whispers --rules aws-id,aws-secret source/code/fileOrDir
whispers --severity BLOCKER,CRITICAL source/code/fileOrDir
whispers --exitcode 7 source/code/fileOrDir

Python

root@kitploit:~
from whispers.cli import parse_args
from whispers.core import run

src = "tests/fixtures"
configfile = "whispers/config.yml"
args = parse_args(["-c", configfile, src])
for secret in run(args):
  print(secret)

Konfiguration

Es gibt verschiedene Konfigurationsoptionen in Whispers. Es ist möglich, Ergebnisse basierend auf Dateipfad, Schlüssel oder Wert ein- oder auszuschließen. Dateipfadangaben werden als Globs interpretiert. Schlüssel und Werte akzeptieren reguläre Ausdrücke und mehrere andere Parameter. Es gibt eine integrierte Standardkonfigurationsdatei, die verwendet wird, wenn Sie keine benutzerdefinierte bereitstellen.

config.yml sollte die folgende Struktur haben:

root@kitploit:~
include:
  files:
    - "**/*.yml"

exclude:
  files:
    - "**/test/**/*"
    - "**/tests/**/*"
  keys:
    - ^foo
  values:
    - bar$

rules:
  starks:
    message: Whispers from the North
    severity: CRITICAL
    value:
      regex: (Aria|Ned) Stark
      ignorecase: True

Der schnellste Weg, die Erkennung anzupassen (d.h. falsch positive und unerwünschte Ergebnisse zu entfernen), besteht darin, die Standarddatei config.yml in eine neue Datei zu kopieren, sie anzupassen und als Argument an Whispers zu übergeben.

whispers --config config.yml --rules starks src/file/or/dir

Benutzerdefinierte Regeln

Regeln legen die tatsächlichen Dinge fest, die aus Schlüssel-Wert-Paaren extrahiert werden sollen. Es gibt mehrere häufig verwendete, die integriert sind, wie AWS-Schlüssel und Passwörter, aber das Tool ist so konzipiert, dass es leicht mit neuen Regeln erweitert werden kann.

  • Benutzerdefinierte Regeln können in der Hauptkonfigurationsdatei unter rules: definiert werden.
  • Benutzerdefinierte Regeln können zu whispers/rules hinzugefügt werden.
root@kitploit:~
rule-id:  # unique rule name
  description: Values formatted like AWS Session Token
  message: AWS Session Token  # report will show this message
  severity: BLOCKER           # one of BLOCKER, CRITICAL, MAJOR, MINOR, INFO

  key:        # specify key format
    regex: (aws.?session.?token)?
    ignorecase: True   # case-insensitive matching

  value:      # specify value format
    regex: ^(?=.*[a-z])(?=.*[A-Z])[A-Za-z0-9\+\/]{270,450}$
    ignorecase: False  # case-sensitive matching
    minlen: 270        # value is at least this long
    isBase64: True     # value is base64-encoded
    isAscii: False     # value is binary data when decoded
    isUri: False       # value is not formatted like a URI

  similar: 0.35        # maximum allowed similarity between key and value 
                       # (1.0 being exactly the same)

Plugins

Die gesamte Parsing-Funktionalität wird über Plugins implementiert. Jedes Plugin implementiert eine Klasse mit der Methode pairs(), die Dateien durchläuft und die Schlüssel-Wert-Paare zurückgibt, die mit den Regeln überprüft werden sollen.

root@kitploit:~
class PluginName:
    def pairs(self, file):
        yield "key", "value"