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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
FARO — FARO - كاشف حساسية المستندات | Kitploit
أدوات/GitHubGitHub/gradiant/faro
التحليل الثابتتحليل الثغرات الأمنيةتدقيق التكوينتسريب البياناتجمع المعلوماتكشف الأسرارتعلم الآلةالتعلم والتعليم
GitHubgradiant/faro

FARO

FARO - كاشف حساسية المستندات

عرض المستودع
10820منذ 4 سنواتلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

FARO (Document Sensitivity Detector)

FARO LOGO

جدول المحتويات

  • ما هذا؟
  • ماذا يوجد هنا؟
  • تشغيل FARO باستخدام Docker
  • تشغيل FARO على الجهاز المضيف
    • المتطلبات الأساسية
    • البيئة الافتراضية
    • التبعيات
    • نماذج NER
    • FARO Spider
    • كشف ملف واحد
  • التفاصيل التقنية
    • كاشف الكيانات في FARO
    • الإعداد
    • صيغ ملفات الإدخال المدعومة
    • التقنيات
    • الاختبار
    • تثبيت Git-LFS
    • وسائط إضافية لكشف FARO
    • المشاكل المعروفة
  • المساهمون

ما هذا؟

FARO هي أداة لكشف المعلومات الحساسة في المستندات داخل المؤسسة. وهي موجّهة للاستخدام من قبل الشركات الصغيرة والأفراد الذين يرغبون في تتبع مستنداتهم الحساسة داخل مؤسساتهم ولكنهم لا يستطيعون قضاء الكثير من الوقت والمال في إعداد أدوات حماية بيانات معقدة.

يستخرج FARO مؤشرات الحساسية من المستندات (مثل معرّفات المستندات، الكميات النقدية، رسائل البريد الإلكتروني الشخصية) ويمنح المستند درجة حساسية (من منخفضة إلى عالية) باستخدام تواتر ونوع المؤشرات في المستند.

حاليًا، جميع وظائف هذه الأداة مخصصة للمستندات المكتوبة باللغة الإسبانية، على الرغم من أنه يمكن ترقيتها بسهولة لتغطية المزيد من اللغات.

هذه الأداة مطوّرة من قبل TEGRA R&D Cybersecurity Center.

ماذا يوجد هنا؟

يحتوي المشروع على المجلدات التالية:

  • faro/: هذه هي وحدة FARO مع الوظيفة الرئيسية.
  • config/: ملفات إعداد yaml توضع هنا. يوجد ملف yaml واحد لكل لغة (بالإضافة إلى ملف nolanguage.yaml لتوفير وظيفة أساسية للغات غير المكتشفة) وملف yaml واحد بإعدادات مشتركة لجميع اللغات config/commons.yaml.
  • models/: هذا هو المجلد المخصص لوضع نماذج FARO.
  • faro_detection.py: مشغّل FARO للتشغيل المستقل على ملف واحد.
  • faro_spider.sh: برنامج نصي للمعالجة بالجملة.
  • docker_build_faro.sh: برنامج نصي لبناء صورة FARO على Docker في Linux و Mac OS.
  • docker_build_faro.bat: برنامج نصي لبناء صورة FARO على Docker في Windows.
  • docker_run_faro.sh: برنامج نصي لتشغيل حاوية FARO على Linux و Mac OS.
  • docker_run_faro.bat: برنامج نصي لتشغيل حاوية FARO على Windows.
  • CHANGELOG: سجل تغييرات FARO.

تشغيل FARO باستخدام Docker

يمكن تشغيل FARO كحاوية مستقلة باستخدام Docker. يمكنك بناء الصورة بنفسك أو الحصول عليها من مستودع Docker Hub.

الحصول على صورة FARO من Docker Hub

بشرط أن يكون Docker مثبتًا وقيد التشغيل على نظامك، نفّذ الأمر التالي للحصول على أحدث صورة FARO من Docker Hub.

docker pull gradiant/faro

لتشغيل صورة docker استخدم البرامج النصية docker_run_faro.sh (Linux/Mac OS) أو docker_run_faro.bat (Windows). يمكنك العثور عليها في جذر المشروع أو في الإصدار الأحدث.

بناء صورة FARO

بشرط أن يكون Docker مثبتًا وقيد التشغيل على نظامك، قم بما يلي لبناء صورة FARO.

Linux و Mac OS

./docker_build_faro.sh

Windows

docker_build_faro.bat

تشغيل حاوية FARO

لتشغيل حاوية FARO، يتم توفير بعض البرامج النصية في جذر المشروع. يمكنك نسخ واستخدام هذه البرامج النصية من أي مكان آخر للراحة. سيتم إنشاء مجلد "output" داخل دليلك الحالي.

Linux و Mac OS

./docker_run_faro.sh <your folder with files>

Windows

docker_run_faro.bat <your folder with files>

لقد أضفنا دعم OCR إلى tika من خلال تكامله مع tesseract. يمكن تخصيص بعض إعدادات عملية OCR من خلال استخدام ملف env يجب توفير مساره كوسيط ثانٍ للبرنامج النصي. لقد قدمنا مثالًا مشروحًا ليكون قالبًا هنا

./docker_run_faro.sh <your folder with files> <path to env file>

على سبيل المثال:

./docker_run_faro.sh ../data docker_faro_env_example.list

النتائج

ينشئ FARO مجلد "output" داخل المجلد الحالي ويخزّن نتائج التنفيذ في ملفين:

  • output/scan.$CURRENT_TIME.csv: هو ملف csv يحتوي على الدرجة المعطاة للمستند وتواتر المؤشرات في كل ملف.
filepath,score,person_position_organization,monetary_quantity,signature,personal_email,mobile_phone_number,financial_data,document_id,custom_words,meta:content-type,meta:author,meta:pages,meta:lang,meta:date,meta:filesize,meta:num_words,meta:num_chars,meta:ocr
/Users/test/code/FARO_datasets/quick_test_data/Factura_NRU_0_1_001.pdf,high,0,0,0,0,0,0,1,4,application/pdf,Powered By Crystal,1,es,,85739,219,1185,False
/Users/test/code/FARO_datasets/quick_test_data/Factura_Plancha.pdf,high,0,6,0,0,0,0,2,8,application/pdf,Python PDF Library - http://pybrary.net/pyPdf/,1,es,,77171,259,1524,True
/Users/test/code/FARO_datasets/quick_test_data/20190912-FS2019.pdf,high,0,3,0,0,0,0,1,2,application/pdf,FPDF 1.6,1,es,2019-09-12T20:08:19Z,1545,62,648,False
  • output/scan.$CURRENT_TIME.entity: هو ملف json يحتوي على قائمة المؤشرات (المفصّلة) المستخرجة من ملف. على سبيل المثال:
{"filepath": "/Users/test/code/FARO_datasets/quick_test_data/Factura_NRU_0_1_001.pdf", "entities": {"custom_words": {"facturar": 3, "total": 1}, "prob_currency": {"12,0021": 1, "12,00": 1, "9,92": 1, "3,9921": 1, "3,99": 1, "3,30": 1, "15,99": 1, "13,21": 1, "1.106.166": 1, "1,00": 1, "99,00": 1}, "document_id": {"89821284M": 1}}, "datetime": "2019-12-11 14:19:17"}
{"filepath": "/Users/test/code/FARO_datasets/quick_test_data/Factura_Plancha.pdf", "entities": {"document_id": {"H82547761": 1, "21809943D": 2}, "custom_words": {"factura": 2, "facturar": 2, "total": 2, "importe": 2}, "monetary_quantity": {"156,20": 4, "2,84": 2, "0,00": 2, "159,04": 2, "32,80": 4, "191,84": 2}, "prob_currency": {"1,00": 6, "189,00": 2}}, "datetime": "2019-12-11 14:19:27"}
{"filepath": "/Users/test/code/FARO_datasets/quick_test_data/20190912-FS2019.pdf", "entities": {"document_id": {"C-01107564": 1}, "custom_words": {"factura": 1, "total": 1}, "monetary_quantity": {"3,06": 1, "0,64": 1, "3,70": 1}}, "datetime": "2019-12-11 14:19:33"}

تشغيل FARO على الجهاز المضيف

ملاحظة: فقط LINUX و MAC OS X

المتطلبات الأساسية

يتطلب هذا الوضع بعض متطلبات نظام التشغيل والمكتبات لكي يعمل بشكل صحيح

  • Linux أو Mac OS
  • Java 1.7 أو أحدث
  • virtualenv (غير مطلوب ولكن يُنصح به بشدة)
  • GNU parallel (لتسريع برنامجنا النصي spider. يمكنك الاطلاع على مزيد من المعلومات حول الأداة هنا
  • git lfs مثبت.

البيئة الافتراضية

يُنصح باستخدام بيئة افتراضية منفصلة. لإنشاء بيئة افتراضية باستخدام virtualenv.

virtualenv -p `which python3` <yourenvname>

لتفعيل البيئة الافتراضية على الطرفية اكتب فقط:

source <yourenvname>/bin/activate

التبعيات

أسهل طريقة لتشغيل النظام هي تثبيت التبعيات بهذه الطريقة

pip install -r requirements.txt

قائمة التبعيات هي التالية:

  • SpaCy مع نموذج اللغة الإسبانية على الأقل
  • numpy
  • scipy
  • sklearn
  • gensim
  • sklearn-crfsuite
  • fuzzywuzzy
  • tika
  • gensim
  • pyyaml
  • pandas

هذه التبعيات الأخرى تُستخدم للاختبار:

  • mox
  • unittest-xml-reporting

نماذج NER

يعتمد FARO على عدة نماذج تعلم آلي لكي يعمل.

detection:
    nlp_model : es_core_news_sm
    crf_ner_list: models/crf_professions_v1.joblib
    personal_email_detection: models/email_detector.joblib
    target_list: models/legal.txt
    crf_ner_classic: models/crf_classic_step1.joblib,models/crf_classic_step2.joblib,models/crf_classic_step3.joblib,models/crf_classic_step4.joblib,models/crf_classic_step5.joblib
    corp_mail_list: models/corp_mail_list.txt

في مستودعنا، نتعامل مع النماذج من خلال Git LFS بسبب حجمها. إذا كان لديك git-lfs مثبتًا، فيجب أن تحصل تلقائيًا على النماذج التي تم تنزيلها عند استنساخ مستودعنا لأول مرة.

تنزيل الأداة