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
talisman — Git-Hook-basierter Secret-Scanner, der Tokens, Passwörter und private Schlüssel in ausgehenden Changesets erkennt und verhindert, dass sensible Daten in Repositories committet oder gepusht werden. | Kitploit
Tools/GitHubGitHub/thoughtworks/talisman
Statische AnalyseCode-AnalyseDevSecOpsSecret-Erkennung
GitHubthoughtworks/talisman

talisman

Git-Hook-basierter Secret-Scanner, der Tokens, Passwörter und private Schlüssel in ausgehenden Changesets erkennt und verhindert, dass sensible Daten in Repositories committet oder gepusht werden.

Repository anzeigen
2.1k252vor 9 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
Webseite

Talisman

Ein Werkzeug, um Geheimnisse zu erkennen und zu verhindern, dass sie eingecheckt werden

License: MIT Go Report Card contributions welcome Build Status

Inhaltsverzeichnis

  • Was ist Talisman?
  • Installation
    • Installation in den Pfad (empfohlener Ansatz)
    • Installation als globale Hook-Vorlage
  • Konfiguration eines Projekts
    • Verwendung mit Hook-Frameworks
      • Pre-commit
      • Husky
    • Direktes Aufrufen von Talisman
  • Aktualisierung
  • Talisman in Aktion
    • Validierungen
    • Ignorieren von Dateien
      • Interaktiver Modus
      • Ignorieren bestimmter Detektoren
      • Ignorieren bestimmter Schlüsselwörter
      • Ignorieren mehrerer Dateien desselben Typs (mit Platzhaltern)
      • Ignorieren von Dateien durch Angabe des Sprachbereichs
      • Benutzerdefinierte Suchmuster
    • Konfiguration des Schweregradschwellenwerts
    • Talisman als CLI-Dienstprogramm
      • Interaktiver Modus
      • Git-Verlaufsscanner
      • Prüfsummenrechner
  • Talisman HTML-Berichte
    • Beispiel-Screenshots
  • Deinstallation
    • Deinstallation von einer globalen Hook-Vorlage
    • Deinstallation von einem einzelnen Repository
  • Beiträge zu Talisman

Was ist Talisman?

Talisman ist ein Werkzeug, das Git-Änderungssätze scannt, um sicherzustellen, dass potenzielle Geheimnisse oder sensible Informationen die Entwicklerworkstation nicht verlassen.

Es validiert den ausgehenden Änderungssatz auf verdächtige Dinge – wie potenzielle SSH-Schlüssel, Autorisierungstoken, private Schlüssel usw.

Installation

Talisman unterstützt MAC OSX, Linux und Windows.

Talisman kann auf eine der folgenden Arten installiert und verwendet werden:

  1. Als eigenständige ausführbare Datei
  2. Als Git-Hook als globale Git-Hook-Vorlage und CLI-Dienstprogramm (für Git-Repo-Scannen)
  3. Als Git-Hook in einem einzelnen Git-Repository

Talisman kann als Pre-Commit- oder Pre-Push-Hook in den Git-Repositories eingerichtet werden.

Die Anweisungen finden Sie unten.

Haftungsausschluss: Geheimnisse, die durch einen erzwungenen Push in ein Git-Repository gelangen, können von Talisman nicht erkannt werden. Ein erzwungener Push gilt auf seine Weise als berüchtigt, und wir empfehlen Git-Repository-Administratoren, geeignete Maßnahmen zu ergreifen, um solche Aktivitäten zu autorisieren.

Installation in den Pfad (empfohlener Ansatz)

Wir empfehlen, talisman in Ihren Pfad zu installieren, sodass es für Git-Hook-Frameworks und Skripte verfügbar ist. Wählen Sie das richtige Binärprogramm für Ihr System von unserer Release-Seite aus oder führen Sie unser Installationsskript aus:```bash bash -c "$(curl --silent https://raw.githubusercontent.com/thoughtworks/talisman/main/install.sh)"

root@kitploit:~
Oder setzen Sie die Umgebungsvariable `INSTALL_LOCATION` zur Angabe eines benutzerdefinierten Speicherorts für die Binärdatei:```bash
INSTALL_LOCATION=/usr/local/bin bash -c "$(curl --silent https://raw.githubusercontent.com/thoughtworks/talisman/main/install.sh)"

