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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
أدوات/GitHubGitHub/rxb06/credactor
التحليل الثابتماسحات الثغرات الأمنيةتحليل الكودDevSecOpsكشف الأسرارأمن سلسلة التوريد
GitHubrxb06/credactor

credactor

مسح. تنقيح. الالتزام نظيف.

عرض المستودع
827منذ 12 أياملم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

PyPI CI License

Credactor

اكتشف السر. أصلحه. التزم بنظافة الكود.

ماسحات الأسرار بارعة في إطلاق الإنذار، لكنها لا تقدم الكثير من المساعدة في إخماده. تمنحك قائمة بالبيانات السرية المسربة وتترك لك مهمة التنظيف. Credactor يغلق الحلقة: يجد السر المضمّن ويعيد كتابته في مكانه، فينتقل التسريب من الاكتشاف إلى الإصلاح بأمر واحد.

Credactor: scan, redact, commit clean إبقاء بيانات الاعتماد خارج الكود المصدري ممارسة أمنية أساسية، وليست اختيارية. يجعل Credactor الحفاظ على هذا الأساس ميسوراً، على جهازك قبل الالتزام أو في CI قبل الدمج. شغّله بمفرده، أو إلى جانب الماسحات التي تثق بها بالفعل.
# Credactor finds this:
db_password = "h8Tq2vKp9mRz4Wd"

# By default it rewrites the secret as a sentinel that fails loudly at runtime:
db_password = "REDACTED_BY_CREDACTOR"

# With --replace-with env, it writes a reference that reads from the environment:
db_password = os.environ["DB_PASSWORD"]

إعادة الكتابة تعدّل الملفات في شجرة العمل الخاصة بك. إذا كان السر قد تم الالتزام به بالفعل، فقم بتدوير المفتاح وتنظيف السجل أيضاً (على سبيل المثال، باستخدام git filter-repo). إعادة كتابة ملف ليست بديلاً عن إبطال بيانات اعتماد مسربة.


لماذا Credactor

  • إعادة كتابة، وليس مجرد اكتشاف. معظم الماسحات تتوقف عند الاكتشاف. يستبدل Credactor السر في مكانه: علامة REDACTED_BY_CREDACTOR صارخة تفشل عند التشغيل افتراضياً، أو مرجع متغير بيئة واعٍ باللغة (Python، JavaScript/TypeScript، Go، Java/Kotlin، Ruby، PHP، وshell) مثل os.environ["KEY"]. الاستبدال كود صالح. إذا لم يكن الملف يتضمن بالفعل الاستيراد المطابق (على سبيل المثال import os)، فأضفه.
  • آمن افتراضياً. كتابات ذرية، نسخ احتياطية تلقائية .bak، حواجز حدود الروابط الرمزية وأذونات الملفات، وإخفاء كامل للسر في كل المخرجات. إذا تعذّر كتابة نسخة احتياطية آمنة، يتخطى Credactor الملف بدلاً من إعادة كتابته على نحو أعمى، وتعطّل أثناء الكتابة يترك الأصل سليماً.
  • صفر تبعيات وقت التشغيل. مكتبة Python 3.11+ القياسية الخالصة، بالإضافة إلى إضافة اختيارية للترميزات غير UTF-8.
  • مصمم لخط الأنابيب. مخرجات SARIF لـ GitHub Code Scanning، وبوابة --ci للقراءة فقط برموز خروج دقيقة، وخطاف pre-commit، واستيعاب تقارير Gitleaks وTruffleHog أو Betterleaks. اكتشف بالماسح الذي تشغّله بالفعل، وعالج بـ Credactor.

التثبيت

pip install credactor

يتطلب Python 3.11+. لا تبعيات أخرى. يعمل على Linux وmacOS و Windows (مختبر في CI على Linux وWindows).

على macOS وLinux يمكنك تثبيته عبر Homebrew بدلاً من ذلك:

brew install rxb06/tap/credactor

تُثبّت الصيغة في بيئة افتراضية خاصة بها وتتضمن الإضافة الاختيارية [encoding]، لذا يكتشف تثبيت Homebrew أيضاً الأسرار في الملفات غير UTF-8. أما pip install credactor العادي فيستبعد تلك الإضافة؛ أضفها بـ pip install 'credactor[encoding]' إذا أردت نفس التغطية.

من المصدر:

git clone https://github.com/rxb06/credactor.git
cd credactor
pip install -e .

يعمل credactor بعد ذلك من أي دليل.

البدء السريع

شغّل --dry-run أولاً وراجع النتائج قبل إعادة الكتابة. النتائج الإيجابية الكاذبة ممكنة، وفي ظل --fix-all تُعاد كتابة النتيجة الإيجابية الكاذبة. كتم القيم المعروفة بأنها آمنة باستخدام # credactor:ignore أو مدخلة في .credactorignore.

