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
dbslice — Extrahiere einen Ausschnitt deiner Produktionsdatenbank, um Fehler lokal zu reproduzieren. Richte dbslice auf einen Datensatz, es folgt Fremdschlüsseln und liefert dir einen vollständigen, importierbaren Teilausschnitt. | Kitploit
Tools/GitHubGitHub/nabroleonx/dbslice
Allgemeine DienstprogrammeKonfigurationsprüfungDatenwiederherstellungDevSecOpsPrivatsphäreDatenbanksicherheit
GitHubnabroleonx/dbslice

dbslice

Extrahiere einen Ausschnitt deiner Produktionsdatenbank, um Fehler lokal zu reproduzieren. Richte dbslice auf einen Datensatz, es folgt Fremdschlüsseln und liefert dir einen vollständigen, importierbaren Teilausschnitt.

Repository anzeigen
141626vor 3 MonatenVon Kitploit geprüft
Webseite

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

dbslice-Logo

dbslice

PyPI version License: MIT Python 3.10+

Extrahiere minimale, referenziell intakte Datenbank-Teilmengen für lokale Entwicklung und Fehlersuche.

Das Problem

Die gesamte Produktionsdatenbank auf deinen Rechner zu kopieren ist unmöglich. Aber einen Fehler zu reproduzieren erfordert oft genau die Daten, die ihn verursacht haben. dbslice löst dies, indem nur die benötigten Datensätze extrahiert werden, wobei Fremdschlüsselbeziehungen verfolgt werden, um die referenzielle Integrität zu gewährleisten.

dbslice — von Seed zur Teilmenge

Schnellstart

# Global installieren
uv tool install dbslice   # oder: pip install dbslice

# Eine Bestellung und alle zugehörigen Datensätze extrahieren
dbslice extract postgres://localhost/myapp --seed "orders.id=12345" > subset.sql

# In lokale Datenbank importieren
psql -d localdb < subset.sql

Funktionen

  • Null-Konfigurations-Start – Schema wird automatisch erkannt, keine Datenmodelldatei erforderlich
  • Ein einziger Befehl – Extrahiere vollständige Daten-Teilmengen mit einem CLI-Aufruf
  • Standardmäßig sicher – Erkennt und anonymisiert automatisch sensible Felder (E-Mails, Telefonnummern, SSNs usw.)
  • Compliance-Profile – Integrierte GDPR-, HIPAA-Safe-Harbor- und PCI-DSS-Profile mit zweiphasigem PII-Scan
  • Spaltenzuordnungs-UI – Lokale Browser-Oberfläche zur visuellen Zuordnung von Spalten, Anwendung von Compliance-Profilen und Export der Konfiguration
  • Mehrere Ausgabeformate – SQL, JSON und CSV
  • Streaming – Speicherschonende Extraktion für große Datensätze (100K+ Zeilen)
  • Virtuelle Fremdschlüssel – Unterstützung für Django GenericForeignKeys und implizite Beziehungen per Konfiguration
  • Konfigurationsdateien – YAML-basierte Konfiguration für wiederholbare Extraktionen
  • Validierung – Überprüft referenzielle Integrität der extrahierten Daten

Datenbank-Unterstützung

DatenbankStatus
PostgreSQLVoll unterstützt
MySQLGeplant (noch nicht implementiert)
SQLiteGeplant (noch nicht implementiert)

Installation

# Mit uv installieren (empfohlen)
uv add dbslice

# Ohne Installation ausprobieren
uvx dbslice --help

# Oder mit pip
pip install dbslice

Verwendung

Grundlegende Extraktion

# Nach Primärschlüssel extrahieren
dbslice extract postgres://user:pass@host:5432/db --seed "orders.id=12345"

# Mit WHERE-Klausel extrahieren
dbslice extract postgres://localhost/db --seed "orders:status='failed' AND created_at > '2024-01-01'"

# Mehrere Seeds
dbslice extract postgres://localhost/db \
  --seed "orders.id=100" \
  --seed "orders.id=101"

Traversierung steuern

# Tiefe begrenzen (Standard: 3)
dbslice extract postgres://... --seed "orders.id=1" --depth 2

# Richtung: up (nur Eltern), down (nur Kinder), both (Standard)
dbslice extract postgres://... --seed "orders.id=1" --direction up

Anonymisierung

# Erkannte sensible Felder automatisch anonymisieren
dbslice extract postgres://... --seed "users.id=1" --anonymize

# Zusätzliche Felder schwärzen
dbslice extract postgres://... --seed "users.id=1" --anonymize --redact "audit_logs.ip_address"

Spaltenzuordnungs-UI

Ordne Spalten visuell zu, wende Compliance-Profile an und generiere eine einsatzbereite Konfiguration – alles über eine lokale Browser-Oberfläche.

dbslice map postgres://localhost/myapp

# Benutzerdefinierter Port
dbslice map postgres://localhost/myapp --port 8888

# Funktioniert auch mit uvx (keine Installation nötig)
uvx dbslice map postgres://localhost/myapp
Spalten Anonymisierungsregeln zuordnen Konfiguration generieren und exportieren
Spaltenzuordnung Generierte Konfiguration

Läuft auf 127.0.0.1:9473 mit einem einmaligen Session-Token – keine Daten verlassen deinen Rechner. Wende GDPR-, HIPAA- oder PCI-DSS-Profile mit einem Klick an, überprüfe, was maskiert wird, und lade dann das YAML herunter.

Compliance-Profile

# HIPAA Safe Harbor – maskiert automatisch alle 18 Identifikatortypen
dbslice extract postgres://... --seed "patients.id=1" --compliance hipaa --compliance-strict

# Mehrere Profile + Audit-Manifest
dbslice extract postgres://... --seed "users.id=1" --compliance gdpr --compliance pci-dss -f subset.sql
# Erzeugt subset.sql + subset.manifest.json

Ausgabeformate

# SQL (Standard)
dbslice extract postgres://... --seed "orders.id=1" --output sql

# JSON-Fixtures
dbslice extract postgres://... --seed "orders.id=1" --output json --out-file fixtures/

# CSV
dbslice extract postgres://... --seed "orders.id=1" --output csv --out-file data/

Virtuelle Fremdschlüssel

Für Beziehungen, die nicht im Datenbankschema definiert sind (Django GenericForeignKeys, implizite Beziehungen):

# dbslice.yaml
database:
  url: postgres://localhost:5432/myapp

virtual_foreign_keys:
  - source_table: notifications
    source_columns: [object_id]
    target_table: orders
    description: "Generischer FK zu Bestellungen via ContentType"

  - source_table: audit_log
    source_columns: [user_id]
    target_table: users
    description: "Impliziter FK ohne DB-Constraint"
dbslice extract --config dbslice.yaml --seed "users.id=1"

Schema inspizieren

dbslice inspect postgres://localhost/myapp

Konfigurationsdatei

# Konfiguration aus Datenbank generieren
dbslice init postgres://localhost/myapp --out-file dbslice.yaml

# Konfiguration verwenden
dbslice extract --config dbslice.yaml --seed "orders.id=12345"

So funktioniert es

  1. Schema lesen – Liest das Datenbankschema aus, um Tabellen und Fremdschlüsselbeziehungen zu entdecken
  2. Traversieren – Startet von den Seed-Datensätzen und folgt den FK-Beziehungen per BFS
  3. Extrahieren – Ruft alle identifizierten Datensätze ab
  4. Sortieren – Sortiert Tabellen topologisch für korrekte INSERT-Reihenfolge
  5. Ausgeben – Erzeugt SQL/JSON/CSV mit korrektem Escaping

Vergleich

Tool herunterladen