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.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
push-guard — Lokaler Git-Pre-Push-Hook und Dateisystem-Scanner, der wahrscheinliche Secret-Leaks erkennt, übereinstimmende Werte redigiert und Pushes ohne Telemetrie oder Netzwerkzugriff blockiert. | Kitploit
Tools/GitHubGitHub/dragon-lady/push-guard
DefensivwerkzeugeStatische AnalyseScripting & AutomatisierungKonfigurationsprüfungDevSecOpsSecret-ErkennungLieferkettensicherheit
GitHubdragon-lady/push-guard

push-guard

Lokaler Git-Pre-Push-Hook und Dateisystem-Scanner, der wahrscheinliche Secret-Leaks erkennt, übereinstimmende Werte redigiert und Pushes ohne Telemetrie oder Netzwerkzugriff blockiert.

Repository anzeigen
22vor 8 TagenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Push Guard

Push Guard ist ein lokaler Git-pre-push-Schutz gegen wahrscheinliche Secret-Leaks.

Er scannt den Inhalt, der gepusht wird, meldet wahrscheinliche Secret-Muster, redigiert alle übereinstimmenden Werte und beendet sich mit einem von null verschiedenen Exit-Code, sodass Git den Push blockiert.

Entwickelt und gepflegt von Dragon Lady - github.com/Dragon-Lady - X: @answerislove2

Upgrade von 0.4.2: Breaking Change

Version 0.4.3 entfernt die Inline-Ausnahme # push-guard: ignore. Ein Upgrade kann Pushes und Pakete blockieren, die zuvor durchgelaufen sind. Vor dem Upgrade gemeinsam genutzter Hooks oder CI-Installationen sollte jedes konsumierende Repository geprüft werden:

git grep -n -i 'push-guard:[[:space:]]*ignore'

Prüfe jeden Treffer. Entferne Secrets und private Materialien; keines von beiden kann ausgenommen werden. Für legitime Workflow-/IOC-Fixtures füge nur den geprüften, exakten Repository- Pfad und die exakten workflow.*-Regel-IDs zu .push-guard-allow hinzu. Inline-Marker sind jetzt gewöhnlicher Text, einschließlich derer in Tests oder Dokumentation. Konvertiere nicht automatisch alle Markerzeilen in Ausnahmen. Prüfe jede neue Ausnahme als sicherheitsrelevante Änderung.

Der Pre-Push-Hook liest Ausnahmen aus dem vom Ziel beworbenen Basis- Commit, niemals aus der Arbeitskopie oder Kandidaten-Commits. Eine neue oder erweiterte Ausnahme muss separat geprüft und festgelegt werden, bevor sie einen späteren Push ausnehmen kann. Bei einem Multi-Ref-Push gelten nur Ausnahmen, die von allen Ziel- Basen geteilt werden. Neue Refs ohne beworbene Basis erhalten keine Ausnahmen.

scan liest die Richtlinie ebenfalls aus --base. Wenn du einen größeren historischen Bereich gegen einen separat geprüften Richtlinien-Snapshot auditierst, übergib explizit --allow-list-ref <reviewed-40-character-commit-SHA>. Dies ist eine explizite Vertrauens- entscheidung des Aufrufers; ersetze niemals die Richtlinie des ungeprüften Kandidaten. scan-package verwendet weiterhin die vom Aufrufer gewählte --repo-Richtlinie, außerhalb des Artefakts. Gib ein geprüftes Richtlinienverzeichnis an, wenn du nicht vertrauenswürdige Builds scannst.

