Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
deepsecrets — ماسح أسرار دون اتصال يجمع بين قواعد regex والتحليل الدلالي القائم على lexer ومطابقة القيم المجزأة (hashed) لاكتشاف بيانات الاعتماد المكشوفة في الشيفرة مع إخراج SARIF. | Kitploit
أدوات/GitHubGitHub/ntoskernel/deepsecrets
أدوات دفاعيةالتحليل الثابتماسحات الثغرات الأمنيةتحليل الشفرة الثابت (SAST)تحليل الكودDevSecOpsكشف الأسرارأمن سلسلة التوريد
GitHubntoskernel/deepsecrets

deepsecrets

ماسح أسرار دون اتصال يجمع بين قواعد regex والتحليل الدلالي القائم على lexer ومطابقة القيم المجزأة (hashed) لاكتشاف بيانات الاعتماد المكشوفة في الشيفرة مع إخراج SARIF.

عرض المستودع
184185منذ 25 أيامتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

OWASP DeepSecrets — أداة أفضل لفحص الأسرار

حالة الاختبارات

ما هي؟ مجرد وكيل CLI آخر يهدر الرموز المميزة على واجهة برمجة تطبيقات الذكاء الاصطناعي؟

على الإطلاق لا!

في عصر الضجة المحيطة بنماذج اللغة الكبيرة (LLM)، لا تزال DeepSecrets تعمل بالكامل على جهازك — مما يمنحك نتائج رائعة دون اتصال بالإنترنت، وبأمان، ومجانًا.

إذن لماذا أداة أخرى بعد؟

معظم أدوات الفحص الموجودة لا "تفهم" الكود فعليًا. بدلًا من ذلك، تقوم فقط بتحليل النصوص ولديها تغطية ضعيفة.

تسد DeepSecrets الفجوة بين أدوات الفحص الكلاسيكية القائمة على التعبيرات النمطية (regex) وأدوات SAST التجارية الكاملة. فهي توسّع استراتيجية الفحص الكلاسيكية القائمة على التعبيرات النمطية من خلال الاعتماد بشكل كبير على التحليل الدلالي للكود، واكتشاف المتغيرات الخطرة، وتحليل الإنتروبيا المدرك للسياق. وهذا يعني أن مرشحي الأسرار يكونون دائمًا صحيحين دلاليًا. نحقق فهمًا حقيقيًا للكود عبر أكثر من 500 لغة وتنسيق باستخدام تقنيات التحليل المعجمي (lexing) والتحليل النحوي (parsing).

تقدم DeepSecrets أيضًا طريقة جديدة لاكتشاف بيانات الاعتماد دون أي معرفة مسبقة: محرك HashedSecret. ما عليك سوى تقديم القيم المُجزّأة (hashed) لأسرارك الإنتاجية المعروفة، وستجدها الأداة مكشوفة كنص صريح داخل الكود الخاص بك.

الأداء واختبارات القياس (SecretBench)

تم تقييم DeepSecrets v2.0 (يونيو 2026) مقابل معيار SecretBench وتفوقت على أدوات الفحص التقليدية للنصوص المسطحة:

  • استدعاء بنسبة 93%
  • معدل إيجابيات كاذبة بنسبة 8% ضمن نطاق SecretBench
  • ~9 آلاف اكتشاف إضافي خارج نطاق SecretBench

(يمكنك قراءة القصة الكاملة وراء الكواليس وتفاصيل اختبارات القياس في مقالي على HackerNoon هنا)

دليل البدء السريع

التثبيت

من Github عبر pip

$ pip install git+https://github.com/ntoskernel/deepsecrets.git

من PyPi

$ pip install deepsecrets

يحتاج DeepSecrets إلى Python 3.11 أو أحدث.

الفحص

أسهل طريقة لتشغيل فحص:

$ deepsecrets --target-dir /path/to/your/code --outformat dojo-sarif --outfile report.json

