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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
browser-xpi-malware-scanner — إضافة متصفح شاملة لفحص البرمجيات الخبيثة لنوع الملفات (.xpi)، والتي تتحقق من العديد من الحيل الضارة الشائعة مثل: أساليب إخفاء سرقة بيانات الاعتماد، الإخفاء التقني (steganography)، حمولات base64، حيل الملفات المضغوطة (zip-tricks)، تنفيذ الأكواد عن بُعد، الحيل متعددة الأشكال (polyglot tricks)، وحيل البيانات الوصفية (meta data tricks)، في محاولة لتزويد المحلل بمعلومات حول المكان الذي يحتاج إلى تحليل أعمق. | Kitploit
أدوات/GitHubGitHub/ernos/browser-xpi-malware-scanner
التحليل الثابتتحليل الثغرات الأمنيةتحليل الكودالتحقيق الجنائي الرقميإخفاء المعلوماتتحليل البرمجيات الخبيثةالأوراق والأبحاثالتعلم والتعليم

الأكثر شعبية

عرض الكل →

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

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

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

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

حول

إضافة متصفح شاملة لفحص البرمجيات الخبيثة لنوع الملفات (.xpi)، والتي تتحقق من العديد من الحيل الضارة الشائعة مثل: أساليب إخفاء سرقة بيانات الاعتماد، الإخفاء التقني (steganography)، حمولات base64، حيل الملفات المضغوطة (zip-tricks)، تنفيذ الأكواد عن بُعد، الحيل متعددة الأشكال (polyglot tricks)، وحيل البيانات الوصفية (meta data tricks)، في محاولة لتزويد المحلل بمعلومات حول المكان الذي يحتاج إلى تحليل أعمق.

GitHub
ernos/browser-xpi-malware-scanner

browser-xpi-malware-scanner

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

XPI Analyzer — ماسح أمان إضافات Firefox

أداة سطر أوامر تحلل ملفات إضافات Firefox (‎.xpi) بحثًا عن علامات البرامج الضارة، التعتيم، الحمولات المخفية، إخفاء المعلومات، وغيرها من التقنيات المستخدمة لتسلل الأكواد الضارة عبر فرق مراجعة الإضافات.

ما تفعله

يقوم extension-scanner.py بفتح إضافة Firefox وتنفيذ سلسلة من فحوصات الأمان عبر كل ملف بداخلها. ثم ينتج تقريرًا ملونًا مع النتائج مرتبة حسب الخطورة.

أدلة/دروس حول كيفية استخدام هذا الماسح للعثور على البرامج الضارة في متجر إضافات Firefox/Mozilla مباشرة وفحصها بشكل أعمق

  • تحليل البرامج الضارة: استخدام browser-xpi-malware-scanner.py للعثور على برامج ضارة في البرية
  • حاجب الإعلانات الذي يسرق نقراتك: داخل "Supreme Adblocker for Youtube"
  • كيف بنيت ماسحًا للبرامج الضارة في إضافات المتصفح — واستخدمته لفضح "YouTube Downloader" خبيث

الفحوصات المنفذة

مستويات الخطورة

  • CRITICAL — شبه مؤكد أنه ضار؛ يتطلب تحقيقًا فوريًا
  • HIGH — مشبوه بقوة؛ يستدعي مراجعة دقيقة
  • MEDIUM — يحتمل أن يكون خطيرًا؛ راجع في السياق
  • LOW — شأن ثانوي؛ للمعلومات
  • INFO — بيانات وصفية (الرمز التجزئي، حجم الملف، إلخ)

التثبيت

الحزم المطلوبة مسبقًا

  • Python 3.10+ مطلوب. python3.11, python3.12 أو python3.13
  • **python3-venv** - مطلوب إذا كنت تستخدم بيئات افتراضية

باستخدام البيئات الافتراضية:

root@kitploit:~
sudo apt install python3 python3-venv
git clone https://github.com/ernos/extension-scanner.git
cd extension-scanner

python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

