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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
detect-secrets — طريقة صديقة للمؤسسات لكشف ومنع الأسرار في الكود. | Kitploit
أدوات/GitHubGitHub/yelp/detect-secrets
التحليل الثابتتحليل الكودDevSecOpsكشف الأسرارالأفضل في كشف الأسرار #3
GitHubyelp/detect-secrets

detect-secrets

طريقة صديقة للمؤسسات لكشف ومنع الأسرار في الكود.

عرض المستودع
4.6k56471منذ 6 أشهرتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

Build Status PyPI version Homebrew PRs Welcome AMF

detect-secrets

عن

detect-secrets هي وحدة مسماة بشكل مناسب لـ (مفاجأة، مفاجأة) كشف الأسرار داخل قاعدة الشيفرات البرمجية.

ومع ذلك، على عكس الحزم الأخرى المشابهة التي تركز فقط على إيجاد الأسرار، تم تصميم هذه الحزمة مع وضع العميل المؤسسي في الاعتبار: توفير وسيلة متوافقة مع الإصدارات السابقة ومنهجية لـ:

  1. منع الأسرار الجديدة من الدخول إلى قاعدة الشيفرات البرمجية،
  2. اكتشاف ما إذا تم تجاوز هذه الموانع بشكل صريح، و
  3. توفير قائمة مراجعة للأسرار التي يجب تدويرها والانتقال إلى تخزين أكثر أمانًا.

بهذه الطريقة، يمكنك إنشاء فصل الاهتمامات: قبول أنه قد تكون هناك حاليًا أسرار مختبئة في مستودعك الكبير (هذا ما نسميه خط الأساس)، ولكن منع هذه المشكلة من التفاقم، دون التعامل مع الجهد الضخم المحتمل لنقل الأسرار الموجودة بعيدًا.

يقوم بذلك عن طريق تشغيل مخرجات الفروقات الدورية مقابل تعبيرات regex المصممة بشكل استكشافي، لتحديد ما إذا كان أي سر جديد قد تم ارتكابه. بهذه الطريقة، يتجنب العبء الناجم عن التنقيب في كل تاريخ git، وكذلك الحاجة إلى مسح المستودع بأكمله في كل مرة.

للاطلاع على التغييرات الأخيرة، يرجى مراجعة CHANGELOG.md.

إذا كنت تتطلع إلى المساهمة، يرجى مراجعة CONTRIBUTING.md.

للحصول على وثائق أكثر تفصيلاً، تحقق من الوثائق الأخرى لدينا.

أمثلة

بداية سريعة:

قم بإنشاء خط أساس للأسرار المحتملة الموجودة حاليًا في مستودع git الخاص بك.```bash $ detect-secrets scan > .secrets.baseline

أو، لتشغيله من مجلد مختلف:```bash
$ detect-secrets -C /path/to/directory scan > /path/to/directory/.secrets.baseline

فحص الملفات غير المتتبعة بواسطة git:```bash $ detect-secrets scan test_data/ --all-files > .secrets.baseline

### إضافة أسرار جديدة إلى خط الأساس:

سيؤدي ذلك إلى إعادة مسح قاعدة الشيفرات الخاصة بك، و:

1. تحديث/ترقية خط الأساس الخاص بك ليكون متوافقًا مع أحدث إصدار،
2. إضافة أي أسرار جديدة يجدها إلى خط الأساس الخاص بك،
3. إزالة أي أسرار لم تعد موجودة في قاعدة الشيفرات الخاصة بك

سيؤدي ذلك أيضًا إلى الحفاظ على أي أسرار قمت بتوصيفها.```bash
$ detect-secrets scan --baseline .secrets.baseline

بالنسبة للخطوط الأساسية الأقدم من الإصدار 0.9، قم فقط بإعادة إنشائها.

التنبيه عن الأسرار المضافة حديثًا:

مسح الملفات المرحّلة فقط:```bash $ git diff --staged --name-only -z | xargs -0 detect-secrets-hook --baseline .secrets.baseline

**مسح جميع الملفات المتعقبة:**```bash
$ git ls-files -z | xargs -0 detect-secrets-hook --baseline .secrets.baseline

