Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
dbslice — استخرج شريحة من قاعدة بيانات الإنتاج الخاصة بك لإعادة إنتاج الأخطاء محليًا. وجّه dbslice إلى سجل معين، حيث يتبع المفاتيح الخارجية ويعطيك مجموعة فرعية كاملة قابلة للاستيراد | Kitploit
أدوات/GitHubGitHub/nabroleonx/dbslice
أدوات عامةتدقيق التكويناستعادة البياناتDevSecOpsالخصوصيةأمن قواعد البيانات
GitHubnabroleonx/dbslice

dbslice

استخرج شريحة من قاعدة بيانات الإنتاج الخاصة بك لإعادة إنتاج الأخطاء محليًا. وجّه dbslice إلى سجل معين، حيث يتبع المفاتيح الخارجية ويعطيك مجموعة فرعية كاملة قابلة للاستيراد

عرض المستودع
14163منذ 2 أشهرتمت المراجعة من قبل Kitploit
الموقع الإلكتروني

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

شعار dbslice

dbslice

إصدار PyPI الترخيص: MIT Python 3.10+

استخراج مجموعات فرعية دنيا من قواعد البيانات مع الحفاظ على التكامل المرجعي، لأغراض التطوير المحلي وتصحيح الأخطاء.

المشكلة

نسخ قاعدة بيانات إنتاج كاملة على جهازك أمر غير عملي. لكن إعادة إنتاج خطأ ما يتطلب غالبًا وجود البيانات الدقيقة التي تسببت فيه. dbslice يحل هذه المشكلة باستخراج السجلات التي تحتاجها فقط، متبعًا علاقات المفاتيح الخارجية لضمان التكامل المرجعي.

dbslice — من البذرة إلى المجموعة الفرعية

بداية سريعة

root@kitploit:~
# تثبيت عام
uv tool install dbslice   # أو: pip install dbslice

# استخراج طلب وجميع السجلات المرتبطة به
dbslice extract postgres://localhost/myapp --seed "orders.id=12345" > subset.sql

# استيراد إلى قاعدة البيانات المحلية
psql -d localdb < subset.sql

الميزات

  • بدون إعداد مسبق — يكشف تلقائيًا هيكل قاعدة البيانات، ولا يتطلب ملف نموذج بيانات
  • أمر واحد — استخراج مجموعات فرعية كاملة من البيانات بأمر CLI واحد
  • آمن افتراضيًا — يكتشف تلقائيًا ويخفي الحقول الحساسة (البريد الإلكتروني، الهواتف، أرقام الضمان الاجتماعي، إلخ.)
  • ملفات الامتثال — ملفات امتثال مدمجة لـ GDPR و HIPAA Safe Harbor و PCI-DSS مع فحص PII على مرحلتين
  • واجهة تعيين الأعمدة — واجهة مستخدم محلية في المتصفح لتعيين الأعمدة بصريًا، وتطبيق ملفات الامتثال، وتصدير الإعدادات
  • تنسيقات إخراج متعددة — SQL و JSON و CSV
  • التدفق — استخراج فعال للذاكرة لمجموعات البيانات الكبيرة (أكثر من 100 ألف صف)
  • المفاتيح الخارجية الافتراضية — دعم لـ Django GenericForeignKeys والعلاقات الضمنية عبر الإعدادات
  • ملفات الإعدادات — إعدادات قائمة على YAML لعمليات استخراج قابلة للتكرار
  • التحقق — التحقق من التكامل المرجعي للبيانات المستخرجة

دعم قواعد البيانات

قاعدة البياناتالحالة
PostgreSQLمدعومة بالكامل
MySQLمخطط لها (لم تنفذ بعد)
SQLiteمخطط لها (لم تنفذ بعد)

التثبيت

root@kitploit:~
# التثبيت باستخدام uv (موصى به)
uv add dbslice

# التجربة دون تثبيت
uvx dbslice --help

# أو باستخدام pip
pip install dbslice

الاستخدام

الاستخراج الأساسي

root@kitploit:~
# استخراج بواسطة المفتاح الأساسي
dbslice extract postgres://user:pass@host:5432/db --seed "orders.id=12345"

# استخراج بشرط WHERE
dbslice extract postgres://localhost/db --seed "orders:status='failed' AND created_at > '2024-01-01'"

# بذور متعددة
dbslice extract postgres://localhost/db \
  --seed "orders.id=100" \
  --seed "orders.id=101"

التحكم في التنقل

root@kitploit:~
# تحديد العمق (الافتراضي: 3)
dbslice extract postgres://... --seed "orders.id=1" --depth 2

# الاتجاه: up (الأصول فقط)، down (الفروع فقط)، both (الكل - الافتراضي)
dbslice extract postgres://... --seed "orders.id=1" --direction up