Oder setze die Umgebungsvariable VERSION auf einen veröffentlichten Tag, um eine bestimmte Version zu installieren::```bash VERSION=v1.36.0 bash -c "$(curl --silent https://raw.githubusercontent.com/thoughtworks/talisman/main/install.sh)"

root@kitploit:~
Oder mit linuxbrew unter Linux und homebrew unter macOS, indem Sie den folgenden Befehl im Terminal ausführen:```bash
brew install talisman

Installation als globale Hook-Vorlage

Wir bieten Skripte an, die Talisman als Pre-commit-Git-Hook-Vorlage installieren, da dies dazu führt, dass Talisman nicht nur in Ihren bestehenden Git-Repositories, sondern auch in jedem neuen Repository, das Sie 'init' oder 'clone', vorhanden ist.

  1. Führen Sie den folgenden Befehl in Ihrem Terminal aus, um die Binärdatei unter $HOME/.talisman/bin herunterzuladen und zu installieren.

Als Pre-commit-Hook: ``` bash -c "$(curl --silent https://raw.githubusercontent.com/thoughtworks/talisman/main/global_install_scripts/install.bash)"

root@kitploit:~
ODER

  Als Pre-Push-Hook:  ```
bash -c "$(curl --silent https://raw.githubusercontent.com/thoughtworks/talisman/main/global_install_scripts/install.bash)" -- pre-push
  1. Wenn Sie TALISMAN_HOME nicht in Ihrem $PATH eingerichtet haben, werden Sie nach einem geeigneten Ort gefragt, um es einzurichten. Wählen Sie die Optionsnummer, bei der Sie die Profil-Quelldatei auf Ihrem Rechner setzen.

Denken Sie daran, source auf die Pfad-Datei auszuführen oder Ihr Terminal neu zu starten. Wenn Sie sich entscheiden, den $PATH später zu setzen, exportieren Sie bitte TALISMAN_HOME=$HOME/.talisman/bin in den Pfad.

  1. Wählen Sie ein Basisverzeichnis, in dem Talisman nach allen Git-Repositories scannen soll, und richten Sie einen Git-Hook (pre-commit oder pre-push, wie in Schritt 1 gewählt) als Symlink ein. Dieses Skript wird keine bereits vorhandenen Hooks überschreiben. Wenn Sie bestehende Hooks haben, können Sie Talisman über ein Hook-Framework hinzufügen.
  • Sie können die Umgebungsvariable SEARCH_ROOT mit dem Pfad des Basisverzeichnisses setzen, bevor Sie die Installation ausführen, damit Sie es während der Installation nicht manuell eingeben müssen.

Konfiguration eines Projekts

Verwendung mit Hook-Frameworks

Die globale Installation von Talisman als Hook überschreibt keine vorhandenen Hooks. Wenn das Installationsskript vorhandene Hooks findet, zeigt es dies lediglich in der Konsole an. Um mehrere Hooks auszuführen, empfehlen wir die Verwendung eines Hook-Frameworks wie pre-commit oder husky. Diese Anweisungen setzen voraus, dass die ausführbare Talisman-Datei irgendwo im Pfad Ihres Systems installiert ist.

Pre-commit

Verwenden Sie pre-commit, um vorhandene Hooks zusammen mit Talisman zu verwalten. Referenzieren Sie unsere pre-commit-hooks in Ihrer .pre-commit-config.yaml:```yaml

  • repo: https://github.com/thoughtworks/talisman rev: 'v1.32.2' # Update me! hooks:

    both pre-commit and pre-push supported

    - id: talisman-push

    • id: talisman-commit
root@kitploit:~
### Husky

[husky](https://typicode.github.io/husky) ist ein npm-Modul zur Verwaltung von Hooks.
Fügen Sie die folgende Zeile zur Husky-Pre-Commit-Konfiguration in Ihrer
`package.json` hinzu:```
talisman --githook pre-commit

Direktes Aufrufen von Talisman

