Skip to content
KitploitKITPLOIT
ToolsBlog
Log in
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
DiffCatcher — Ein Rust-CLI-Tool, das rekursiv Git-Repositorys entdeckt, Zustandsänderungen erfasst, Diffs generiert, Code-Elemente mit vollständigen Snippets extrahiert und sicherheitsorientierte Berichte für Code-Review- und Audit-Workflows erstellt. | Kitploit
Tools/GitHubGitHub/teycir/diffcatcher
Statische AnalyseSchwachstellenanalyseCode-AnalyseScripting & AutomatisierungInformationsbeschaffungDevSecOpsDienstprogramme & FrameworksSecret-ErkennungFehlkonfigurationLog-Analyse
GitHub
416vor 6 MonatenNoch nicht geprüft
teycir/diffcatcher

DiffCatcher

Ein Rust-CLI-Tool, das rekursiv Git-Repositorys entdeckt, Zustandsänderungen erfasst, Diffs generiert, Code-Elemente mit vollständigen Snippets extrahiert und sicherheitsorientierte Berichte für Code-Review- und Audit-Workflows erstellt.

Repository anzeigen

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Unterstützung der Entwicklung

Wenn dieses Projekt Ihre Arbeit unterstützt, tragen Sie zur laufenden Wartung und zu neuen Funktionen bei.

ETH-Spenden-Wallet
0x11282eE5726B3370c8B480e321b3B2aA13686582

Ethereum-Spenden-QR-Code

Scannen Sie den QR-Code oder kopieren Sie die obige Wallet-Adresse.

DiffCatcher Logo

Rust License Security

Ein Rust-CLI-Tool, das rekursiv Git-Repositorys findet, Zustandsänderungen erfasst, Diffs erstellt, Code-Elemente mit vollständigen Snippets extrahiert und sicherheitsorientierte Berichte für Code-Review- und Audit-Workflows erzeugt.


🎯 Hauptfunktionen

  • Repository-Erkennung: Rekursives Durchsuchen von Verzeichnissen nach Git-Repos mit konfigurierbaren Filtern
  • Zustandsverfolgung: Erfassung des Zustands vor/nach dem Pull mit Commit-Hashes, Nachrichten und Erkennung von uncommitteten Änderungen
  • Diff-Generierung: Automatische Erstellung von N vs. N‑1 und historischen Diffs mit Dateimanifesten
  • Element-Extraktion: Analyse von Diffs zur Identifizierung von Funktionen, Strukturen, Klassen, Imports u. a. in über 10 Sprachen
  • Code-Snippets: Extraktion vollständiger Vorher/Nachher-Codes mit Grenzerkennung und Kontextfenstern
  • Sicherheits-Tagging: 18 integrierte Sicherheitsmuster (Krypto, Authentifizierung, Geheimnisse, SQL-Injection, XSS usw.)
  • Multi-Format-Berichte: JSON, Markdown, Text und SARIF mit Repo-übergreifender Sicherheitsübersicht
  • Branch-Diff-Modus: Diff zweier beliebiger Referenzen (Branches, Tags, Commits) in einem einzigen Repository – ideal für PR-Reviews
  • Leistung: Parallele Verarbeitung mit Fortschrittsbalken, LRU-Caching und inkrementellem Modus

Warum nicht einfach Bash?

Ein Einzeiler wie ls | while read line; do git -C "$line" diff HEAD~1 HEAD || true; done zeigt nur rohe Diffs. DiffCatcher bietet rekursive Erkennung, Code-Element-Extraktion, Sicherheitsmustererkennung, SARIF-Ausgabe für CI/CD, parallele Verarbeitung und Repo-übergreifende Sicherheits-Aggregation. Siehe den vollständigen Vergleich unten.

📋 Inhaltsverzeichnis

  • Installation
  • Schnellstart
  • Verwendung
    • Grundlegendes Scannen
    • Pull-Modi
    • Extraktionsoptionen
    • Sicherheits-Tagging
    • Konfigurationsdatei
    • Plugin-System
    • Branch-Diff-Modus (PR-Review)
    • SARIF-Ausgabe
    • Fortgeschrittene Funktionen
  • Berichtsstruktur
  • Konfiguration
  • Architektur
  • Tests
  • Dokumentation
  • Mitwirken

🚀 Installation

Aus dem Quellcode

git clone https://github.com/Teycir/DiffCatcher.git
cd DiffCatcher
cargo build --release
./target/release/diffcatcher --help

Voraussetzungen

  • Rust 1.70+
  • Git 2.0+

⚡ Schnellstart

# Alle Repos in einem Verzeichnis scannen (nur fetch, keine Änderungen)
diffcatcher ~/projects

# Updates pullen und Sicherheitsbericht erstellen
diffcatcher ~/projects --pull -o ./report

