Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
dbslice — Extraia uma fatia do seu banco de dados de produção para reproduzir bugs localmente. Aponte dbslice para um registro, ele segue chaves estrangeiras e fornece um subconjunto completo e importável. | Kitploit
Ferramentas/GitHubGitHub/nabroleonx/dbslice
Utilitários de Propósito GeralAuditoria de ConfiguraçãoRecuperação de DadosDevSecOpsPrivacidadeSegurança de Banco de Dados
GitHubnabroleonx/dbslice

dbslice

Extraia uma fatia do seu banco de dados de produção para reproduzir bugs localmente. Aponte dbslice para um registro, ele segue chaves estrangeiras e fornece um subconjunto completo e importável.

Ver Repositório
14163há 2 mesesRevisado pelo Kitploit
Site

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

logotipo dbslice

dbslice

PyPI version License: MIT Python 3.10+

Extraia subconjuntos mínimos e referencialmente intactos de bases de dados para desenvolvimento local e depuração.

O Problema

Copiar uma base de dados de produção inteira para a sua máquina é inviável. Mas reproduzir um bug muitas vezes exige ter exatamente os dados que o causaram. O dbslice resolve isso extraindo apenas os registos de que precisa, seguindo as relações de chave estrangeira para garantir a integridade referencial.

dbslice — semente para subconjunto

Início Rápido

root@kitploit:~
# Instalação global
uv tool install dbslice   # ou: pip install dbslice

# Extraia uma encomenda e todos os registos relacionados
dbslice extract postgres://localhost/myapp --seed "orders.id=12345" > subset.sql

# Importe para a base de dados local
psql -d localdb < subset.sql

Funcionalidades

  • Início sem configuração — Analisa o esquema automaticamente, sem necessidade de ficheiro de modelo de dados
  • Comando único — Extraia subconjuntos completos de dados com uma única invocação da CLI
  • Seguro por omissão — Detecta e anonimiza automaticamente campos sensíveis (emails, telefones, NIFs, etc.)
  • Perfis de conformidade — Perfis pré-definidos para GDPR, HIPAA Safe Harbor e PCI-DSS com análise de PII em duas fases
  • Interface de mapeamento de colunas — Interface local no navegador para mapear visualmente colunas, aplicar perfis de conformidade e exportar configuração
  • Múltiplos formatos de saída — SQL, JSON e CSV
  • Streaming — Extração eficiente em termos de memória para grandes conjuntos de dados (100K+ linhas)
  • Chaves estrangeiras virtuais — Suporte para GenericForeignKeys do Django e relações implícitas via configuração
  • Ficheiros de configuração — Configuração baseada em YAML para extrações repetíveis
  • Validação — Verifica a integridade referencial dos dados extraídos

Suporte de Bases de Dados

Base de DadosEstado
PostgreSQLTotalmente suportado
MySQLPlaneado (ainda não implementado)
SQLitePlaneado (ainda não implementado)

Instalação

root@kitploit:~
# Instalar com uv (recomendado)
uv add dbslice

# Experimentar sem instalar
uvx dbslice --help

# Ou com pip
pip install dbslice

Utilização

Extração Básica

root@kitploit:~
# Extrair por chave primária
dbslice extract postgres://user:pass@host:5432/db --seed "orders.id=12345"

# Extrair com cláusula WHERE
dbslice extract postgres://localhost/db --seed "orders:status='failed' AND created_at > '2024-01-01'"

# Várias sementes
dbslice extract postgres://localhost/db \
  --seed "orders.id=100" \
  --seed "orders.id=101"

Controlar a Travessia

root@kitploit:~
# Limitar profundidade (padrão: 3)
dbslice extract postgres://... --seed "orders.id=1" --depth 2

# Direção: up (apenas pais), down (apenas filhos), both (padrão)
dbslice extract postgres://... --seed "orders.id=1" --direction up

Anonimização

root@kitploit:~
# Anonimizar automaticamente campos sensíveis detetados
dbslice extract postgres://... --seed "users.id=1" --anonymize

# Remover campos adicionais
dbslice extract postgres://... --seed "users.id=1" --anonymize --redact "audit_logs.ip_address"

Interface de Mapeamento de Colunas

Mapeie visualmente colunas, aplique perfis de conformidade e gere uma configuração pronta a usar — tudo a partir de uma interface local no navegador.

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

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

# Também funciona com uvx (sem instalação)
uvx dbslice map postgres://localhost/myapp
Mapear colunas para regras de anonimizaçãoGerar e exportar configuração
Mapeamento de colunasConfiguração gerada

Executa em 127.0.0.1:9473 com um token de sessão único — nenhum dado sai da sua máquina. Aplique perfis GDPR, HIPAA ou PCI-DSS com um clique, reveja o que será mascarado e, em seguida, descarregue o YAML.

Perfis de Conformidade

root@kitploit:~
# HIPAA Safe Harbor — mascara automaticamente os 18 tipos de identificadores
dbslice extract postgres://... --seed "patients.id=1" --compliance hipaa --compliance-strict

# Vários perfis + manifesto de auditoria
dbslice extract postgres://... --seed "users.id=1" --compliance gdpr --compliance pci-dss -f subset.sql
# Produz subset.sql + subset.manifest.json

Formatos de Saída

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

# Fixtures 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/

Chaves Estrangeiras Virtuais

Para relações não definidas no esquema da base de dados (GenericForeignKeys do Django, relações implícitas):

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 genérica para encomendas via ContentType"

  - source_table: audit_log
    source_columns: [user_id]
    target_table: users
    description: "FK implícita sem constrangimento na BD"
root@kitploit:~
dbslice extract --config dbslice.yaml --seed "users.id=1"

Inspecionar Esquema

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

Ficheiro de Configuração

root@kitploit:~
# Gerar configuração a partir da base de dados
dbslice init postgres://localhost/myapp --out-file dbslice.yaml

# Usar configuração
dbslice extract --config dbslice.yaml --seed "orders.id=12345"

Como Funciona

  1. Analisar — Lê o esquema da base de dados para descobrir tabelas e relações de chave estrangeira
  2. Percorrer — A partir do(s) registo(s) semente, percorre as relações FK via BFS
  3. Extrair — Obtém todos os registos identificados
  4. Ordenar — Ordena topologicamente as tabelas para a ordem correta de INSERT
  5. Gerar saída — Produz SQL/JSON/CSV com escape adequado

Comparação

FuncionalidadedbsliceJailerGreenmaskslice-db
LinguagemPythonJavaGoRuby
ConfiguraçãoZero-configRequer ficheiro de modeloConfiguração necessáriaYAML manual
Tempo de setupSegundosHorasMédioMédio
AnonimizaçãoIntegrada (Faker)Baseada em pluginsTransformadores avançadosNão disponível
Perfis de conformidadeGDPR, HIPAA, PCI-DSSNenhumNenhumNenhum
Interface de mapeamentoIntegrada (local)NenhumNenhumNenhum
Análise de valores PIIDuas fases (pré/pós-máscara)NenhumNenhumNenhum
SubconjuntoTravessia FKTravessia FKLimitadoTravessia FK
Formatos de saídaSQL, JSON, CSVSQL, XML, CSVSQLApenas SQL
Tratamento de ciclosAutomáticoConfiguração manualN/AManual
StreamingIntegradoConfigurávelIntegradoNão disponível
ManutençãoAtivaAtivaAtivaSem manutenção

O dbslice é a opção leve e sem configuração em Python: instale e extraia em menos de um minuto.

Desenvolvimento

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

Licença

MIT

Baixar ferramenta