Führe push-guard scan --base <trusted-base> --head HEAD und push-guard scan-package dist/* der neuen Version gegen die tatsächlichen ausgehenden Änderungen und gebauten Artefakte aus, bevor du den installierten Hook aktualisierst. Archiv-Member-Pfade können von Quellpfaden abweichen; prüfe diese exakten Pfade separat. Behalte die bestehende installierte Version bei, bis die betroffenen Repositories diese Migration abgeschlossen haben.

Website

Öffentliche Landingpage: push-guard.netlify.app

Die statische Projekt-Landingpage liegt in docs/ und hat keine Laufzeit- abhängigkeiten, externen Skripte, Analysen oder Remote-Assets. Sie kann mit GitHub Pages aus dem docs/-Verzeichnis bereitgestellt oder mit der enthaltenen netlify.toml auf Netlify deployt werden (kein Build-Befehl; Publish-Verzeichnis docs).

Das aktuelle Netlify-Projekt verwendet manuelle Deploys. Ein Git-Push allein aktualisiert die öffentliche Seite nicht: Veröffentliche die Inhalte von docs/ nach jedem Release und prüfe die Live-Version, das Social-Image und die Response-Header. Die Datei docs/_headers behält die Sicherheits-Header bei, wenn du dieses Verzeichnis direkt deployst.

Haltung

  • Lokale, schreibgeschützte Inspektion von Zielen. Keine Telemetrie.
  • Standardmäßig kein Netzwerk. Nur Sweeps explizite --send-Option aktiviert aggregierte Alarme an konfigurierte Ziele; der Git-Guard bleibt offline.
  • Keine Paketinstallationen oder Mutation von Zieldateien während Scans.
  • Keine übereinstimmenden Secret-Werte oder Quellzeilen werden ausgegeben, protokolliert oder gespeichert.
  • Der Git-Modus verwendet den git-Subprozess nur zum Lesen von Commit-Diffs, gepushten Trees, konfigurierten Hook-Pfaden und Ignore-Metadaten. Der bestehende Hook-Einstiegspunkt bleibt erhalten, mit gehärteter Inspektion von Rohinhalten und ausgehender Historie.
  • Sweep liest ausgewählte Dateien außerhalb von Git, innerhalb von $HOME, und führt keine Kind- prozesse aus, einschließlich Git.
  • Standardmäßig werden keine Scan-Ergebnisse geschrieben. Sweep erstellt einen zufälligen 32-Byte-HMAC-Schlüssel unter $XDG_STATE_HOME/push-guard-sweep/fp.key (Standard ~/.local/state/push-guard-sweep/fp.key) für stabile, nicht erratbare Fingerabdrücke. Dieser Schlüssel ist die ausdrückliche Ausnahme von „standardmäßig keine Daten gespeichert“. Er enthält keine gescannten Daten. Das State-Verzeichnis hat 0700 und Dateien werden mit 0600 erstellt.
  • Explizite Sweep-Dateien --baseline und --output enthalten redigierte lokale Metadaten; --send speichert schlüsselbasierte Deduplizierungsbelege, niemals Alarm-Anmeldedaten oder Secrets.
  • Keine Behauptung, dass ein Repository oder eine Maschine sauber ist. Treffer sind Prüfhinweise, kein Beweis dafür, dass Anmeldedaten weiterhin gültig sind.

Das Blockieren eines Pushs ist Git's Antwort auf den Hinweis. Push Guard bleibt schreibgeschützt und verändert keine Dateien. Ein Override ist mit git push --no-verify verfügbar, wenn bekannt ist, dass der übereinstimmende Wert kein Secret ist.

Sweep: Secrets auf der Festplatte

Der Befehl push-guard sweep und der Alias push-guard-sweep bieten dieselbe lokale Inspektion. Sie erfordern das vorhandene Python 3.11 oder neuer des Pakets und haben keine zusätzlichen Laufzeitabhängigkeiten. Entwicklungstests verwenden das optionale test-Extra (python -m pip install ".[test]", dann PYTHONPATH=src python -m pytest -q vom Repository-Stamm aus). Die Version 0.4.0 fügt Sweep hinzu. CI installiert dieses Entwicklungs-Extra und führt die gesamte pytest-Suite aus, einschließlich der Legacy- unittest-Fälle. Release-Tests laufen in einem separaten Job; dieser Job stellt dem Publishing niemals Distributionsartefakte bereit. Der Artifact-Build-Job installiert keine Testabhängigkeiten. Sweep installiert oder aktiviert keinen Scheduler.

push-guard sweep --list-targets
push-guard sweep --roots ~/projects --class stray
push-guard-sweep --format json --output ~/sweep-report.json
push-guard-sweep --baseline ~/sweep-baseline.json
push-guard-sweep report --format html --output ~/sweep-report.html
push-guard-sweep print-timer --interval 7d

Jeder Scan berücksichtigt außerdem die unten aufgeführten Standardpfade für Verlauf, Dotfiles, Konfiguration und Logs. --roots ändert die Suchwurzeln für .env* und benutzerdefinierte Includes; verwenden Sie --exclude, um die anderen Standardsätze einzugrenzen. Wiederholtes --include GLOB fügt Dateien innerhalb der bestehenden begrenzten Suchen hinzu, und wiederholtes --exclude GLOB entfernt Pfade. Globs stimmen mit Basisnamen, HOME-relativen Pfaden oder absoluten Pfaden überein. Excludes haben Vorrang; Includes können Sicherheitsausschlüsse oder Tiefenbegrenzungen nicht außer Kraft setzen. ~ in CLI-Pfadargumenten wird expandiert. Gescannte Pfade müssen innerhalb von $HOME bleiben.

Tool herunterladen