Sobald die ausführbare Talisman-Datei installiert ist, können Sie einen eigenständigen Pre-Commit-Hook für ein Git-Repository konfigurieren:```bash cd my-git-project echo "talisman -g pre-commit" >> .git/hooks/pre-commit chmod +x .git/hooks/pre-commit

root@kitploit:~
# Aktualisierung
Seit Version v0.4.4 aktualisiert Talisman <b>automatisch</b> die Binärdatei auf die neueste Version, wenn der Hook ausgelöst wird (bei pre-commit/pre-push, wie eingerichtet). Lehnen Sie sich also zurück, entspannen Sie sich und verwenden Sie weiterhin das neueste Talisman ohne zusätzlichen Aufwand.

Die folgenden Umgebungsvariablen können gesetzt werden:

1. TALISMAN_SKIP_UPGRADE: Auf true setzen, wenn die automatische Upgrade-Prüfung übersprungen werden soll. Standard ist false
2. TALISMAN_UPGRADE_CONNECT_TIMEOUT: Maximale Verbindungszeitüberschreitung, bevor das Upgrade abgebrochen wird (in Sekunden). Standard sind 10 Sekunden.

Falls Sie ein manuelles Upgrade durchführen müssen, hier sind die Schritte:
<br>[Empfohlen] Aktualisieren Sie die Talisman-Binärdatei und die Hook-Skripte auf die neueste Version:```bash
curl --silent  https://raw.githubusercontent.com/thoughtworks/talisman/main/global_install_scripts/update_talisman.bash > /tmp/update_talisman.bash && /bin/bash /tmp/update_talisman.bash

Aktualisieren Sie nur die Talisman-Binärdatei durch Ausführung von:```bash curl --silent https://raw.githubusercontent.com/thoughtworks/talisman/main/global_install_scripts/update_talisman.bash > /tmp/update_talisman.bash && /bin/bash /tmp/update_talisman.bash talisman-binary

root@kitploit:~
# Talisman in Aktion

Nach erfolgreicher Installation führt Talisman automatisch Prüfungen auf offensichtliche Geheimnisse vor jedem Commit oder Push (wie bei der Installation ausgewählt) durch. Falls Sicherheitslücken erkannt werden, zeigt talisman einen detaillierten Fehlerbericht an:```bash
$ git push
Talisman Report:
+-----------------+-------------------------------------------------------------------------------+
|     FILE        |                                    ERRORS                                     |
+-----------------+-------------------------------------------------------------------------------+
| danger.pem      | The file name "danger.pem"                                                    |
|                 | failed checks against the                                                     |
|                 | pattern ^.+\.pem$                                                             |
+-----------------+-------------------------------------------------------------------------------+
| danger.pem      | Expected file to not contain hex encoded texts such as:                       |
|                 | awsSecretKey=c64e8c79aacf5ddb02f1274db2d973f363f4f553ab1692d8d203b4cc09692f79 |
+-----------------+-------------------------------------------------------------------------------+

Im obigen Beispiel wurde die Datei danger.pem aus den folgenden Gründen als Sicherheitsverstoß gekennzeichnet:

  • Der Dateiname entspricht einem der vorkonfigurierten Muster.
  • Die Datei enthält einen awsSecretKey, der von Talisman gescannt und gekennzeichnet wird.

Wenn Sie Talisman als Pre-Commit-Hook installiert haben, wird nur der Diff innerhalb jedes Commits gescannt. Das bedeutet, dass nur Fehler für die Teile der Datei gemeldet werden, die geändert wurden.

Falls Sie Talisman als Pre-Push-Hook installiert haben, wird die gesamte Datei gescannt, in der Änderungen vorgenommen werden. Wie oben erwähnt, wird empfohlen, Talisman als Pre-Commit-Hook zu verwenden.

Validierungen

Die folgenden Detektoren werden gegen die Änderungssätze ausgeführt, um Geheimnisse/sensible Informationen zu erkennen:

  • Kodierte Werte - scannt nach kodierten Geheimnissen in Base64, Hex usw.
  • Dateiinhalt - scannt nach verdächtigen Inhalten in Dateien, die potenzielle Geheimnisse oder Passwörter sein könnten
  • Dateigröße - scannt nach großen Dateien, die möglicherweise Schlüssel oder andere Geheimnisse enthalten
  • Entropie - scannt nach Inhalten mit hoher Entropie, die wahrscheinlich Passwörter enthalten
  • Kreditkartennummern - scannt nach Inhalten, die potenzielle Kreditkartennummern sein könnten
  • Dateinamen - scannt nach Dateinamen und Erweiterungen, die darauf hindeuten könnten, dass sie potenziell Geheimnisse enthalten, wie Schlüssel, Anmeldeinformationen usw.

Ignorieren von Dateien