إخفاء البيانات

root@kitploit:~
# إخفاء تلقائي للحقول الحساسة المكتشفة
dbslice extract postgres://... --seed "users.id=1" --anonymize

# إخفاء حقول إضافية
dbslice extract postgres://... --seed "users.id=1" --anonymize --redact "audit_logs.ip_address"

واجهة تعيين الأعمدة

قم بتعيين الأعمدة بصريًا، وتطبيق ملفات الامتثال، وإنشاء إعدادات جاهزة للاستخدام — كل ذلك من واجهة متصفح محلي.

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

# منفذ مخصص
dbslice map postgres://localhost/myapp --port 8888

# كما يعمل مع uvx (بدون تثبيت)
uvx dbslice map postgres://localhost/myapp
تعيين الأعمدة إلى قواعد الإخفاءإنشاء وتصدير الإعدادات
تعيين الأعمدةالإعدادات المُنشأة

يعمل على 127.0.0.1:9473 مع رمز جلسة لمرة واحدة — لا تترك البيانات جهازك. طبق ملفات الامتثال لـ GDPR أو HIPAA أو PCI-DSS بنقرة واحدة، وراجع ما سيتم إخفاؤه، ثم قم بتنزيل YAML.

ملفات الامتثال

root@kitploit:~
# HIPAA Safe Harbor — يقوم تلقائيًا بإخفاء جميع أنواع المعرفات الـ 18
dbslice extract postgres://... --seed "patients.id=1" --compliance hipaa --compliance-strict

# ملفات امتثال متعددة + بيان التدقيق
dbslice extract postgres://... --seed "users.id=1" --compliance gdpr --compliance pci-dss -f subset.sql
# ينتج عنه subset.sql + subset.manifest.json

تنسيقات الإخراج

root@kitploit:~
# SQL (افتراضي)
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/

المفاتيح الخارجية الافتراضية

للعلاقات غير المُعرفة في هيكل قاعدة البيانات (Django GenericForeignKeys، العلاقات الضمنية):

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

virtual_foreign_keys:
  - source_table: notifications
    source_columns: [object_id]
    target_table: orders
    description: "مفتاح خارجي عام للطلبات عبر ContentType"

  - source_table: audit_log
    source_columns: [user_id]
    target_table: users
    description: "مفتاح خارجي ضمني بدون قيد في قاعدة البيانات"
root@kitploit:~
dbslice extract --config dbslice.yaml --seed "users.id=1"

استعراض الهيكل

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

ملف الإعدادات

root@kitploit:~
# إنشاء إعدادات من قاعدة البيانات
dbslice init postgres://localhost/myapp --out-file dbslice.yaml

# استخدام الإعدادات
dbslice extract --config dbslice.yaml --seed "orders.id=12345"

كيف يعمل

  1. الكشف — يقرأ هيكل قاعدة البيانات لاكتشاف الجداول وعلاقات المفاتيح الخارجية
  2. التنقل — بدءًا من السجلات البذرة، يتبع علاقات المفاتيح الخارجية عبر BFS
  3. الاستخراج — يجلب جميع السجلات المُحددة
  4. الفرز — يفرز الجداول طوبولوجيًا لضمان ترتيب INSERT الصحيح
  5. الإخراج — يُنشئ SQL/JSON/CSV مع التهريب المناسب

المقارنة

الميزةdbsliceJailerGreenmaskslice-db
اللغةPythonJavaGoRuby
الإعدادبدون إعداديتطلب ملف نموذجيتطلب إعداداتYAML يدوي
وقت الإعدادثوانٍساعاتمتوسطمتوسط
الإخفاءمدمج (Faker)قائم على الإضافاتمحولات متقدمةغير متوفر
ملفات الامتثالGDPR, HIPAA, PCI-DSSلا يوجدلا يوجدلا يوجد
واجهة تعيين الأعمدةمدمجة (محلية)لا يوجدلا يوجدلا يوجد
فحص قيم PIIمرحلتان (قبل/بعد الإخفاء)لا يوجدلا يوجدلا يوجد
التقسيم الفرعيتنقل عبر المفاتيح الخارجيةتنقل عبر المفاتيح الخارجيةمحدودتنقل عبر المفاتيح الخارجية
تنسيقات الإخراجSQL, JSON, CSVSQL, XML, CSVSQLSQL فقط
معالجة الدوراتتلقائيإعداد يدويغير متوفريدوي
التدفقمدمجقابل للتكوينمدمجغير متوفر
الصيانةنشطنشطنشطغير مدعوم

dbslice هو الخيار الخفيف بدون إعداد بلغة Python: قم بالتثبيت والاستخراج في أقل من دقيقة.

التطوير

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

الترخيص

MIT

تنزيل الأداة