# Zwei Branches in einem einzelnen Repo difffen (PR-Review-Modus)
diffcatcher ./my-repo --diff main..feature/auth -o ./pr-report

# SARIF-Ausgabe für GitHub Code Scanning erzeugen
diffcatcher ~/projects --summary-format sarif,json -o ./report

# Trockenlauf, um zu sehen, was gescannt würde
diffcatcher ~/projects --dry-run

# Schnelles Scannen mit 8 parallelen Arbeitern
diffcatcher ~/projects -j 8 --quiet

📖 Verwendung

Grundlegendes Scannen

# Standard-Scan (nur fetch)
diffcatcher <ROOT_DIR>

# Benutzerdefiniertes Ausgabeverzeichnis
diffcatcher ~/projects -o ./my-report

# Verschachtelte Repos einbeziehen und Symlinks folgen
diffcatcher ~/projects --nested --follow-symlinks

# Versteckte Verzeichnisse überspringen
diffcatcher ~/projects --skip-hidden

Pull-Modi

# Nur fetch (Standard – keine Arbeitsverzeichnis-Änderungen)
diffcatcher ~/projects

# Änderungen tatsächlich pullen
diffcatcher ~/projects --pull

# Force pull mit stash/pop für schmutzige Repos
diffcatcher ~/projects --pull --force-pull

# Rebase-Strategie verwenden
diffcatcher ~/projects --pull --pull-strategy rebase

# Fetch/Pull komplett überspringen (nur historische Diffs)
diffcatcher ~/projects --no-pull

Extraktionsoptionen

# Element-Extraktion überspringen (nur rohe Diffs)
diffcatcher ~/projects --no-summary-extraction

# Elemente extrahieren, aber Code-Snippets überspringen
diffcatcher ~/projects --no-snippets

# Snippet-Kontext und -Grenzen anpassen
diffcatcher ~/projects --snippet-context 10 --max-snippet-lines 300

# Elemente pro Diff begrenzen
diffcatcher ~/projects --max-elements 1000

Sicherheits-Tagging

# Sicherheits-Tagging überspringen
diffcatcher ~/projects --no-security-tags

# Testdateien in die Sicherheitsanalyse einbeziehen
diffcatcher ~/projects --include-test-security

# Benutzerdefinierte Sicherheitsmuster verwenden
diffcatcher ~/projects --security-tags-file ./custom-patterns.json

Konfigurationsdatei

DiffCatcher kann automatisch eine projektspezifische Konfiguration laden von:

  • <ROOT_DIR>/.diffcatcher.toml (Standard)
  • einer benutzerdefinierten Datei über --config <FILE>
  • deaktiviert mit --no-config

Beispiel:

output = "reports-local"
no_pull = true
history_depth = 2
summary_formats = ["json", "txt"]
no_security_tags = false

[plugins]
security_pattern_files = ["plugins/security-extra.json"]
extractor_files = ["plugins/extractors.json"]

CLI-Flags überschreiben Konfigurationswerte, wenn sie explizit gesetzt sind.

Plugin-System

DiffCatcher unterstützt zwei Plugin-Typen:

  • Sicherheitsmuster-Plugins über --security-plugin-file <FILE> (wiederholbar)
  • Extraktor-Plugins über --extractor-plugin-file <FILE> (wiederholbar)

Das Sicherheitsplugin-Format entspricht dem --security-tags-file JSON (version, mode, tags).

Extraktor-Plugin-Format:

{
  "version": 1,
  "extractors": [
    {
      "name": "policy-rule",
      "kind": "Config",
      "regex": "^policy\\s+([A-Za-z_][A-Za-z0-9_]*)"
    }
  ]
}

Branch-Diff-Modus (PR-Review)

# Zwei Branches in einem einzelnen Repo difffen
diffcatcher ./my-repo --diff main..feature/auth

# Bestimmte Commits difffen
diffcatcher ./my-repo --diff abc123..def456

# Diff mit SARIF-Ausgabe für CI-Integration
diffcatcher ./my-repo --diff origin/main..HEAD --summary-format sarif -o ./pr-report

Das Flag --diff BASE..HEAD überspringt die Repository-Erkennung und Fetch/Pull – es erstellt direkt ein Diff zwischen zwei Referenzen (Branches, Tags oder Commit-SHAs) und führt die vollständige Pipeline aus Extraktion und Sicherheits-Tagging auf dem Ergebnis aus.

SARIF-Ausgabe

# SARIF zusammen mit anderen Formaten erzeugen
diffcatcher ~/projects --summary-format sarif,json,md

# Nur SARIF für CI/CD-Upload
diffcatcher ~/projects --summary-format sarif -o ./report
Tool herunterladen