Wenn Sie wirklich sicher sind, dass Sie diese Datei pushen möchten, können Sie sie in der .talismanrc-Datei im Projektstamm konfigurieren. Die erforderlichen Inhalte zum Ignorieren Ihrer fehlgeschlagenen Dateien werden von Talisman direkt nach dem Talisman-Fehlerbericht auf der Konsole ausgegeben:```bash If you are absolutely sure that you want to ignore the above files from talisman detectors, consider pasting the following format in .talismanrc file in the project root fileignoreconfig:

  • filename: danger.pem checksum: cf97abd34cebe895417eb4d97fbd7374aa138dcb65b1fe7f6b6cc1238aaf4d48 ignore_detectors: []
root@kitploit:~
Wenn Sie dies in die `.talismanrc`-Datei einfügen, wird Talisman die Datei `danger.pem` ignorieren, solange die Prüfsumme mit dem im Feld `checksum` angegebenen Wert übereinstimmt.

### Interaktiver Modus

**Nur für Nicht-Windows-Benutzer verfügbar**

Wenn es zu mühsam ist, bei jedem Fehler von Talisman den Inhalt in die `.talismanrc` zu kopieren, können Sie den interaktiven Modus aktivieren und Talisman dabei helfen lassen, Ihnen das Hinzufügen der zu ignorierenden Dateien vorzuschlagen.
Befolgen Sie einfach die einfachen Schritte:
1. Öffnen Sie Ihr Bash-Profil, in dem Ihre Umgebungsvariablen gesetzt sind (.bashrc, .bash_profile, .profile oder ein anderer Ort).
2. Sie sehen die Variable `TALISMAN_INTERACTIVE` unter `# >>> talisman >>>`.
3. Falls noch nicht auf true gesetzt, fügen Sie `export TALISMAN_INTERACTIVE=true` hinzu.
4. Vergessen Sie nicht, die Datei zu speichern und zu sourcen.

Das war's! Jedes Mal, wenn der Talisman-Hook während des Pre-Push/Pre-Commit einen Fehler findet, folgen Sie einfach den Anweisungen, die Talisman vorschlägt.
Seien Sie vorsichtig, keine Datei zu ignorieren, ohne den Inhalt zu überprüfen. Sie müssen sicher sein, dass kein Geheimnis preisgegeben wird.

### Bestimmte Detektoren ignorieren

Nachfolgend finden Sie eine detaillierte Beschreibung der verschiedenen Felder, die in der `.talismanrc`-Datei konfiguriert werden können:

* `filename` : Dieses Feld sollte den vollqualifizierten Dateinamen enthalten.
* `checksum` : Dieses Feld sollte immer den von Talisman in der oben angezeigten Meldung angegebenen Wert enthalten. Wenn an der Datei eine Änderung vorgenommen wird, führt dies zu einer neuen Prüfsumme und Talisman scannt die Datei erneut auf potenzielle Sicherheitsbedrohungen.
* `ignore_detectors` : Dieses Feld deaktiviert bestimmte Detektoren für eine bestimmte Datei.
Wenn beispielsweise der Dateiname `init-env.sh` eine Warnung auslöst, können Sie nur diese Warnung deaktivieren,
während Sie weiterhin benachrichtigt werden, wenn andere Dinge schiefgehen (z.B. Dateiinhalt):```yaml
fileignoreconfig:
- filename: init-env.sh
  checksum: cf97abd34cebe895417eb4d97fbd7374aa138dcb65b1fe7f6b6cc1238aaf4d48
  ignore_detectors: [filename, filesize]

Hinweis: Hier werden sowohl der Dateinamen- als auch der Dateigrößen-Detektor für init-env.sh ignoriert, aber der Dateiinhalts-Detektor wird weiterhin für init-env.sh aktiv.

At the moment, you can ignore

  • filecontent
  • filename
  • filesize

Ignorieren bestimmter Schlüsselwörter

Da einige Ihrer Dateien Schlüsselwörter wie key oder pass enthalten könnten, die nicht unbedingt mit Geheimnissen zusammenhängen, möchten Sie diese Schlüsselwörter möglicherweise ignorieren, um die Anzahl der Fehlalarme zu reduzieren. Dies kann durch die Verwendung des Feldes allowed_patterns auf Datei- und/oder Repository-Ebene erreicht werden:```yaml fileignoreconfig:

  • filename: test allowed_patterns: [key] allowed_patterns:
  • keyword
  • pass
root@kitploit:~
Im vorherigen Beispiel ist `key` in der `test`-Datei erlaubt, `keyword` und `pass` sind auf Repository-Ebene erlaubt.