عرض جميع الإضافات المُمكّنة:```bash

$ detect-secrets scan --list-all-plugins ArtifactoryDetector AWSKeyDetector AzureStorageKeyDetector BasicAuthDetector CloudantDetector DiscordBotTokenDetector GitHubTokenDetector GitLabTokenDetector Base64HighEntropyString HexHighEntropyString IbmCloudIamDetector IbmCosHmacDetector IPPublicDetector JwtTokenDetector KeywordDetector MailchimpDetector NpmDetector OpenAIDetector PrivateKeyDetector PypiTokenDetector SendGridDetector SlackDetector SoftlayerDetector SquareOAuthDetector StripeDetector TelegramBotTokenDetector TwilioKeyDetector

### تعطيل الإضافات:```bash
$ detect-secrets scan --disable-plugin KeywordDetector --disable-plugin AWSKeyDetector

إذا كنت تريد تشغيل إضافة معينة فقط، يمكنك القيام بما يلي:```bash $ detect-secrets scan --list-all-plugins |
grep -v 'BasicAuthDetector' |
sed "s#^#--disable-plugin #g" |
xargs detect-secrets scan test_data

### تدقيق خط الأساس:

هذه خطوة اختيارية لتسمية النتائج في خط الأساس الخاص بك. يمكن استخدامها لتضييق قائمة الأسرار التي يجب ترحيلها، أو لتكوين الإضافات بشكل أفضل لتحسين نسبة الإشارة إلى الضوضاء.```bash
$ detect-secrets audit .secrets.baseline

الاستخدام في نصوص بايثون الأخرى

الاستخدام الأساسي:```python from detect_secrets import SecretsCollection from detect_secrets.settings import default_settings

secrets = SecretsCollection() with default_settings(): secrets.scan_file('test_data/config.ini')

import json print(json.dumps(secrets.json(), indent=2))

**تكوين أكثر تقدماً:**```python
from detect_secrets import SecretsCollection
from detect_secrets.settings import transient_settings

secrets = SecretsCollection()
with transient_settings({
    # Only run scans with only these plugins.
    # This format is the same as the one that is saved in the generated baseline.
    'plugins_used': [
        # Example of configuring a built-in plugin
        {
            'name': 'Base64HighEntropyString',
            'limit': 5.0,
        },

        # Example of using a custom plugin
        {
            'name': 'HippoDetector',
            'path': 'file:///Users/aaronloo/Documents/github/detect-secrets/testing/plugins.py',
        },
    ],

    # We can also specify whichever additional filters we want.
    # This is an example of using the function `is_identified_by_ML_model` within the
    # local file `./private-filters/example.py`.
    'filters_used': [
        {
            'path': 'file://private-filters/example.py::is_identified_by_ML_model',
        },
    ]
}) as settings:
    # If we want to make any further adjustments to the created settings object (e.g.
    # disabling default filters), we can do so as such.
    settings.disable_filters(
        'detect_secrets.filters.heuristic.is_prefixed_with_dollar_sign',
        'detect_secrets.filters.heuristic.is_likely_id_string',
    )

    secrets.scan_file('test_data/config.ini')

التثبيت```bash

$ pip install detect-secrets ✨🍰✨

قم بالتثبيت عبر [brew](https://brew.sh/):```bash
$ brew install detect-secrets

الاستخدام

يأتي detect-secrets مع ثلاث أدوات مختلفة، وغالبًا ما يكون هناك ارتباك حول أي منها يجب استخدامه. استخدم قائمة المراجعة المفيدة هذه لمساعدتك في اتخاذ القرار:

  1. هل تريد إضافة أسرار إلى خط الأساس الخاص بك؟ إذا كان الأمر كذلك، استخدم detect-secrets scan.
  2. هل تريد التنبيه إلى أسرار جديدة غير موجودة في خط الأساس؟ إذا كان الأمر كذلك، استخدم detect-secrets-hook.
  3. هل تقوم بتحليل خط الأساس نفسه؟ إذا كان الأمر كذلك، استخدم detect-secrets audit.

إضافة الأسرار إلى خط الأساس```

$ detect-secrets scan --help usage: detect-secrets scan [-h] [--string [STRING]] [--only-allowlisted] [--all-files] [--baseline FILENAME] [--force-use-all-plugins] [--slim] [--list-all-plugins] [-p PLUGIN] [--base64-limit [BASE64_LIMIT]] [--hex-limit [HEX_LIMIT]] [--disable-plugin DISABLE_PLUGIN] [-n | --only-verified] [--exclude-lines EXCLUDE_LINES] [--exclude-files EXCLUDE_FILES] [--exclude-secrets EXCLUDE_SECRETS] [--word-list WORD_LIST_FILE] [-f FILTER] [--disable-filter DISABLE_FILTER] [path [path ...]]

Scans a repository for secrets in code. The generated output is compatible with detect-secrets-hook --baseline.

تنزيل الأداة