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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
bidi-guard — افحص الكود بحثًا عن أحرف يونيكود ثنائية الاتجاه غير المرئية (الوقاية من هجوم Trojan Source، CVE-2021-42574) | Kitploit
أدوات/GitHubGitHub/moshe-ship/bidi-guard
التحليل الثابتتحليل الثغرات الأمنيةتحليل الكودDevSecOpsأمن سلسلة التوريدالتعلم والتعليم
GitHubmoshe-ship/bidi-guard

bidi-guard

افحص الكود بحثًا عن أحرف يونيكود ثنائية الاتجاه غير المرئية (الوقاية من هجوم Trojan Source، CVE-2021-42574)

عرض المستودع
5منذ 4 أشهرلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

bidi-guard

افحص الكود بحثًا عن أحرف يونيكود ثنائية الاتجاه غير مرئية

MIT License Python 3.9+


لماذا وُجدت هذه الأداة؟

يمكن لأحرف يونيكود ثنائية الاتجاه غير المرئية أن تجعل الكود المصدري يُعرض بشكل مختلف عمّا يُنفَّذ. هذه هي ثغرة CVE-2021-42574 — هجوم Trojan Source.

يُضمّن المهاجم أحرفًا تعكس اتجاه النص. عند مراجعة الكود، ترى:

root@kitploit:~
access_level = "admin"

لكن المترجم يرى:

root@kitploit:~
access_level = "user"

هذه الأحرف غير مرئية. لن يُظهرها محررك. لن يلتقطها المراجع. لكن bidi-guard سيفعل.

التثبيت

root@kitploit:~
pip install bidi-guard

بداية سريعة

root@kitploit:~
# Scan current directory recursively
bidi-guard scan .

# Scan a specific file
bidi-guard scan src/auth.py

يجد جميع أحرف اليونيكود ثنائية الاتجاه، ويعرض موضعها الدقيق وسياقها ومستوى خطورتها.

الأوامر

التكامل مع CI

GitHub Action

root@kitploit:~
name: BiDi Guard
on: [push, pull_request]
jobs:
  bidi-scan:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-python@v5
        with:
          python-version: "3.11"
      - run: pip install bidi-guard
      - run: bidi-guard ci .

Pre-commit

أضِف إلى ملف .pre-commit-config.yaml الخاص بك:

root@kitploit:~
repos:
  - repo: https://github.com/Moshe-ship/bidi-guard
    rev: v0.1.0
    hooks:
      - id: bidi-guard

الأحرف المكتشفة

جميع أحرف التحكم ثنائية الاتجاه الستة عشر في يونيكود:

الأحرف المُعلَّمة بدرجة عالية أو حرجة يمكنها إعادة ترتيب النص المعروض فعليًا — وهذه هي الأحرف المستخدمة في هجمات Trojan Source.

الاستخدام كمكتبة

root@kitploit:~
from bidi_guard import scan_file, Finding

findings = scan_file("src/auth.py")
for f in findings:
    print(f"{f.char_name} at line {f.line}:{f.col} — severity: {f.severity}")

لماذا لا نكتفي بـ grep؟

هذه الأحرف غير مرئية. غير مرئية حرفيًا:

root@kitploit:~
grep "RLO" file.py    # finds nothing
cat file.py            # looks completely normal

يُريك bidi-guard ما لا يستطيع grep إظهاره: الحرف الدقيق، وموضعه، والسياق المحيط به، ومستوى خطورته، وما يفعله. كما يمكنه الإصلاح التلقائي بإزالتها.

الترخيص

MIT — موسى النجار


تقدّمها لكم مجتمع الذكاء الاصطناعي السعودي — للعرب أولًا، وللعالم أجمع.

تنزيل الأداة
Commandالوظيفة
scanيفحص الملفات بحثًا عن أحرف bidi ويعرض النتائج مع السياق
ciوضع CI — يخرج برمز خروج غير صفري إذا وُجدت أي أحرف خطيرة
fixيزيل جميع أحرف bidi من الملفات (تفاعلي افتراضيًا)
explainيعرض ما يفعله كل حرف bidi مع أمثلة مرئية
initينشئ ملف إعداد .bidi-guard.yml لمشروعك
Code Pointالاسمالاختصارالخطورة
U+200Eعلامة من اليسار إلى اليمينLRMمنخفضة
U+200Fعلامة من اليمين إلى اليسارRLMمنخفضة
U+061Cعلامة الحرف العربيALMمنخفضة
U+200Dموصول بعرض صفريZWJمنخفضة
U+200Cفاصل غير موصول بعرض صفريZWNJمنخفضة
U+2066عزل من اليسار إلى اليمينLRIمتوسطة
U+2067عزل من اليمين إلى اليسارRLIعالية
U+2068أول عزل قويFSIعالية
U+2069إنهاء العزل الاتجاهيPDIمتوسطة
U+202Aتضمين من اليسار إلى اليمينLREمتوسطة
U+202Bتضمين من اليمين إلى اليسارRLEعالية
U+202Cإنهاء التنسيق الاتجاهيPDFمتوسطة
U+202Dتجاوز من اليسار إلى اليمينLROعالية
U+202Eتجاوز من اليمين إلى اليسارRLOحرجة
U+2028فاصل أسطرLSمتوسطة
U+2029فاصل فقراتPSمتوسطة