Das `allowed_patterns`-Feld unterstützt auch Golang reguläre Ausdrücke. Hier ist ein einfaches Codebeispiel, bei dem Golang RegExp nützlich sein kann:```sh
export AWS_ACCESS_KEY_ID = AKIAIO5FODNN7EXAMPLE
export AWS_ACCESS_KEY_ID=$(vault read -field=value path/to/aws-access-key-id)

Standardmäßig wird Talisman für beide Zeilen warnen. In der zweiten Zeile extrahieren wir die AWS Access Key ID aus Hashicorp Vault, was das Geheimnis nicht dem Code preisgibt. Wenn diese Art der Verwendung in Ihrem Code üblich ist, möchten Sie Talisman möglicherweise mitteilen, dass es nicht warnen soll, wenn Sie einen Vault verwenden. Dies kann mit einer Konfiguration wie folgt erreicht werden:```yaml allowed_patterns:

  • export\ AWS[ \w]KEY[ \w]=.vault\ read.
root@kitploit:~
### Ignorieren mehrerer Dateien desselben Typs (mit Platzhaltern)

Sie können wählen, alle Dateien eines bestimmten Typs zu ignorieren, weil Sie wissen, dass sie immer sicher sind, und nicht möchten, dass Talisman sie scannt.

Schritte:

1. Formatieren Sie ein Platzhaltermuster für die Dateien, die Sie ignorieren möchten. Zum Beispiel `*.lock`
2. Verwenden Sie den [checksum calculator](#checksum-calculator), um das Muster einzugeben und eine kollektive Prüfsumme zu erhalten. Zum Beispiel `talisman --checksum="*.lock" `
3. Kopieren Sie den auf der Konsole ausgegebenen fileconfig-Block in die Datei .talismanrc.

Wenn eine der Dateien geändert wird, scannt Talisman die Dateien erneut, es sei denn, Sie berechnen die neue Prüfsumme neu und ersetzen sie in der .talismanrc-Datei.

### Ignorieren von Dateien durch Angabe des Sprachbereichs

Sie können wählen, Dateien zu ignorieren, indem Sie den Sprachbereich für Ihr Projekt in Ihrer talismanrc angeben.```yaml
scopeconfig:
  - scope: go
  - scope: node
  - scope: images
  - scope: php
  - scope: python

Talisman ist so konfiguriert, dass es bestimmte Dateien basierend auf dem angegebenen Scope ignoriert. Zum Beispiel verhindert die Angabe des node-Scopes in der scopeconfig, dass Talisman Dateien wie yarn.lock oder package-lock.json scannt.

Sie können mehrere Scopes angeben.

Derzeit unterstützt .talismanrc nur scopeconfig für go, node, php und images. Weitere Scopes werden in Kürze hinzugefügt.

Benutzerdefinierte Suchmuster

Sie können benutzerdefinierte Regex-Muster angeben, nach denen im aktuellen Repository gesucht werden soll.```yaml custom_patterns:

  • pattern1
  • pattern2
root@kitploit:~
<br/><i>
**Hinweis**: Die Verwendung von .talismanignore ist veraltet. Die Datei .talismanrc ersetzt es, weil:

* .talismanrc hat ein viel lesbareres YAML-Format
* Es bringt auch sicherere Praktiken bei jeder Änderung einer Datei mit einem potenziell sensiblen Wert, der überprüft werden muss.
* Das neue Format bringt auch die Erweiterbarkeit, um neue nutzbare Funktionalitäten einzuführen. Haltet Ausschau nach weiteren Neuerungen.</i>

## Schwellenwert für den Schweregrad konfigurieren

Jede Validierung ist mit einem Schweregrad verknüpft
1. Niedrig
2. Mittel
3. Hoch

Sie können einen Schwellenwert in Ihrer .talismanrc-Datei angeben:```yaml
threshold: medium

Dies wird alle Probleme mit mittlerem Schweregrad und höher melden (Potenzielle Risiken unterhalb des Schwellenwerts werden in den Warnungen gemeldet)

  1. Eine Liste aller Risiken mit ihrem Schweregrad finden Sie in dieser Konfigurationsdatei.
  2. Standardmäßig ist der Schwellenwert auf niedrig gesetzt.
  3. Alle benutzerdefinierten Suchmuster, die Sie hinzufügen, werden als hoher Schweregrad betrachtet.

Konfigurieren benutzerdefinierter Schweregrade

Sie können die Sicherheitsstufen der von Talisman bereitgestellten Detektoren in der .talismanrc-Datei anpassen:```yaml custom_severities:

  • detector: Base64Content severity: medium
  • detector: HexContent severity: low
root@kitploit:~
Durch die Verwendung benutzerdefinierter Schweregrade und eines Schweregrad-Schwellenwerts kann Talisman so konfiguriert werden, dass es nur auf das basierend auf Ihrem Kontext Wichtige alarmiert. Dies kann nützlich sein, um die Anzahl der Fehlalarme zu reduzieren.

## Talisman als CLI-Dienstprogramm

Wenn Sie `talisman` in der Befehlszeile ausführen, können Sie alle Parameteroptionen anzeigen, die Sie übergeben können.```
  -c, --checksum string          checksum calculator calculates checksum and suggests .talismanrc format
  -d, --debug                    enable debug mode (warning: very verbose)
  -g, --githook string           either pre-push or pre-commit (default "pre-push")
      --ignoreHistory            scanner scans all files on current head, will not scan through git commit history
  -i, --interactive              interactively update talismanrc (only makes sense with -g/--githook)
  -p, --pattern string           pattern (glob-like) of files to scan (ignores githooks)
  -r, --reportdirectory string   directory where the scan reports will be stored
  -s, --scan                     scanner scans the git commit history for potential secrets
  -w, --scanWithHtml             generate html report (**Make sure you have installed talisman_html_report to use this, as mentioned in Readme**)
  -v, --version                  show current version of talisman

Interaktiver Modus

Wenn Sie regelmäßig zu viele Dateien haben, die vom Talisman-Hook markiert werden und von denen Sie wissen, dass sie problemlos eingecheckt werden können, können Sie diese Funktion nutzen, um Talisman den Vorgang für Sie zu erleichtern. Der interaktive Modus ermöglicht es Talisman, Sie direkt aufzufordern, Dateien, die Sie ignorieren möchten, über die Eingabeaufforderung direkt zur .talismanrc hinzuzufügen. Um diese Funktion zu aktivieren, müssen Sie die Variable TALISMAN_INTERACTIVE in Ihrer Bash-Datei auf true setzen.

Sie können Talisman im interaktiven Modus auf eine der folgenden zwei Arten aufrufen:

  1. Öffnen Sie Ihre Bash-Datei und fügen Sie hinzuexport TALISMAN_INTERACTIVE=true Don't forget to source the bash file for the variable to take effect!

  2. Alternatively, you can also invoke the interactive mode by using the CLI utility (for using pre-commit hook) talisman -i -g pre-commit Note: Wenn Sie die Versionskontrollintegration einer IDE für Git-Operationen verwenden, funktioniert diese Funktion nicht. Sie können den vorgeschlagenen Dateinamen und die Prüfsumme weiterhin manuell in die Datei .talismanrc eingeben.

Git-Verlauf-Scanner

Sie können Talisman jetzt über die CLI ausführen und potenziell zu Ihren CI/CD-Pipelines hinzufügen, um den Git-Verlauf Ihres Repositorys nach sensiblen Inhalten zu durchsuchen. Dies schließt auch das Scannen der in der .talismanrc-Datei aufgeführten Dateien ein.

Schritte:

  1. Wechseln Sie in das zu scannende Git-Verzeichnis cd <directory to scan>
  2. Führen Sie den Scan-Befehl aus talisman --scan
  • Das Ausführen dieses Befehls erstellt einen Ordner namens talisman_reports im Stammverzeichnis des aktuellen Verzeichnisses und speichert die Berichtsdateien dort.
  • Sie können den Speicherort für Berichte auch angeben, indem Sie einen zusätzlichen Parameter --reportdirectory oder --rd angeben.
    Zum Beispiel: talisman --scan --reportdirectory=/Users/username/Desktop

Sie können die anderen Optionen wie oben angegeben zum Scannen verwenden.

Talisman unterstützt derzeit das Ignorieren von Dateien beim Scannen nicht.

Prüfsummenrechner

Der Talisman-Prüfsummenrechner gibt ein YAML-Format aus, das Sie direkt in die .talismanrc-Datei kopieren und einfügen können, um bestimmte Dateiformate von Talisman-Detektoren zu ignorieren.

Führen Sie zum Ausführen der Prüfsumme bitte "cd" in das Stammverzeichnis Ihres Repositorys aus und führen Sie den folgenden Befehl aus:

Zum Beispiel: talisman --checksum="*.pem *.txt"

  1. Dieser Befehl findet alle .pem-Dateien im Repository, berechnet die kollektive Prüfsumme aller dieser Dateien und gibt ein YAML-Format für .talismanrc aus. Auf die gleiche Weise verarbeitet er die .txt-Dateien.
  2. Mehrere Dateinamen/-muster können durch Leerzeichen getrennt angegeben werden.

Beispielausgabe:

root@kitploit:~
.talismanrc format for given file names / patterns
fileignoreconfig:
- filename: '*.pem'
  checksum: f731b26be086fd2647c40801630e2219ef207cb1aacc02f9bf0559a75c0855a4
  ignore_detectors: []
- filename: '*.txt'
  checksum: d9e9e94868d7de5b2a0706b8d38d0f79730839e0eb4de4e9a2a5a014c7c43f35
  ignore_detectors: []

Hinweis: Der Prüfsummenrechner berücksichtigt die bereitgestellten Dateien (staged files) bei der Berechnung der kollektiven Prüfsumme der Dateien.

Talisman HTML-Berichterstattung

Unterstützt durch

Das Talisman-CLI-Tool talisman bietet auch die Möglichkeit, detaillierte und teilbare HTML-Berichte zu erstellen. Nachdem Sie Talisman installiert haben, folgen Sie den Schritten in talisman-html-report, um das Berichtspaket im .talisman-Ordner zu installieren. Führen Sie zum Erstellen des HTML-Berichts Folgendes aus:

  • talisman --scanWithHtml

Dies scannt das Repository und erstellt einen Ordner talisman_html_report im gescannten Repository. Wir müssen einen HTTP-Server innerhalb dieses Repositorys starten, um auf den Bericht zuzugreifen. Im Folgenden wird ein empfohlener Ansatz zum Starten eines HTTP-Servers vorgestellt:

  • python -m SimpleHTTPServer <port> (z.B. 8000)

Sie können jetzt auf den Bericht zugreifen, indem Sie zu folgender Adresse navigieren:

http://localhost:8000

Beispiel-Screenshots

  • Willkommen
  • Zusammenfassung
  • Detaillierter Bericht
  • Fehlerbericht

Hinweis: Sie müssen keinen Server starten, wenn Sie Talisman in CI oder einer anderen gehosteten Umgebung ausführen

Deinstallation

Der Deinstallationsprozess hängt davon ab, wie Sie Talisman installiert haben. Sie könnten sich entschieden haben, es als globale Hook-Vorlage oder in einem einzelnen Repository zu installieren.

Bitte befolgen Sie die untenstehenden Schritte, je nachdem, welche Option Sie bei der Installation gewählt haben.

Deinstallation von einer globalen Hook-Vorlage

Führen Sie den folgenden Befehl in Ihrem Terminal aus, um Talisman global von Ihrem Rechner zu deinstallieren.

Für Pre-Commit-Hook:``` bash -c "$(curl --silent https://raw.githubusercontent.com/thoughtworks/talisman/main/global_install_scripts/uninstall.bash)"

root@kitploit:~
Für pre-push hook:```
bash -c "$(curl --silent https://raw.githubusercontent.com/thoughtworks/talisman/main/global_install_scripts/uninstall.bash)" -- pre-push

Dies wird

  1. Sie nach dem Basisverzeichnis aller Ihrer Repos fragen, alle darin enthaltenen Git-Repos finden und Talisman-Hooks entfernen
  2. Talisman-Hook aus .git-template entfernen
  3. Talisman aus dem zentralen Installationsort ($HOME/.talisman/bin) entfernen.

Sie müssen TALISMAN_HOME manuell aus Ihren Umgebungsvariablen entfernen

Deinstallation aus einem einzelnen Repository

Als Sie Talisman installiert haben, muss es während der Installation einen Pre-Commit- oder Pre-Push-Hook (je nach Auswahl) in Ihrem Repository erstellt haben.

Sie können den Hook manuell entfernen, indem Sie den Talisman Pre-Commit- oder Pre-Push-Hook aus dem .git/hooks-Ordner im Repository löschen.

Beiträge zu Talisman

Um zu Talisman beizutragen, werfen Sie einen Blick auf unseren Beitragsleitfaden.

Tool herunterladen