Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
dbslice — Estrai una fetta del tuo database di produzione per riprodurre bug in locale. Punta dbslice a un record, segue le chiavi esterne e ti fornisce un subset completo e importabile. | Kitploit
Strumenti/GitHubGitHub/nabroleonx/dbslice
Utilità GenericheAudit di ConfigurazioneRecupero DatiDevSecOpsPrivacySicurezza dei Database
GitHubnabroleonx/dbslice

dbslice

Estrai una fetta del tuo database di produzione per riprodurre bug in locale. Punta dbslice a un record, segue le chiavi esterne e ti fornisce un subset completo e importabile.

Vedi Repository
141632 mesi faRevisionato da Kitploit
Sito web

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

dbslice logo

dbslice

PyPI version License: MIT Python 3.10+

Estrai sottoinsiemi minimi e referenzialmente integri del database per lo sviluppo locale e il debug.

Il Problema

Copiare l'intero database di produzione sulla propria macchina non è fattibile. Ma riprodurre un bug spesso richiede di avere esattamente i dati che lo hanno causato. dbslice risolve questo problema estraendo solo i record di cui hai bisogno, seguendo le relazioni di chiave esterna per garantire l'integrità referenziale.

dbslice — seed to subset

Avvio Veloce

root@kitploit:~
# Installazione globale
uv tool install dbslice   # oppure: pip install dbslice

# Estrai un ordine e tutti i record correlati
dbslice extract postgres://localhost/myapp --seed "orders.id=12345" > subset.sql

# Importa nel database locale
psql -d localdb < subset.sql

Funzionalità

  • Avvio senza configurazione -- Rileva automaticamente lo schema, nessun file modello richiesto
  • Comando singolo -- Estrai sottoinsiemi di dati completi con una sola invocazione CLI
  • Sicuro per impostazione predefinita -- Rileva e anonimizza automaticamente i campi sensibili (email, telefoni, codici fiscali, ecc.)
  • Profili di conformità -- Profili GDPR, HIPAA Safe Harbor e PCI-DSS integrati con scansione PII in due fasi
  • Interfaccia di mappatura colonne -- UI locale del browser per mappare visivamente le colonne, applicare profili di conformità ed esportare la configurazione
  • Formati di output multipli -- SQL, JSON e CSV
  • Streaming -- Estrazione efficiente in memoria per grandi set di dati (100K+ righe)
  • Chiavi esterne virtuali -- Supporto per Django GenericForeignKeys e relazioni implicite tramite configurazione
  • File di configurazione -- Configurazione basata su YAML per estrazioni ripetibili
  • Validazione -- Controlla l'integrità referenziale dei dati estratti

Supporto Database

DatabaseStato
PostgreSQLSupporto completo
MySQLPianificato (non ancora implementato)
SQLitePianificato (non ancora implementato)

Installazione

root@kitploit:~
# Installazione con uv (consigliato)
uv add dbslice

# Prova senza installare
uvx dbslice --help

# Oppure con pip
pip install dbslice

Utilizzo

Estrazione Base

root@kitploit:~
# Estrai per chiave primaria
dbslice extract postgres://user:pass@host:5432/db --seed "orders.id=12345"

# Estrai con clausola WHERE
dbslice extract postgres://localhost/db --seed "orders:status='failed' AND created_at > '2024-01-01'"

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

Controllo della Traversal

root@kitploit:~
# Limita profondità (predefinito: 3)
dbslice extract postgres://... --seed "orders.id=1" --depth 2

# Direzione: up (solo genitori), down (solo figli), both (predefinito)
dbslice extract postgres://... --seed "orders.id=1" --direction up

Anonimizzazione

root@kitploit:~
# Anonimizza automaticamente i campi sensibili rilevati
dbslice extract postgres://... --seed "users.id=1" --anonymize

# Oscura campi aggiuntivi
dbslice extract postgres://... --seed "users.id=1" --anonymize --redact "audit_logs.ip_address"

Interfaccia di Mappatura Colonne