الحزم الاختيارية

  • **python3-numpy** - موصى به لإخفاء المعلومات، تثبيت على مستوى النظام (وإلا pip install -r requirements.txt)
  • pillow: موصى به لإخفاء المعلومات
  • numpy: موصى به لإخفاء المعلومات
    ```bash
    pip install pillow numpy
    #System-wide install on ubuntu:
    sudo apt install python3-pillow python3-numpy
root@kitploit:~
git clone https://github.com/ernos/extension-scanner.git
cd extension-scanner
chmod +x extension-scanner.py
mkdir -p ~/.local/share/bin
ln -s $PWD/extension-scanner.py ~/.local/share/bin/extension-scanner


# Required for LSB steganography analysis (optional but recommended)
pip install pillow numpy

# OPTION 1. Only for current user:
# Enable bash completions for simpler use (TAB for autocompleting commands)
mkdir -p ~/.local/share/bash-completion/completions
cp extension-scanner-completions ~/.local/share/bash-completion/completions
echo "source ~/.local/share/bash-completion/completions/extension-scanner-completions" >> ~/.bashrc

# OPTION 2. Enable completions globally for all users (Should be auto-sourced from your .bashrc)
cp extension-scanner-completions /usr/share/bash-completion/completions

إذا لم يتم تثبيت Pillow/NumPy تظل الأداة تعمل — يتم تخطي فحوصات LSB وانتروبيا البيكسل فقط، وتُطبع رسالة تحذير.


الاستخدام

root@kitploit:~
usage: xpiscanner [-h] [--update-blocklist] [--min-severity {CRITICAL,HIGH,MEDIUM,LOW,INFO}] [--json] [--compact] [-v] [-m] [--scans CHECK [CHECK ...]]
                  [targets ...]

Firefox Extension Scanner - Scans XPI files for security risks and malware indicators

positional arguments:
  targets               One or more XPI files or directories containing XPIs to analyze

options:
  -h, --help            show this help message and exit
  --update-blocklist, --update, -u
                        Fetch fresh domain blocklists from URLhaus and Peter Lowe's list, merge with the bundled snapshot, and saves to
                        /home/peb/projects/Firefox-Extensions/extension-scanner/blocklist.json. Exits after updating.
  --min-severity {CRITICAL,HIGH,MEDIUM,LOW,INFO}
                        Minimum severity to display (CRITICAL, HIGH, MEDIUM, LOW, INFO; default: INFO)
  --json                Output results as JSON instead of formatted text
  --compact, -c         Print each finding on 1-2 lines instead of the default 3-line format
  -v, --verbose         Enable verbose output: show additional context for findings
  -m, --manifest        Show full extension manifest for each target
  --scans, -s CHECK [CHECK ...]
                        Limit analysis to specific check types. Choices: anti-analysis, api-abuse, credentials, cross-file,
                        file-meta, hidden-elements, obfuscation, payloads, permissions, polyglot, remote-code,
                        signatures, steganography, time-bomb, zip-tricks. Omit to run all checks (default).

    extension-scanner.py — Analyze Firefox (and other browsers) extension XPI files for security risks and malware indicators.

    Read README.md for information on how to interpret findings, limitations, and best practices for use.  
    This tool is intended for security researchers, analysts, and advanced users who want to perform a 
    comprehensive static analysis of browser extensions. It should work well for other browsers as well, 
    but this has only been tested on firefox.

Usage:
    python3 extension-scanner.py [OPTIONS] targets...

Targets can be individual .xpi files or directories containing .xpi files. Use glob patterns (e.g. *.xpi) for convenience.

Available check types:
    permissions               Dangerous/broad manifest permissions and CSP issues
    remote-code               Background pages or service workers loaded from remote URLs
    obfuscation               eval/atob/encoding tricks, suspicious URLs, high-entropy strings
    payloads                  Base64-encoded blobs decoded and scanned for executables/scripts
    steganography             PNG appended data (auto-decoded via base64/zlib/gzip), unknown chunks, LSB channel analysis
    credentials               Hardcoded API keys, tokens, passwords, private keys, IP addresses
    file-meta                 Magic bytes, double extensions, suspicious filenames, file entropy
    polyglot                  Files valid in two formats simultaneously (e.g. HTML+ZIP)
    zip-tricks                Path traversal, null bytes, duplicate entries, ZIP comments
    cross-file                HTML class tokens cross-referenced against JS localStorage keys
    signatures                Known strings from confirmed malicious extension families (qingcaila, YTMP4, etc.)
    api-abuse                 Browser API calls indicating data theft or exfiltration (cookies, tabs, history, keylogger, clipboard, executeScript)
    hidden-elements           Invisible iframes, zero-dimension element injection, tracking pixels (new Image().src)
    time-bomb                 Long-delay setTimeout, Date.now() gates, localStorage install-date checks, Math.random() gates
    anti-analysis             navigator.webdriver, zero-size window, bare debugger statement, performance.now() timing

Examples:
    python3 extension-scanner.py extension.xpi
    python3 extension-scanner.py *.xpi
    python3 extension-scanner.py /path/to/extensions/
    python3 extension-scanner.py a.xpi b.xpi --min-severity HIGH
    python3 extension-scanner.py ext.xpi --scans obfuscation payloads
    python3 extension-scanner.py ext.xpi --s steganography zip-tricks file-meta
    python3 extension-scanner.py ext.xpi --verbose
    python3 extension-scanner.py --update-blocklist
    python3 extension-scanner.py --manifest

Tips:
    - Make sure to source scanner-completions.sh from your .bashrc or .zshrc to enable tab completion for --scans categories and target file paths.
    - Use --min-severity to focus on the most critical findings first.
    - Use --scans to limit the analysis to specific categories of checks if you're looking for something specific or want to speed up the scan.
    - Review the full manifest with --manifest for context on permissions, content scripts, and other extension metadata that can help interpret findings.
    - Regularly update the blocklist with --update-blocklist to ensure the latest malicious domains are included in the checks.

Credits:
    Developed by Ernos @ https://www.yourdev.net
    Email: max at yourdev.net
    GitHub: https://www.github.com/ernos/extension-scanner

الخيارات



قراءة المخرجات

root@kitploit:~
════════════════════════════════════════════════════════════════════════════
  XPI ANALYZER — example.xpi
════════════════════════════════════════════════════════════════════════════
  Overall verdict: HIGH RISK

  Findings: 1 CRITICAL  3 HIGH  2 MEDIUM  1 LOW

  ── CRITICAL ────────────────────────────────────────────────────────────
  [CRITICAL ] [JS_OBFUSCATION] content.js
           eval() call — can execute arbitrary code from strings
           Evidence: var x = eval(atob("dmFyIGE9MTs…"))

  ── HIGH ────────────────────────────────────────────────────────────────
  [HIGH     ] [PERMISSION] manifest.json
           Dangerous permission: 'nativeMessaging' — Can spawn native OS …
           Evidence: permissions: ['nativeMessaging', 'storage', '<all_urls>']
  …

عند تحليل ملفات متعددة، يُطبع جدول مقارنة بعد التقارير الفردية يظهر جميع الإضافات جنبًا إلى جنب.


أكواد الخروج

الكودالمعنى
0لا توجد نتائج CRITICAL أو HIGH
1وجود نتيجة HIGH واحدة على الأقل
2وجود نتيجة CRITICAL واحدة على الأقل

هذا يجعل استخدامها في مسارات CI أو سكريبتات الصدفة مباشرًا:

root@kitploit:~
python3 extension-scanner.py extension.xpi --min-severity HIGH
if [ $? -eq 2 ]; then echo "CRITICAL issues found!"; fi

القيود

  • تحليل ثابت فقط. لا تقوم الأداة بتنفيذ أي كود. التقنيات الديناميكية (الحمولات التي تُجلب في وقت التشغيل، تعدد الأشكال من جانب الخادم) لن يتم اكتشافها.
  • استدلالات إخفاء المعلومات LSB تنتج نتائج إيجابية كاذبة في بعض الصور المضغوطة بشدة أو ذات الضوضاء الطبيعية.
  • أنماط التعتيم تركز على التقنيات الشائعة؛ قد لا تؤدي العبوات المخصصة أو الجديدة إلى إطلاق تحذيرات.
  • النطاقات في القائمة البيضاء (Google APIs, Mozilla, W3C) لا يتم الإبلاغ عنها في فحوصات URL. الإضافات الشرعية التي تستدعي شبكات CDN موثوقة أخرى قد تظهر كنتائج HIGH.
  • الأداة لا ترسل الملفات إلى أي خدمة خارجية. كل التحليل محلي.

المؤلف

Maximilian Cornett

الاتصال

https://www.yourdev.net https://www.github.com/ernos

الترخيص

رخصة جنو العمومية العامة - هذه الأداة مخصصة فقط للبحث الأمني والتحليل الدفاعي.

تنزيل الأداة
الفئةما تبحث عنه
الأذوناتأذونات خطيرة أو واسعة النطاق (nativeMessaging, <all_urls>, debugger, desktopCapture, إلخ)
سياسة أمان المحتوىunsafe-inline, unsafe-eval, مصادر سكريبتات عن بُعد في CSP
تعتيم الجافاسكريبتاستخدام eval(), atob(), Function() منشئ الدوال، متتاليات هروب سداسية عشرية، إعادة تجميع split/join/reverse، حروف سلسلة مشفرة، setTimeout مع وسائط سلسلة نصية
عناوين URL مشبوهةنطاقات خارجية مشفرة تصنف كـ معروفة-سيئة (إصابة بقائمة الحظر ← HIGH)، غير معروفة (ليست في القائمة البيضاء ← MEDIUM)، أو معروفة-جيدة (في القائمة البيضاء ← مكبوتة). قم بتشغيل --update-blocklist لتحديث قائمة حظر النطاقات من URLhaus وقائمة Peter Lowe.
بيانات الاعتماد والأسرارمفاتيح API مشفرة، رموز (AWS، GitHub، Slack، Google)، كلمات مرور، مفاتيح خاصة، وعناوين IP
حمولات Base64فك تشفير قواعد base64 المضمنة وفحصها بحثًا عن ملفات تنفيذية، نصوص برمجية، وأكواد شبكة
إخفاء المعلومات في PNGاكتشاف البيانات المضافة بعد IEND في PNG وفك تشفير الذيل تلقائيًا (base64, zlib, gzip ومزيجها)؛ يتم فحص الحمولات المفكوكة بشكل متكرر بحثًا عن تعتيم JS، بيانات اعتماد، وعناوين URL مشبوهة. يكشف أيضًا عن أنواع أجزاء غير معروفة، شذوذات قناة LSB، وانتروبيا بيكسل عالية بشكل غير طبيعي
بيانات الملفات الوصفيةاكتشاف بايتات سحرية للملفات التنفيذية (.exe, .elf, .dylib)، امتدادات مزدوجة (مثل photo.png.js)، أسماء ملفات مشبوهة (keylog, miner, wallet)
ملفات متعددة الصيغملفات صالحة في صيغتين في نفس الوقت (مثل HTML + ZIP)
حيل ZIPإدخالات تجتاز المسار، بايتات خالية في أسماء الملفات، إدخالات مكررة قد تخدع المحللات، تعليقات ZIP تحمل حمولات
كود عن بعدصفحات الخلفية أو العاملات الخدمية المحملة من عناوين URL عن بعد
انتروبيا عاليةملفات أو حروف سلسلة عالية الانتروبيا بشكل مريب (على الأرجح حمولات مشفرة أو مضغوطة)
إساءة استخدام واجهة برمجة التطبيقاتاستدعاءات API لإضافات المتصفح تشير إلى سرقة البيانات أو تسريبها: cookies.getAll({}), tabs.query({}), history.search, مستقبلات لوحة المفاتيح، قراءات الحافظة، scripting.executeScript مع دالة ديناميكية. ترتفع إلى CRITICAL عندما يقترن استدعاء جمع البيانات بإرسال شبكة خارجية في نفس الملف.
عناصر مخفيةiframes غير مرئية (مثل display:none، أبعاد صفرية) تُنشأ ديناميكيًا وتُحقن في DOM — إشارات تابعة صامتة أو قنوات تحكم. بيكسلات تتبع عبر new Image().src تشير إلى عناوين URL خارجية.
قنبلة زمنيةsetTimeout/setInterval مع تأخير ≥ 5 دقائق؛ بوابات حسابية Date.now()؛ فحوصات تاريخ التثبيت في localStorage تنشط السلوك بعد أيام من التشغيل الأول؛ بوابات عتبة Math.random() تُشغل على جزء فقط من تحميلات الصفحات.
مكافحة التحليلفحوصات navigator.webdriver؛ مقارنات نافذة بعرض/ارتفاع صفري؛ تعليمات debugger عارية؛ حساب performance.now() المستخدم لاكتشاف الصندوق الرملي بالاعتماد على التوقيت.
العلامةالوصف
--update-blocklistجلب قوائم النطاقات الجديدة من URLhaus وقائمة خوادم الإعلانات/البرامج الضارة لـ Peter Lowe، دمجها مع اللقطة المجمعة، وحفظها في blocklist.json بجوار السكريبت. يخرج بعد التحديث.
targetsملف أو أكثر من ملفات .xpi أو أدلة
--min-severityتصفية المخرجات: CRITICAL, HIGH, MEDIUM, LOW, INFO (الافتراضي: INFO)
--jsonإخراج النتائج كمستند JSON بدلاً من التقرير المقروء
--verbose أو -vطباعة محتويات manifest.json وكذلك تضمين ~5 أسطر من الكود حول النمط المشبوه الذي تم العثور عليه
--checksالمسح فقط لفئات الفحص المحددة هذه (انظر أدناه)
فئات الفحص المتاحةوصف الفحوصات في الفئة
permissionsأذونات بيان خطيرة/واسعة ومشكلات CSP
remote-codeصفحات الخلفية أو العاملات الخدمية المحملة من عناوين URL عن بعد
obfuscationحيل eval/atob/تشفير، عناوين URL مشبوهة، سلاسل عالية الانتروبيا
payloadsكتل مشفرة بـ Base64 يتم فكها وفحصها بحثًا عن ملفات تنفيذية/نصوص برمجية
steganographyبيانات مضافة في PNG، أجزاء غير معروفة، تحليل قناة LSB
credentialsمفاتيح API مشفرة، رموز، كلمات مرور، مفاتيح خاصة، عناوين IP
file-metaبايتات سحرية، امتدادات مزدوجة، أسماء ملفات مشبوهة، انتروبيا الملف
polyglotملفات صالحة في صيغتين في وقت واحد (مثل HTML+ZIP)
zip-tricksتجاوز المسار، بايتات خالية، إدخالات مكررة، تعليقات ZIP
cross-fileرموز فئة HTML مترابطة مع مفاتيح localStorage في JS
api-abuseاستدعاءات API للمتصفح تشير إلى سرقة بيانات أو تسريب (cookies, tabs, history, keyboard, clipboard). تُرفع إلى CRITICAL عندما يظهر الجمع + الإرسال الشبكي في نفس الملف.
hidden-elementsحقن iframe غير مرئي وبيكسلات تتبع. تُرفع إلى HIGH عندما يكون iframe مخفيًا + ملحق بـ DOM.
time-bombsetTimeout بتأخير طويل، بوابات Date.now() حسابية، تاريخ تثبيت localStorage، عتبة Math.random().
anti-analysisnavigator.webdriver، نافذة بحجم صفري، تعليمة debugger عارية، حساب performance.now().