سيؤدي هذا إلى تشغيل فحص على /path/to/your/code باستخدام التكوين الافتراضي:

  • Regex باستخدام مجموعة القواعد المدمجة
  • الفحوصات الدلالية (كشف المتغيرات، فحوصات الإنتروبيا)

سيتم حفظ تقرير بصيغة SARIF (متوافق مع DefectDojo وGitHub Security) في report.json.

الضبط الدقيق

الأمر --help جاهز دائمًا لإرشادك، لكن إليك أهم الخيارات التي يمكنك استخدامها لتخصيص الفحص وفقًا لبيئتك:

  • --regex-rules /path/to/rules.json: قدّم مجموعة قواعد regex مخصصة خاصة بك.
  • --hashed-values /path/to/hashes.json: قدّم قائمة بالأسرار الإنتاجية المعروفة والمُجزّأة مسبقًا للبحث عنها بأمان.
  • --excluded-paths /path/to/exclusions.json: تجاوز المسارات الافتراضية التي يتم تجاهلها أثناء الفحص أو توسيعها.
  • --deep-max-size BYTES: الملفات الأكبر من هذا الحجم (الافتراضي 250,000 بايت) تحصل على التحليل السريع: قواعد regex والبحث عن المتغيرات، دون محلل اللغة المعجمي. الملفات الكبيرة تكون في الغالب مُولّدة أو مُصغّرة، ويكلّف المحلل المعجمي معظم وقت الفحص عليها ونادرًا ما يجد المزيد فيها. القيمة 0 تمنح كل ملف التحليل الكامل.
  • --skip-bundles: تخطَّ ملفات JavaScript المُصغّرة وخرائط المصدر والحزم (*.min.js، *.map، *.bundle.js) بالكامل، إضافةً إلى استثناءات المسارات الأخرى.
  • --confidence-level {all,low,medium,high,very-high}: أدنى مستوى ثقة يتم الإبلاغ عنه (الافتراضي low، أي كل النتائج). تحتفظ medium وhigh وvery-high بمستويات الثقة 3 و6 و9 أو أكثر؛ كما تُبلغ all عن مطابقات regex التي رأى الفاحص أنها ليست أسرارًا (عناصر نائبة، أمثلة)، بمعرّف قاعدة -INFO.
  • --report-diagnostics: أضف كل ملف تم العثور عليه ضمن الهدف إلى تقرير SARIF، مع حالته ووقت الفحص وسبب التخطي وعمق التحليل.
  • --regex-candidate-scoring-rules /path/to/rules.json: قدّم قواعدك الخاصة لتقييم مطابقات regex قبل الإبلاغ عنها. أعطِ الخيار دون قيمة للإبلاغ عن مطابقات regex دون تقييم.
  • --multiprocessing-context {forkserver,spawn,fork}: كيفية بدء عمليات العامل. الافتراضي هو forkserver حيثما توفره المنصة (Linux، macOS): تتشارك عمليات العامل الفاحص المحمّل مسبقًا في عملية خادم. يستخدم Windows الخيار spawn. جميع الخيارات الثلاثة تعطي النتائج نفسها.
  • --disable-masking: أبقِ الأسرار المحتملة غير مُقنّعة في تقرير المخرجات (انظر التحذير أدناه).
  • --ci / --no-ci: تشغيل وضع CI أو إيقافه. يطبع وضع CI سطر تقدم بسيطًا كل 30 ثانية بدلًا من عرض التقدم المباشر. يتم تشغيله تلقائيًا داخل خدمات CI (GitHub Actions، GitLab CI، Jenkins وغيرها) وكلما لم تكن المخرجات طرفية.

تكامل Github Actions

مثال .github/workflows/deepsecrets.yml

name: DeepSecrets Scan
on: [push, pull_request]

jobs:
  scan:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v4

      - name: Set up Python
        uses: actions/setup-python@v5
        with:
          python-version: '3.11'

      - name: Install DeepSecrets
        run: pip install deepsecrets

      - name: Run Scan
        run: deepsecrets --target-dir . --outformat dojo-sarif --outfile report.sarif
        continue-on-error: true

      - name: Upload SARIF report
        uses: github/codeql-action/upload-sarif@v3
        with:
          sarif_file: report.sarif

