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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
أدوات/GitHubGitHub/maweil/bidi_char_detector
التحليل الثابتتحليل الثغرات الأمنيةتحليل الكودكشف الأسرارأمن سلسلة التوريدسوء التكوينArchived
GitHubmaweil/bidi_char_detector

bidi_char_detector

يتحقق من ملفاتك بحثًا عن وجود أحرف Unicode BIDI التي يمكن إساءة استخدامها في هجمات سلسلة التوريد. انظر CVE-2021-42574

عرض المستودع
638منذ 3 سنواتلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

كاشف أحرف BIDI

تتحقق هذه الأداة من ملفاتك بحثًا عن وجود أحرف BIDI (ثنائية الاتجاه) في Unicode التي يمكن إساءة استخدامها في هجمات سلسلة التوريد للتخفيف من CVE-2021-42574. تمت كتابة هذه الأداة بلغة Rust ويتم توزيعها كحاوية Docker صغيرة (أقل من 3 ميغابايت) لتتيح استخدامًا سريعًا وسهلاً.

للحصول على شرح للهجوم، ألق نظرة على إدخال مدونة GitHub أو الورقة الأصلية التي نُشر فيها الهجوم.

التثبيت

المقصود من هذه الحزمة هو استخدامها بشكل أساسي عبر حاوية Docker الخاصة بها. لكن التثبيت المحلي ممكن بالطبع. يتطلب التجميع على الأقل Rust 1.56.0 لأنه يستخدم إصدار Rust 2021. استنسخ هذا المستودع وشغّل cargo install --path . لتثبيت الملف الثنائي للمستخدم الحالي. بعد ذلك، يمكنك استدعاء الأمر bidi_detector.

الاستخدام

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

root@kitploit:~
docker run --rm -it -v $(pwd):/data ghcr.io/maweil/bidi_char_detector:latest

اعتمادًا على نظامك، قد تحتاج إلى تعديل هذا الأمر قليلاً. إذا كنت تستخدم مثلاً podman ولديك SELinux مفعّلاً، جرب الأمر التالي بدلاً من ذلك:

root@kitploit:~
podman run --rm -it -v $(pwd):/data:Z ghcr.io/maweil/bidi_char_detector:latest

الإعدادات

افتراضيًا، سيتم فحص جميع الملفات. إذا كان لديك ملفات ثنائية داخل المجلد الحالي، سيفشل الأمر لأنه لا يمكنه فك ترميز ملف غير مشفر بـ UTF-8. لتكييف الأمر حسب احتياجاتك، ضع ملفًا باسم bidi_config.toml داخل جذر مشروعك. يمكنك العثور على مثال لهذا الملف في هذا المستودع، انظر المثال أدناه. سيتم وصف الخيارات بمزيد من التفصيل أسفل المثال:

root@kitploit:~
[general]
includes = [ 
    "src/**/*",
    "**/*.patch",
    "**/*.json",
    "**/Dockerfile",
    "test/*.js"
]
excludes = [
    ".git/*",
    "target/*"
]

[display]
show_details = true

الإعدادات العامة

يتضمن هذا القسم مصفوفتين (includes و excludes) حيث يمكنك تحديد أنماط الملفات المراد فحصها (أو استبعادها من الفحص). يرجى التأكد من أن أنماطك تتطابق فعليًا مع الملفات داخل المجلد، وليس مع اسم المجلد نفسه، وإلا فلن يتم فحص ملفاتك. إذا كنت تريد فحص جميع الملفات واستبعاد مثلاً مجلد .git الخاص بك فقط، فإن الإعداد التالي سيفي بالغرض:

root@kitploit:~
[general]
includes = [ 
    "**/*"
]
excludes = [
    ".git/*",
]

[display]
show_details = true

إذا كنت تريد بدلاً من ذلك تحديد المجلد الذي يحتوي على ملفات المصدر الخاصة بك بشكل صريح، فإن مثال الإعداد التالي سيفحص جميع الملفات في مجلد src (دون تجاهل أي شيء):

root@kitploit:~
[general]
includes = [ 
    "src/**/*"
]
excludes = [
]

[display]
show_details = true

إعدادات العرض

الإعدادات التالية متاحة في هذا القسم:

الإعدادالوصفاختياريالافتراضيتم تقديمه في
show_detailsيقرر ما إذا كان سيتم طباعة السطر/الموضع ونوع حرف BIDI المكتشف إذا تم العثور عليه (انظر الأمثلة أدناه)لا-v0.1.1
ignore_invalid_dataما إذا كان سيتم طباعة رسالة خطأ عند اكتشاف ملفات ثنائية / غير UTF-8نعمtruev0.1.2
verboseما إذا كان سيتم طباعة اسم الملف حتى لو لم يتم العثور على أحرف مشبوهةنعمtruev0.1.2

مثال: show_details = true، verbose = true

root@kitploit:~
src/lib.rs - 0 BIDI characters
src/main.rs - 0 BIDI characters
test/example-commenting-out.js - 6 BIDI characters
Found character RLO (Right-to-Left Override), test/example-commenting-out.js:4:3
Found character LRI (Left-to-Right Isolate), test/example-commenting-out.js:4:7
Found character PDI (Pop Directional Isolate), test/example-commenting-out.js:4:20
Found character LRI (Left-to-Right Isolate), test/example-commenting-out.js:4:22
Found character RLO (Right-to-Left Override), test/example-commenting-out.js:6:20
Found character LRI (Left-to-Right Isolate), test/example-commenting-out.js:6:24
Found 6 potentially dangerous Unicode BIDI characters!

مثال: show_details = false، verbose = true

root@kitploit:~
src/lib.rs - 0 BIDI characters
src/main.rs - 0 BIDI characters
test/example-commenting-out.js - 6 BIDI characters
Found 6 potentially dangerous Unicode BIDI characters!

مثال: show_details = false، verbose = false

root@kitploit:~
test/example-commenting-out.js - 6 BIDI characters
Found 6 potentially dangerous Unicode BIDI characters!

الاعتمادات

جميع الاعتمادات لاكتشاف الهجوم بما في ذلك قائمة أحرف BIDI ذات الصلة تعود إلى المؤلفين الأصليين للورقة المقابلة. يرجى الاستشهاد بورقتهم الأصلية عند البناء على عملهم.

الملف test/example-commenting-out.js في هذا المستودع هو نسخة من commenting-out.js في مستودعهم الأصلي. يتبع ترخيصه المستودع الأصلي (MIT License) يُستخدم لأغراض الاختبار فقط هنا.

root@kitploit:~
@article{boucher_trojansource_2021,
    title = {Trojan {Source}: {Invisible} {Vulnerabilities}},
    author = {Nicholas Boucher and Ross Anderson},
    year = {2021},
    journal = {Preprint},
    eprint = {2111.00169},
    archivePrefix = {arXiv},
    primaryClass = {cs.CR},
    url = {https://arxiv.org/abs/2111.00169}
}
تنزيل الأداة