Mappa visivamente le colonne, applica profili di conformità e genera una configurazione pronta all'uso, il tutto da un'interfaccia browser locale.

root@kitploit:~
dbslice map postgres://localhost/myapp

# Porta personalizzata
dbslice map postgres://localhost/myapp --port 8888

# Funziona anche con uvx (senza installazione)
uvx dbslice map postgres://localhost/myapp
Mappa le colonne alle regole di anonimizzazioneGenera ed esporta la configurazione
Column mappingGenerated config

Esegue su 127.0.0.1:9473 con un token di sessione monouso — nessun dato lascia la tua macchina. Applica profili GDPR, HIPAA o PCI-DSS con un clic, rivedi cosa viene mascherato, poi scarica il YAML.

Profili di Conformità

root@kitploit:~
# HIPAA Safe Harbor — maschera automaticamente tutti i 18 tipi di identificatori
dbslice extract postgres://... --seed "patients.id=1" --compliance hipaa --compliance-strict

# Profili multipli + manifest di audit
dbslice extract postgres://... --seed "users.id=1" --compliance gdpr --compliance pci-dss -f subset.sql
# Produce subset.sql + subset.manifest.json

Formati di Output

root@kitploit:~
# SQL (predefinito)
dbslice extract postgres://... --seed "orders.id=1" --output sql

# Fixture JSON
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/

Chiavi Esterne Virtuali

Per relazioni non definite nello schema del database (Django GenericForeignKeys, relazioni implicite):

root@kitploit:~
# dbslice.yaml
database:
  url: postgres://localhost:5432/myapp

virtual_foreign_keys:
  - source_table: notifications
    source_columns: [object_id]
    target_table: orders
    description: "FK generica verso orders tramite ContentType"

  - source_table: audit_log
    source_columns: [user_id]
    target_table: users
    description: "FK implicita senza vincolo DB"
root@kitploit:~
dbslice extract --config dbslice.yaml --seed "users.id=1"

Ispeziona Schema

root@kitploit:~
dbslice inspect postgres://localhost/myapp

File di Configurazione

root@kitploit:~
# Genera configurazione dal database
dbslice init postgres://localhost/myapp --out-file dbslice.yaml

# Utilizza configurazione
dbslice extract --config dbslice.yaml --seed "orders.id=12345"

Come Funziona

  1. Introspect -- Legge lo schema del database per scoprire tabelle e relazioni di chiave esterna
  2. Traverse -- A partire dal/i record seme, segue le relazioni FK tramite BFS
  3. Extract -- Recupera tutti i record identificati
  4. Sort -- Ordina topologicamente le tabelle per un corretto ordine INSERT
  5. Output -- Genera SQL/JSON/CSV con l'escape appropriato

Confronto

CaratteristicadbsliceJailerGreenmaskslice-db
LinguaggioPythonJavaGoRuby
ConfigurazioneZero-configRichiede file modelloConfig richiestaYAML manuale
Tempo di setupSecondiOreMedioMedio
AnonimizzazioneIntegrata (Faker)Basata su pluginTransformer avanzatiNon disponibile
Profili di conformitàGDPR, HIPAA, PCI-DSSNessunoNessunoNessuno
Interfaccia di mappatura colonneIntegrata (locale)NessunaNessunaNessuna
Scansione valori PIIDue fasi (pre/post mascheramento)NessunaNessunaNessuna
SubsettingTraversal FKTraversal FKLimitatoTraversal FK
Formati di outputSQL, JSON, CSVSQL, XML, CSVSQLSolo SQL
Gestione cicliAutomaticaConfig manualeN/AManuale
StreamingIntegratoConfigurabileIntegratoNon disponibile
ManutenzioneAttivaAttivaAttivaNon mantenuto

dbslice è l'opzione Python leggera e senza configurazione: installa ed estrai in meno di un minuto.

Sviluppo

root@kitploit:~
git clone https://github.com/nabroleonx/dbslice.git
cd dbslice
uv sync --dev
uv run pytest

Licenza

MIT

Scarica lo strumento