إخفاء الأسرار في التقارير

اعتبارًا من الإصدار v1.3.0، يتم إخفاء الأسرار المحتملة تلقائيًا داخل التقارير لحماية مخرجات خط أنابيبك (pipeline artifacts). أوقف هذا الخيار عبر العلامة --disable-masking إذا لزم الأمر.

لا يُعطّل الإخفاء منطق إزالة التكرار (deduplication) في المنصات اللاحقة (مثل Github)، لأن قسم partialFingerprints في التقرير يُملأ بشكل صحيح بناءً على البيانات الخام.

[!Caution]
إذا دمجت DeepSecrets في خط أنابيب CI لديك مع تعطيل الإخفاء، فمن المرجح أن تُسرّب أسرارك مجددًا داخل سجلات CI ومخرجاتها.

تقارير SARIF والثقة الديناميكية

تحصل كل نتيجة اكتشاف على درجة ثقة. ومع ذلك، تتعامل منصات الأمان المختلفة مع مقاييس SARIF بطرق مختلفة. ولضمان التوافق عبر لوحات تحكم ASPM الحديثة، تقوم DeepSecrets بما يلي:

  • قواعد فرعية افتراضية (rules[]): تُنشئ قواعد ديناميكيًا حسب فئة الثقة، من S105-LOW مرورًا بـ -MEDIUM و-HIGH وصولًا إلى S105-VERY-HIGH (و-INFO للتطابقات المرفوضة التي يُبلّغ عنها --confidence-level all). وهذا يُجبر GitHub Security وDefectDojo على تعيين تباين الدقة الدلالية بشكل صحيح دون إفساد المحللات الأصلية (native parsers).

  • مستوى نتيجة حتمي: تُعيّن الأداة دائمًا وبشكل صريح level: error في نموذج results[]. ويعمل هذا كخيار احتياطي شامل لخطوط أنابيب CI/CD ومحللات SAST الأقدم، مما يضمن أن الأسرار المكشوفة تُعطّل عمليات البناء أو تحجب طلبات السحب (Pull Requests) بشكل موثوق بغض النظر عن تفسيرات القواعد الفردية.

  • رسائل سياقية: تحقن درجة الثقة الرقمية الخام أصليًا داخل result.message.text ليرى محللو الأمان الدرجة فورًا على لوحات التحكم الخاصة بهم.

بناء مجموعات القواعد

Regex

تقع مجموعة القواعد المدمجة لفحوصات regex في /deepsecrets/rules/regexes.json. لك الحرية في اتباع التنسيق وإنشاء مجموعة قواعد مخصصة.

HashedSecret (الفحص بمعرفة صفرية)

تقع مجموعة القواعد النموذجية للفحوصات المُجزّأة (hashed) في /tests/fixtures/hashed_secrets.json. لك الحرية في اتباع التنسيق وإنشاء مجموعة قواعد مخصصة.

مثال مجموعة قواعد HashedSecret

للبحث عن أسرار إنتاج معروفة دون كشفها كنص صريح داخل مستودعك، قدّم ملف JSON يحتوي على تجزئاتها (hashes):

[
  {
    "name": "KNOWN-PROD-DATABASE-PASSWORD",
    "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
    "length": 12,
    "algorithm": "sha1"
  }
]

شغّله باستخدام --hashed-values /path/to/hashes.json. سيقوم DeepSecrets تلقائيًا بتجزئة مرشّحي السلاسل النصية أثناء مرحلة التحليل المعجمي لمطابقتها.

جهات الاتصال

  • Nikolai Khechumov (@ntoskernel) — المُنشئ والمشرف

الأسئلة الشائعة

تبًا، هل ما زال يعتمد على التعبيرات النمطية (regex)؟

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

تنزيل الأداة