credactor --dry-run .                 # scan, change nothing
credactor .                           # scan, then redact interactively (y/n per finding)
credactor --fix-all .                 # redact everything after one confirmation
credactor --fix-all --yes .           # redact non-interactively (CI / scripts)
credactor --ci .                      # read-only gate: exit 1 on findings
credactor --replace-with env .        # redact to env-var references instead of the sentinel

خطاف pre-commit

الخطاف يبوّب المحتوى المُجهّز فقط، لذا لا يُعاد الإبلاغ عن سر تم الالتزام به بالفعل. استخدم credactor --scan-history . لفحص ما هو موجود بالفعل في المستودع.

# .pre-commit-config.yaml
repos:
  - repo: https://github.com/rxb06/credactor
    rev: v2.7.4   # pin to the latest release tag
    hooks:
      - id: credactor

GitHub Action

- uses: rxb06/[email protected]

يمرّر الإجراء دائماً --ci، لذا يبلّغ ويبوّب لكنه لا يعيد كتابة النسخة المستخرجة أبداً. النتائج تُفشل الخطوة؛ اضبط fail-on-findings: false للإبلاغ دون تبوير. الخطأ يُفشل الخطوة في كلتا الحالتين.

ارفع إلى Code Scanning بدلاً من الفشل عند وجود نتائج:

- uses: rxb06/[email protected]
  with:
    format: sarif
    upload-sarif: true
    fail-on-findings: false

تحتاج المهمة إلى permissions: security-events: write للرفع. راجع دليل تكامل CI لكل المدخلات، بما في ذلك استيعاب تقارير Gitleaks وTruffleHog وBetterleaks.

الاكتشاف

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

الفئةأمثلةالخطورة
مفاتيح مزوّدي السحابةAWS (AKIA…)، GCP (AIza…)، Stripe (sk_live_…)، Slack (xoxb-…)حرجة
رموز المنصاتGitHub (ghp_، github_pat_)، GitLab (glpat-)، npm (npm_)، PyPI (pypi-)حرجة
المفاتيح الخاصةكتل PEM (-----BEGIN … PRIVATE KEY-----)حرجة
JWTsرموز eyJ… ثلاثية المقاطععالية
سلاسل الاتصالعناوين URL ببيانات اعتماد مضمّنة (scheme://user:pass@host)عالية
متغيرات بيانات الاعتمادpassword = "…"، api_key = "…"، secret_key = "…"عالية/متوسطة/منخفضة
سمات XML<add key="Password" value="…" />عالية/متوسطة/منخفضة
سلاسل عالية العشوائيةhex بين علامتي اقتباس (32–64 حرفاً) / Base64 (60+ حرفاً)متوسطة/منخفضة

رموز المزوّدين الحتمية (البادئات أعلاه) تُعلَّم بغض النظر عن العشوائية. أما الكواشف الاستدلالية (JWTs، سلاسل الاتصال، hex، Base64) فيجب أن تتجاوز حداً أدنى للعشوائية. يُعلَّم hex أو Base64 المستقل فقط عندما يكون بين علامتي اقتباس. القيمة عالية العشوائية غير المقتبسة تُلتقط فقط على متغير باسم بيانات اعتماد، ما يوفّر تجزئات git والمجاميع الاختبارية. للاطلاع على قواعد الاكتشاف والخطورة الكاملة، راجع الدليل.

مجموعة قواعد Credactor الأصلية أضيق من مجموعة ماسح مخصص، وبعض صيغ المزوّدين (على سبيل المثال SendGrid وTwilio وSlack webhooks) لا تُكتشف. ميزته هي المعالجة: اقرنه بـ Gitleaks أو TruffleHog أو Betterleaks لأوسع اكتشاف، أو شغّله بمفرده.

اقرنه بماسح آخر، وأعد كتابة المجموعة كاملة

يقف Credactor بذاته، ويصبح أقوى في الصحبة. تشغّل Gitleaks أو TruffleHog أو Betterleaks بالفعل؟ مرّر تقريرها إلى Credactor فيعيد كتابة المجموعة المدمجة، منقّاة مقابل نتائجه الخاصة (عند التداخل، تفوز الخطورة الأعلى). تمريرة معالجة واحدة تغطي فحصك وفحصهم:

gitleaks dir . -f json -r gitleaks.json
credactor --from-gitleaks gitleaks.json --fix-all --yes .

betterleaks dir . -f json -r betterleaks.json
credactor --from-betterleaks betterleaks.json --fix-all --yes .

تتطلب --from-gitleaks / --from-trufflehog / --from-betterleaks (أو جدول [ingest] في .credactor.toml) هدفاً من نوع دليل — وجّه Credactor إلى نفس الجذر الذي شغّل الماسح ضده. تُحل مسارات التقارير مقابل دليل العمل، والتقرير لقطة: أعد توليده بعد إعادة الكتابة أو تغيير الشجرة. راجع دليل تكامل CI.

ميزات إضافية

تنزيل الأداة