
محرك مفتوح المصدر للأدلة الجنائية في ويندوز، يجمع ويحلّل ويربط الأدلة الرقمية (MFT وUSN والريجستري وغيرها) لإعادة بناء الخطوط الزمنية مع تحليل مدعوم بالذكاء الاصطناعي وختم الأدلة بمعايير قضائية.
آلة زمن جنائية لنظام ويندوز.
لا يكتفي Crow-Eye بـالكشف — بل يعيد بناء ما حدث فعليًا على الخط الزمني، بدءًا من الجمع وصولًا إلى حكم قابل للتتبع حتى مصادره الأصلية.
Crow-Eye هو محرك تحليل جنائي مفتوح المصدر (GPL-3.0) لنظام ويندوز يوحّد الجمع والتحليل والتحقق والاستخبارات والذكاء الاصطناعي. معظم أدوات الأمان تسأل "هل هذا ضار؟" وتتجاهل كل ما يبدو مشروعًا. Crow-Eye يطرح سؤالًا مختلفًا: "ماذا حدث؟" فهو يربط كل النشاطات — المشبوه منها وغير المشبوه — ويعيد بناء التسلسل الفعلي للأحداث على النظام، بحيث تُعاد حقيقة التحقيق من الأدلة بدلًا من التخمين بناءً على التنبيهات.
هذا التصميم القائم على إعادة البناء أولًا هو بالضبط ما يلزم لـاصطياد تهديدات APT والتهديدات القومية: الخصوم المتطورون يعيشون داخل الأدوات المشروعة (powershell.exe, PsExec, certutil) وفي تسلسل الإجراءات — وهو أمر غير مرئي للأدوات التي تتجاهل أي شيء يبدو طبيعيًا. ولأن Crow-Eye لا يتجاهل أي شيء أبدًا ويستدل على الأدلة التنفيذية (التي تنجو من العبث بالسجلات ومكافحة التحليل الجنائي)، لا يمكن للهجوم أن يختبئ. يبقى المحرك نفسه سهل الاستخدام لأعمال DFIR اليومية ولغير الخبراء الذين يريدون ببساطة معرفة ما حدث على جهاز الكمبيوتر.
يُستخدم Crow-Eye عبر سير عمل مختلفة جدًا. كل واحد منها يدخل المحرك من باب مختلف:
أي أداة جمع تعمل. لا يتطلب Crow-Eye أداة جمع خاصة به. وجّه المستورد غير المتصل إلى مجلد يحتوي أدلة خام منتجة بواسطة Velociraptor أو KAPE أو حزمة جمع من EDR أو أي أداة جمع أخرى — فهو يفهرس الأدلة المدعومة ويشغّل المحللات غير المتصلة عليها. بشكل منفصل، يمكن استيراد مخرجات Plaso أو Autopsy أو Volatility أو أي أداة أخرى بصيغة CSV أو JSON أو SQLite عبر استيراد الأدلة وربطها جنبًا إلى جنب مع الأدلة الأصلية.
بُني Crow-Eye كحلقة متكاملة — كل مرحلة تغذي التالية، من القرص الخام إلى حكم قابل للدفاع عنه.
Crow-Eye هو خط أنابيب متكامل، وليس حقيبة محللات. الأدلة تتدفق في اتجاه واحد، وكل مرحلة تحتفظ برابطها إلى السجل المصدر.```mermaid %%{init: {"flowchart": {"nodeSpacing": 60, "rankSpacing": 70, "curve": "basis"}, "themeVariables": {"fontSize": "17px", "fontFamily": "system-ui, sans-serif"}} }%% flowchart TB
%% ═══════════ 1. EVIDENCE SOURCE ═══════════
S1["Live Windows system"]
S2["Forensic image
E01 · VHDX · VMDK · Raw"]
S3["Collected artifacts
Velociraptor · KAPE · EDR"]
S4["Third-party output
Plaso · Autopsy · Volatility"]
%% ═══════════ 2. INGEST ═══════════
I1["CROW-CLAW
live acquisition"]
I2["IMAGE PARSING
direct, no mounting"]
I3["OFFLINE IMPORTER
SCAN → COLLECT → PARSE"]
I4["IMPORT EVIDENCE
CSV · JSON · SQLite"]
REPLAY["DIRTY-HIVE REPLAY<br/>transaction logs applied to a working copy"]
PARSERS["ARTIFACT PARSERS<br/>18 artifact types · live and offline"]
%% ═══════════ 3. CASE ═══════════
CASE[("CASE DATABASES
Target_Artifacts/
Imported_Evidence/")]
%% ═══════════ 4. ANALYSIS ═══════════
TL["INTERACTIVE TIMELINE
heat map · week · day"]
UB["USER BEHAVIOR ANALYTICS
40 detections · plain-English story"]
CE["CORRELATION ENGINE
Feathers → Wings → Engines → Pipelines"]
RES[("Correlation results")]
DL["DYNAMIC LINKING
non-destructive enrichment overlay"]
INTEL[("Crow_Intelligence.db
SID · MAC · hash · GUID → name")]
%% ═══════════ 5. AI LAYER ═══════════
EYE["EYE
GEP-governed AI assistant"]
NM["NARRATIVE MAP
hash-chained case memory"]
COMP["COMPLIANCE
live GEP status · EvidenceSeal audit"]
OUT["LIVING REPORT<br/>CSV · JSON · HTML"]
%% ═══════════ FLOW ═══════════ S1 --> I1 S2 --> I2 S3 --> I3 S4 --> I4
I1 --> PARSERS
I2 --> PARSERS
I3 --> PARSERS
PARSERS -- "every registry hive,<br/>evidence never written to" --> REPLAY
REPLAY -- "the state Windows<br/>had not finished writing" --> PARSERS
PARSERS -- "parsed artifacts" --> CASE
I4 -- "verbatim copy or<br/>converted to feather" --> CASE
CASE -- "read-only" --> TL
CASE -- "read-only" --> UB
CASE -- "read-only" --> CE
CASE -- "read-only" --> DL
CE --> RES
DL --> INTEL
CASE -- "read-only queries" --> EYE
RES -. "queried on demand" .-> EYE
EYE <== "verdict · narrative · evidence" ==> NM
EYE -- "audited by" --> COMP
EYE -- "report_* tools" --> OUT
%% ═══════════ STYLE ═══════════ classDef src fill:#334155,stroke:#94a3b8,stroke-width:2px,color:#f1f5f9 classDef ing fill:#0f766e,stroke:#2dd4bf,stroke-width:2px,color:#f0fdfa classDef store fill:#92400e,stroke:#fbbf24,stroke-width:3px,color:#fffbeb classDef ana fill:#1e40af,stroke:#60a5fa,stroke-width:2px,color:#eff6ff classDef ai fill:#6b21a8,stroke:#c084fc,stroke-width:2px,color:#faf5ff classDef out fill:#166534,stroke:#4ade80,stroke-width:2px,color:#f0fdf4
class S1,S2,S3,S4 src
class I1,I2,I3,I4,PARSERS ing
class CASE,RES,INTEL store
class TL,UB,CE,DL ana
class EYE,NM,COMP ai
class OUT out
linkStyle default stroke-width:2px
*مصدر الأدلة ← الاستيعاب ← قواعد بيانات القضية ← التحليل ← طبقة الذكاء الاصطناعي ← التقرير*
**كيفية قراءته:**
| المرحلة | ما يهم |
|---|---|
| ① ← ② | **أربعة أبواب مستقلة إلى القضية.** لا تحتاج أبدًا إلى أداة الجمع الخاصة بـ Crow-Eye — فالمجلد القادم من Velociraptor أو KAPE أو حزمة EDR يمر عبر المستورد دون اتصال (Offline Importer)، وبيانات CSV/JSON/SQLite من جهات خارجية تمر عبر استيراد الأدلة (Import Evidence). |
| ② ← ③ | كل شيء يتقارب في مكان واحد: **قواعد بيانات القضية**. تصل القطع الأثرية المُحلَّلة إلى `Target_Artifacts/`؛ وتصل الأدلة المستوردة من جهات خارجية إلى `Imported_Evidence/` ويتم اكتشافها تلقائيًا. |
| ③ ← ④ | **مسارات التحليل الثلاثة مستقلة عن بعضها البعض.** يقرأ الخط الزمني (Timeline) وتحليل سلوك المستخدم (UBA) قواعد بيانات القضية مباشرة — ولا يتطلب أي منهما تشغيل ترابط (correlation). محرك الترابط (Correlation Engine) هو طبقة *إضافية*، وليس شرطًا مسبقًا. |
| ③ ← ④ | **الربط الديناميكي (Dynamic Linking) يجاور الخط الزمني و UBA** — قارئ رابع ومستقل لقواعد بيانات القضية (لا علاقة له بتصور الخط الزمني). يجمع خرائط الهوية (SID ← اسم المستخدم، MAC ← الشبكة، hash/GUID ← التطبيق) في قاعدة بيانات `Crow_Intelligence.db` خاصة بكل قضية، ثم يضيف هذا السياق **داخل جداول بيانات القطع الأثرية** عبر استعلامات `ATTACH` + `LEFT JOIN` غير مدمرة. يغيّر طريقة *قراءة* السجلات، ولا يمس الأدلة أبدًا. |
| ④ ← ⑤ | تستعلم العين (Eye) عن قواعد بيانات القضية مباشرة ويمكنها سحب نتائج الترابط **عند الطلب**. لا تلمس الأدلة نفسها أبدًا — بل تصدر استدعاءات أدوات (tool calls) ينفذها Crow-Eye ويسجلها. |
| ⑤ ← التقرير | **التقرير الحي (Living Report) يُبنى بواسطة العين وحدها**، عبر أدواتها `report_*`. الخط الزمني و UBA هما سطحا تحليل — لا يكتبان في التقرير. يمكن مع ذلك تصدير نتائج على مستوى القضية بشكل منفصل عبر [البحث والتصدير](#-search--export). |
| ⑤ ↔ | **الخريطة السردية (Narrative Map) ثنائية الاتجاه**: تكتب فيها العين، وتكتب أنت فيها، وتُحقن محتوياتها في موجه (prompt) العين في كل دورة. إنها الذاكرة، ويمكنك التحكم بها. |
| ⑤ ⟳ | **صفحة الامتثال (Compliance) تدقق في العين.** كل استدعاء أداة تقوم به العين مرتبط بسلسلة تجزئة **EvidenceSeal** المضادة للعبث؛ وتعرض الصفحة حالة **GEP** الحية لكل قاعدة (10 مبادئ) تم التحقق منها من تلك السلسلة ومن `EYE_Logs/`، وقابلة للتصدير كملف `audit_trail.json`. |
**مراحل مستقلة.** يقرأ الخط الزمني و UBA قواعد بيانات القطع الأثرية للقضية **مباشرة** — ولا يتطلب أي منهما تشغيل ترابط، ولا يعتمد الخط الزمني على محرك الترابط (فهو يطبق تجميعًا زمنيًا خفيفًا خاصًا به). الترابط هو طبقة تحليل إضافية يمكن للعين الاستعلام عن نتائجها.
**للقراءة فقط بحكم التصميم.** التحليل يكتب في قاعدة بيانات القضية؛ وكل مرحلة لاحقة (UBA، الخط الزمني، عارضات الترابط، العين) تفتح تلك القواعد **للقراءة فقط**. لا يتم تعديل الأدلة الأصلية أبدًا — [الربط الديناميكي](#-analysis-modes) يقرأ قواعد بيانات القضية لبناء قاعدة بيانات `Crow_Intelligence.db` خاصة بكل قضية من خرائط الهوية ويثري جداول بيانات القطع الأثرية داخليًا عبر استعلامات `ATTACH` + `LEFT JOIN` غير مدمرة بدلًا من إعادة كتابة الصفوف.
**محكوم بحكم التصميم.** كل إجراء تقوم به العين مرتبط بسلسلة تجزئة **EvidenceSeal** المضادة للعبث، وتتحقق صفحة **الامتثال** باستمرار من العين وفق [بروتوكول غسان السمان (GEP)](https://github.com/ghassan-elsman/crow-eye/blob/main/eye/docs/GEP_standard.md) — حالة حية لكل قاعدة، قابلة للتصدير إلى `EYE_Logs/audit_trail.json`.
## 📥 التحميل والتثبيت
> **موصى به:** احصل على إصدار Windows المُجمَّع (**مثبّت MSI / EXE**) من الموقع الرسمي — لا حاجة لإعداد Python، ويعمل مباشرة دون إعدادات.
### ▶️ [تحميل Crow-Eye لنظام Windows ← crow-eye.com/download](https://crow-eye.com/download)
**إصدار MSI/EXE المُثبَّت هو الطريقة الموصى بها لتشغيل Crow-Eye**، وهو **أولوية قصوى لدينا في التحديثات**:
- 🛡️ **أسرع الإصلاحات.** عند اكتشاف مشكلة أو الإبلاغ عن خطأ، نصدر نسخة EXE محدثة **في أقرب وقت ممكن** — الإصدار المُجمَّع هو المكان الذي تصل فيه الإصلاحات أولًا.
- 🔄 **تحديث تلقائي مدمج.** في التطبيق المُثبَّت، افتح **Settings ← Updates** **للتحقق من التحديثات وتثبيتها تلقائيًا** — دون إعادة تثبيت يدوية.
- 📦 **صفر إعداد.** لا حاجة لتثبيت Python أو Node أو أي تبعيات.
> تفضّل التشغيل من المصدر؟ انظر **[البدء السريع](#-quick-start)** أدناه. إصدار التشغيل من المصدر مخصص للمساهمين و**لا يتضمن المحدّث التلقائي** — استخدم MSI/EXE للتحديثات التلقائية.
## 🚀 البدء السريع
### الخيار أ — الإصدار المُثبَّت (موصى به)
حمّل **MSI/EXE** من [crow-eye.com/download](https://crow-eye.com/download)، ثبّته، وشغّل **Crow-Eye** كمسؤول (Administrator). أنشئ قضية وابدأ التحليل.
### الخيار ب — التشغيل من المصدر (للمطورين)
> للمساهمين والمستخدمين المتقدمين. هذا المسار **لا يتضمن المحدّث التلقائي** — استخدم MSI/EXE للتحديثات التلقائية.
**المتطلبات** (تُثبَّت تلقائيًا عند أول تشغيل):
- Python 3.12.4
- **Node.js و npm** — مطلوبان لـ **تصور الخط الزمني**
- الحزم الرئيسية: PyQt5، python-registry، pywin32، pandas، streamlit، altair، olefile، windowsprefetch، sqlite3، colorama، setuptools
**الأجهزة الموصى بها**
| | الحد الأدنى | موصى به للقضايا الكبيرة |
|---|---|---|
| **الذاكرة (RAM)** | 8 جيجابايت | 16 جيجابايت+ (مجموعات MFT/USN بملايين السجلات) |
| **القرص** | 5 جيجابايت متاح | مساحة حرة ≥ ضعف حجم الأدلة التي يتم تحليلها |
| **المعالج (CPU)** | 4 أنوية | 8+ أنوية |
| **نظام التشغيل** | Windows 10/11 (كامل) · Linux (تحليل دون اتصال وتحليل الصور) | — |
> يبث الترابط في ذاكرة ثابتة لمجموعات البيانات الكبيرة جدًا، لذا نادرًا ما تكون الذاكرة هي الحد الصعب — عادةً ما يكون إنتاجية القرص والمساحة الحرة هما الحد.
**الإطلاق** (شغّله كمسؤول حتى يتمكن Crow-Eye من الوصول إلى القطع الأثرية للنظام):```bash
python "Crow Eye.py"
تفتح الواجهة الرئيسية، وتنشئ قضية، ويتم تنظيم جميع مخرجات التحليل تحت دليل تلك القضية للمراجعة وإعداد التقارير لاحقًا.
🖥️ ملاحظة عبر المنصات: على لينكس، يتم تعطيل المحللات المباشرة تلقائيًا ويعمل Crow-Eye في وضع غير متصل / صورة جنائية. الالتقاط المباشر الكامل متاح على ويندوز فقط.
يحلل Crow-Eye مجموعة واسعة من أدلة تنفيذ ويندوز ونظام الملفات ونشاط المستخدم، سواء من نظام مباشر أو من مصادر غير متصلة (مجلدات مجمعة أو صور جنائية).
قوائم الانتقال و LNK يتم تحليلها بواسطة محلل LNK / قوائم الانتقال المخصص الخاص بـ Crow-Eye — وليس وحدة طرف ثالث.
السجل المخصص / الملفات المقفلة: يقفل ويندوز خلايا السجل الحية (
NTUSER.DAT،SOFTWARE،SYSTEM) أثناء التشغيل. للتحليل المخصص لنظام مباشر، قم بالإقلاع من وسائط خارجية (WinPE/Live CD)، أو استخدم أدوات الالتقاط الجنائي، أو حلل صورة قرص.
CrowEye/Artifacts Collectors/Target Artifacts (أو مجلد registry/ الخاص بقضيتك):
NTUSER.DAT من C:\Users\<Username>\NTUSER.DATSOFTWARE من C:\Windows\System32\config\SOFTWARESYSTEM من C:\Windows\System32\config\SYSTEMC:\Windows\Prefetch، مستخرجًا سجل التنفيذ والبيانات الوصفية الجنائية (بما في ذلك الطوابع الزمنية لكل تشغيل).Crow-Claw هو محرك الالتقاط المتخصص في Crow-Eye لجمع الأدلة والحفاظ عليها من الأنظمة الحية أو الصور المُثبَّتة.
حلل الأدلة المجمعة من أي مصدر دون اتصال مباشر بالهدف — ثلاث عمليات واضحة:
live_acquisition الخاص بالقضية، منظمًا حسب النوع.يتم التحليل بواسطة المحللات غير المتصلة المخصصة لـ Crow-Eye — نفس منطق الأدلة في الوضع المباشر، يعمل على الملفات المجمعة: Prefetch، السجل، MFT، USN (بالإضافة إلى مُرابط MFT/USN)، AmCache، ShimCache، SRUM، سجلات الأحداث، LNK/قوائم الانتقال، وسلة المحذوفات.
إلى جانب الأدلة الخام، يمكن لـ Crow-Eye استيعاب مخرجات جنائية من طرف ثالث مباشرة في قضية — Plaso، Autopsy، Volatility، أو أي تصدير مخصص — وجعلها قابلة للاستخدام بواسطة Eye والخط الزمني دون الحاجة إلى تشغيل ارتباط أولاً.
لأن مدير قاعدة بيانات القضية يكتشف تلقائيًا أي .db تحت شجرة القضية، تصبح الأدلة المستوردة متاحة فورًا لـ:
imported، مع تصفية نافذة زمنية وحدود زمنية فعالة.المستورد يعتمد على المكتبة القياسية فقط (sqlite3 / csv / json) ويعمل على عامل خلفي، بحيث لا تحجب الاستيرادات الكبيرة واجهة المستخدم.
يحلل الأدلة مباشرة من نظام ويندوز قيد التشغيل، مستخرجًا تلقائيًا من مواقعها القياسية للتحليل الجنائي في الوقت الفعلي.
كل تحقيق هو قضية: دليل مستقل ينظم قواعد بيانات الأدلة ومخرجات التحليل. يتتبع Crow-Eye القضايا الأخيرة (مع المفضلة والوسوم والحالة)، ويتحقق من القضية عند الفتح، ويكتب الإعدادات بشكل ذري (آمن ضد الأعطال)، ويدعم استيراد/تصدير إعدادات القضية والقوالب مع تعيينات دلالية جاهزة.
اربط الأحداث عبر الأدلة على شبكة زمنية موحدة، مع عروض خريطة الحرارة والأسبوع واليوم — قصة مترابطة الهوية وقابلة للتتبع قضائيًا بدلًا من خط زمني فائق مسطح.
يقرأ الخط الزمني قواعد بيانات الأدلة المحللة للقضية مباشرة وهو مستقل عن محرك الارتباط — لا تحتاج إلى بناء feathers أو تأليف أجنحة أو تشغيل خط أنابيب لاستخدامه. يطبق تجميعًا زمنيًا خفيفًا خاصًا به (ارتباط الطابع الزمني الدقيق ونافذة الوقت، التجميع حسب التطبيق أو المسار أو المستخدم) لربط الأحداث على الشبكة. الأدلة المُدخلة عبر استيراد الأدلة تظهر أيضًا على الخط الزمني كنوع أدلة imported، مع تصفية نافذة زمنية وحدود زمنية فعالة.
بحث نص كامل عبر قاعدة بيانات القضية، بالإضافة إلى التصدير إلى CSV (جداول البيانات)، JSON (التكامل مع أدوات أخرى)، وتقارير HTML مفصلة (ملفات شاملة توحد كل دليل مرتبط بمصطلح بحث).
ترجمة المعرّفات التقنية الخام — SIDs، عناوين MAC، التجزئات — إلى سياق قابل للقراءة البشرية أثناء التنقل. يثري الربط الديناميكي العرض باستخدام استعلامات SQL ATTACH غير مدمرة، بحيث لا يُعدَّل الدليل الأصلي أبدًا، ويمكنه استيعاب خلاصات تهديدات IOC المجمعة لتمييز المؤشرات المعروفة بأنها ضارة داخل السطر.
حوّل الأدلة الخام إلى قصة نشاط بلغة إنجليزية واضحة — سرد قابل للقراءة من قبل المدير/الموارد البشرية لما فعله المستخدم وتطبيقاته فعليًا، مع إمكانية تتبع كل عبارة إلى الدليل المصدر الدقيق.
تحليلات سلوك المستخدم (UBA) تقرأ قواعد بيانات الأدلة المحللة في مجلد Target_Artifacts/ الخاص بقضيتك (بشكل صارم للقراءة فقط) وتعيد تشغيلها عبر مجموعة قواعد تعريفية لإنتاج قصة نشاط واضحة وترتيبية زمنيًا. افتحها من زر شريط الأدوات "User Behavior" أو باستخدام Ctrl+Shift+B (يجب تحميل قضية).
uba/config/behavior_rules.json) — قابل للضبط دون كتابة كود — كل منها مصنف حسب الخطورة: روتيني · ملحوظ · مشبوه · حرج.runas)، تغييرات الحسابات والمجموعات، تغييرات الخدمات، التلاعب بساعة النظام (مشبوه)، ومسح سجلات الأحداث (حرج).database : table : rowid) — لا يُؤكد أي شيء دون مصدر.تمتد الاكتشافات الأربعون عبر أربع فئات خطورة وعمق كامل لمجموعة الأدلة المحللة:
الفلاتر: بحث نص حر · المستخدم/الفاعل (بما في ذلك "غير مُسنَد" وتبديل الجلسة المسجلة الدخول) · فئة السلوك (مستخدم / تطبيق / نظام) · الخطورة · التطبيق (اختيار متعدد قابل للبحث عبر أكثر من 200 برنامج) · نطاق التاريخ والوقت مع إعدادات مسبقة سريعة (كل الوقت / اليوم الأول / اليوم الأخير / آخر ساعة من النشاط).
مصادر البيانات: سجلات أحداث الأمان والنظام والتطبيقات · دفتر يومية USN · MFT · UserAssist · BAM · Prefetch · ShimCache · AmCache · MUICache · ShellBags · LNK / قوائم الانتقال · سلة المحذوفات · SRUM (التطبيق، الشبكة، الاتصال) · خلايا السجل.
database → table → rowid ويفتح صفوف المصدر الحقيقية عند الطلب.<user>")، ولا تُستخدم أبدًا لإسناد إجراء.UBA هو ارتباط وتصنيف سلوكي مدفوع بالقواعد، وليس تسجيل شذوذ إحصائي/تعلم آلي — كل نتيجة ترتبط بقاعدة صريحة قابلة للتدقيق. راجع
RELEASE_NOTES.mdللكتالوج الكامل للاكتشافات.
محرك الارتباط v1.7.0 — نواة إعادة البناء. راجع RELEASE_NOTES.md لسجل الإصدارات.
محرك ارتباط Crow-Eye هو نظام ارتباط جنائي بمستوى إنتاجي. يستوعب أدلة ويندوز من أي مصدر، ويطبعها، ويكشف العلاقات الزمنية والهوية التي تحول السجلات المعزولة إلى سرد متماسك لما حدث على النظام، ومتى، ومن كان متورطًا. يعمل خارج الصندوق مع قواعد ارتباط مدمجة (أجنحة) لأسئلة التحقيق الأكثر شيوعًا، ويسمح للمحللين بتأليف قواعد مخصصة دون لمس الكود، ويؤجل المعنى إلى قواعد قابلة للتأليف والمحقق — وليس أبدًا إلى نتيجة صندوق أسود.
استيراد بيانات شامل: يمكن لمحرك الارتباط استيعاب مخرجات أي أداة جنائية بتنسيق CSV أو JSON أو SQLite وتحويلها إلى قاعدة بيانات Feather. هذا يعني أنه يمكنك ربط بيانات من أدوات طرف ثالث (Plaso، Autopsy، Volatility، إلخ) مع أدلة Crow-Eye الأصلية، مما ينشئ تحليل ارتباط موحدًا عبر جميع مصادر بياناتك الجنائية.
مرور دقة مركّز من دورة 0.11.0، تم التحقق منه من البداية إلى النهاية مقابل قضية ويندوز حقيقية بحوالي 700 ألف سجل ومبني فوق أعمال موثوقية سابقة. كل إصلاح أدناه مثبت بواسطة مجموعة اختبارات الانحدار pytest ويُتحقق منه بواسطة إطار تحقق شامل؛ وقد اختبر الأجنحة السبعة الافتراضية التي صدرت آنذاك — أحد عشر جناحًا تُصدر اليوم. أعداد التطابقات المذكورة أدناه قيست تحت قواعد ذلك الإصدار: 0.13.0 غيّر ما يُعد تطابقًا (يجب أن يمتد التطابق الآن عبر أكثر من feather واحد) وماذا تعني درجة الثقة، لذا تعامل معها كسجل لذلك المرور وليس كأرقام حالية.
محرك الهوية يلتقط كل الأدلة
TypeError وأوقفت حلقة كل صف). قفزت السجلات المرئية من 3,558 → 745,615 في قضية التحقق.User، ComputerName، NewProcessName، TargetUserName) قبل بيانات القناة/الموفر.artifact على كل صف. يتراجع المحرك الآن إلى feather_metadata.artifact_type، بحيث تستخدم SecurityLogs / SystemLogs / ApplicationLogs أولوية الهوية الخاصة بدليلها.'N/A'، 'Unknown'، '-'، GUIDs فارغة جمعت سجلات غير مرتبطة معًا). يرفض المُتحقق الآن أكثر من 30 متغيرًا نائبًا.لا مزيد من "كل شيء منخفض — هناك خطأ ما"
High. التطابقات ذات feather_count == 1 تحصل الآن على confidence_category="Low - single feather"، بحيث يركز عرض High على الارتباط الحقيقي عبر feathers.chrome أكثر من 10 مفاتيح ولم يرتبط أبدًا). المفتاح الآن بالاسم فقط — يعمل الارتباط عبر feathers مرة أخرى.كشف انتحال الشخصية عبر تصنيف المسار — بعد تشكيل التطابق، يصنف المحرك مسار كل سجل كموثوق (Program Files، System32، WinSxS، أشكال /device/harddiskvolumeN/... الخاصة بـ BAM/SRUM، …) أو مشبوه (Temp، Downloads، Public، AppData\Local\Temp، سلة المحذوفات، جذور قابلة للإزالة، مشاركات الشبكة). التطابق الممتد عبر كلا التصنيفين يرفع impersonation_alert (معدل ≈0.05%، كل منها مرشح حقيقي).محاسبة أدلة صادقة — سجل إسقاط لكل نافذة زمنية مع دلاء مسماة (no_identity_field, normalize_failure, below_threshold_skipped, …) بالإضافة إلى ملخص لكل خط معالجة (سجلات تمت رؤيتها، عالية/منخفضة تم إصدارها، بدون هوية، دلاء الإسقاط، وصلات الريشة الخالدة). كل سجل إما يصل إلى تطابق أو إلى دلو إسقاط مسمّى — "لا أدلة متبقية" يمكن التحقق منها من السجل. low_confidence_review_mode مفعّل افتراضيًا، لذا تتحول المجموعات الأقل من العتبة إلى تطابقات منخفضة الثقة بدلاً من الاختفاء بصمت.
إثراء الهوية بالريشة الخالدة — الريشات الخالية من طوابع زمنية لكل صف (AutoStartPrograms, MUICache, SystemServices, TypedPaths) لم تعد تحصل على طابع زمني مزيف لوقت التوليد على كل صف؛ بدلاً من ذلك، بعد تشكّل التطابقات الزمنية، يربط المحرك السجلات المطابقة من كل ريشة خالدة حسب الهوية كدليل تكميلي.
سجل هوية موحّد — config/standard_fields/identities.json هو المصدر الوحيد للحقيقة لكل عمود يجب أن تراجعه المحركات + Eye: 98 فئة، 1,146 مرادف عمود (تطبيق/عملية، ملف، تجزئة، مستخدم، مضيف/جهاز، شبكة، سجل نظام، خدمة/مهمة، حدث، بريد إلكتروني، متصفح، سحابة، داخلية ويندوز، شهادة، حاوية، كائنات نظام تشغيل). إضافة مرادف عمود جديد هو تعديل JSON، وليس تغيير كود.
إصلاحات إيجابيات كاذبة للربط الدلالي — البوابة متعددة المؤشرات أصبحت مفروضة فعليًا الآن (data-exfiltration-pattern يتطلب ≥2 مؤشرات)؛ قواعد AND المستحيلة (4625 AND 4624) أُعيدت كتابتها كـ OR؛ قواعد أدوات المسح/الوصول عن بُعد تستخدم تعبيرات نمطية حقيقية بدلاً من إطلاقها على كل إدخال Prefetch؛ قواعد النشاط الأساسي خُفّضت من high/critical إلى info/low (التسجيل المرجّح للجناح يرفع التهديدات الحقيقية).
محرك الارتباط جاهز للإنتاج ويُستخدم بنشاط في التحقيقات (Correlation Engine v1.7.0):
Chrome.exe/chrome.dll/Chrome.EXE تنهار إلى دلو واحد؛ تبقى الإصدارات والمؤهلات المعمارية متميزة.YYYYMMDD والشرطة المائلة الأمريكية والسلاسل المشروحة كلها تُحلّل بشكل صحيح من المحاولة الأولى.run_times) تُوسَّع بحيث يحصل كل تنفيذ على حدث ارتباط خاص به.config/standard_fields/*.json؛ بيانات وصفية لكل جدول في correlation_engine/config/feather_schemas.json — وسّع بتعديل JSON، وليس الكود.query_time_range_iter بذاكرة O(1)؛ مخابئ ريشات محمية بالأقفال؛ جاهز للارتباط المتوازي.يتكون محرك الارتباط من أربعة مكونات رئيسية:
الغرض: تحويل القطع الأثرية الجنائية الخام إلى تنسيق موحّد قابل للاستعلام.
Examples:
**صيغ الاستيراد المدعومة:** CSV (أي ملف يحتوي على ترويسة)، JSON (مسطّح أو متداخل)، وSQLite (استيراد مباشر). تعيين تلقائي للأعمدة، اكتشاف نوع البيانات، توحيد الطوابع الزمنية إلى ISO، التحقق من الصحة، وفهارس محسّنة.```
prefetch.db (Feather)
├── feather_metadata (artifact type, source, record count)
├── prefetch_data (executable_name, path, last_executed, hash)
└── Indexes (timestamp, name, path)
الغرض: تحديد الأصول التي يجب ربطها وكيفية ذلك.
#### ٣. ⚙️ المحركات (استراتيجيات الارتباط)
**الغرض**: تنفيذ منطق الارتباط للعثور على العلاقات بين القطع الأثرية. تأتي الروابط الهيكلية **أولاً**؛ وتُضاف درجة مرجحة حسب المستوى فوقها كـ*تفسير/ترتيب*، وليس كأساس للمطابقة.
**محرك فحص النافذة الزمنية** — الأفضل للتحليل القائم على الوقت والارتباط الزمني المنهجي. يفحص عبر الوقت بفواصل زمنية ثابتة، ويجمع السجلات من جميع الريشات لكل نافذة، ويطبق مطابقة الحقول الدلالية + التسجيل المرجح، ويمنع التكرار عبر تتبع MatchSet. **O(N log N)** (استعلامات الطابع الزمني المفهرسة)؛ معالجة دفعات (~٢٬٥٦٧ نافذة/ثانية).
**محرك الارتباط القائم على الهوية** — الأفضل لمجموعات البيانات الكبيرة (>١٬٠٠٠ سجل) وتتبع الهوية. يستخرج الهويات ويطبعها، ويجمع السجلات حسب الهوية، ويبني نقاط ارتكاز زمنية داخل كل مجموعة، ويصنف الأدلة كأولية/ثانوية/داعمة، ويبث لمجموعات كبيرة جدًا (>٥٬٠٠٠ نقطة ارتكاز) بذاكرة ثابتة. **O(N log N)**؛ أكثر من ٤٠ نمط حقل هوية لكل نوع.
**اختيار المحرك:** استخدم محرك النافذة الزمنية للتحليل القائم على الوقت ومحرك الهوية لتتبع الهوية — كلاهما جاهز للإنتاج ومحسّن لمجموعات البيانات الكبيرة مع استعلامات مفهرسة.
#### ٤. 🔄 خطوط الأنابيب (تنسيق سير العمل)
**الغرض**: أتمتة سير عمل التحليل الكامل من إنشاء الريشات إلى توليد النتائج. يقرأ خط الأنابيب إعداده (نوع المحرك، الأجنحة، الريشات)، ويستدعي المحرك الصحيح عبر EngineSelector، وينفذ كل جناح، ويجمع المطابقات، ويحفظ النتائج (قاعدة البيانات + JSON)، ويعرضها في الواجهة الرسومية مع التصفية والتصور.```json
{
"pipeline_name": "Investigation Pipeline",
"engine_type": "identity_based",
"wings": [{"wing_id": "execution-proof"}, {"wing_id": "file-access"}],
"feathers": [
{"feather_id": "prefetch", "database_path": "data/prefetch.db"},
{"feather_id": "srum", "database_path": "data/srum.db"},
{"feather_id": "eventlogs", "database_path": "data/eventlogs.db"}
],
"filters": {
"time_period_start": "2024-01-01T00:00:00",
"time_period_end": "2024-12-31T23:59:59"
}
}
### مثال استخدام: العثور على دليل التنفيذ
**السيناريو**: إثبات أن `malware.exe` تم تنفيذه على نظام.```json
{
"wing_id": "malware-execution",
"correlation_rules": { "time_window_minutes": 5, "minimum_matches": 2 },
"feathers": ["prefetch", "shimcache", "amcache"]
}
I need the actual content of chunk 18 to translate it. Please provide the Markdown text you want translated from English to Arabic.```python from correlation_engine.pipeline import PipelineExecutor executor = PipelineExecutor(pipeline_config) results = executor.execute()
بعد اكتمال الفحص، سيعرض التقرير النتائج التفصيلية بما في ذلك:
- **الملخص التنفيذي**: نظرة عامة عالية المستوى على النتائج.
- **النتائج التفصيلية**: قائمة شاملة بكل ثغرة تم اكتشافها، مصنفة حسب الخطورة.
- **التوصيات**: خطوات قابلة للتنفيذ لمعالجة الثغرات المكتشفة.
- **المراجع**: روابط لموارد إضافية وقواعد بيانات الثغرات المعروفة.
يمكن تصدير التقرير بتنسيقات متعددة مثل HTML أو PDF أو JSON لسهولة المشاركة والتكامل مع أدوات أخرى في سير العمل الأمني لديك.```
Identity: malware.exe
Anchor 1 (2024-01-15 10:30:00):
✓ Prefetch: malware.exe executed at 10:30:00
✓ ShimCache: malware.exe modified at 10:30:15
✓ AmCache: malware.exe installed at 10:29:45
Conclusion: Execution proven with 3 corroborating artifacts
python -m correlation_engine.mainمساعد قوي، وليس بديلاً. يقوم Eye بأتمتة فرضيات المحقق والتحقق منها — ولا يتخذ القرار نيابة عنك أبدًا.
Eye هو مساعد الطب الشرعي بالذكاء الاصطناعي المدمج في Crow-Eye: محقق جنائي ماهر مدعوم بقاعدة معرفية حقيقية للقطع الأثرية في Windows. يمنحك واجهة بلغة طبيعية للاستعلام والربط وتوثيق كل شيء في قضية — Prefetch، MFT، السجل، سجلات الأحداث، AmCache، ShimCache، SRUM، والمزيد — مع الحفاظ على سجل قابل للتدقيق ومقاوم للعبث لما فعله بالضبط. يمكن لـ Eye العمل بالكامل على أجهزتك الخاصة (بما في ذلك معزول تمامًا عن الشبكة)، بما يتماشى مع موقف Crow-Eye الخصوصي "0 مللي ثانية من البيانات تُرسل خارج الجهاز". المعمارية الكاملة: eye/README.md.
يحوّل Eye الأسئلة الحوارية ("أرني ما تم تنفيذه من C:\Temp بعد الساعة 22:00") إلى عمل جنائي حقيقي: يخطط لنهج، ويسترد المعرفة ذات الصلة بالقطع الأثرية، وينفذ SQL وبحوثًا عبر القطع الأثرية ضد قواعد بيانات قضيتك، ويصنع إجابة مُتحققًا منها. يتم إنتاج كل إجابة في مكانين في وقت واحد — رد محادثة لك، وكتلة منظمة تُكتب في مساحة عمل التقرير الحي بحيث يُبنى الملف بنفسه مع تقدم التحقيق.
كل ما يفعله Eye مرتبط بـ بروتوكول غسان إلسمان (GEP) — وهو معيار محايد للبائعين ومستقل عن الأدوات لكيفية استخدام أي ذكاء اصطناعي في الطب الشرعي الرقمي. وهو 10 مبادئ يجب أن يلتزم بها أي نظام مطابق بحيث تظل النتائج المدعومة بالذكاء الاصطناعي صادقة وقابلة للتتبع إلى السجلات المصدرية ومدعومة بسلسلة قابلة للتدقيق ومقاومة للعبث، مع بقاء المحقق البشري مسيطرًا:
Eye في Crow-Eye هو التنفيذ المرجعي لـ GEP؛ السلوكيات داخل المنتج التي تدعمه هي قواعد تشغيلية. 📜 اقرأ المعيار: eye/docs/GEP_standard.md.
يتكيف Eye مع نموذج التهديد الخاص بك من خلال ثلاثة أوضاع نشر:
في وضع وكيل CLI، يقود Crow-Eye وكيل ذكاء اصطناعي طرفي/سطر أوامر موجودًا كنموذج — بدلاً من واجهة برمجة تطبيقات سحابية أو خادم محلي دون اتصال — بحيث يمكنك التحقيق مع الوكيل الذي تستخدمه بالفعل.
حلقة التحقيق:
يمكنك تغيير النماذج في وقت التشغيل باستخدام أداة switch_model. التبديل مقيد بنفس الخلفية، بحيث لا تُرسل الأدلة بصمت إلى مزود مختلف عن الذي اخترته.
تم بناء Eye بحيث يمكنك رؤية — وإثبات لاحقًا — كيف وصل إلى استنتاج. أثناء عمل Eye، يبث تحديثات ThinkingStep منظمة إلى واجهة المستخدم في الوقت الفعلي؛ يحمل كل منها step_id وtype وlabel قابل للقراءة البشرية وstatus (active ← done، أو error) وtool/params/detail اختياريًا.
| نوع الخطوة | ما تراه |
|---|---|
thinking | تخطيط Eye — اكتشاف النية الجنائية، بناء موجه النظام، تحديد الخطوات التالية. |
يتكشف استعلام نموذجي كـ thinking → rag → thinking → tool_call → synthesis، وتحتفظ كل قضية بآثار قابلة للتتبع على القرص يمكنك فحصها لاحقًا:
| الملف | ما يسجله |
|---|---|
<case>/EYE_Logs/eye_payload_seal.jsonl | الحمولات الدقيقة المرسلة إلى النموذج، مسلسلة بالتجزئة. |
<case>/EYE_Logs/truncation_audit.log | ما تم الاحتفاظ به من السياق، وتلخيصه، وإسقاطه، أو تثبيته — ولماذا. |
<case>/case_history.json | سجل المحادثة الكامل، مع عدد الرموز لكل رسالة. |
Eye مدفوع بالأدوات: النموذج لا يلمس الأدلة مباشرة أبدًا. يصدر استدعاءات أدوات، وينفذها Eye ضد قواعد بيانات القضية ويعيد النتائج — بحيث يكون كل إجراء صريحًا ومسجلًا وقابلًا لإعادة الإنتاج. تُعرَّف الأدوات في configs/llm_config.json وتُوجَّه عبر eye/services/context_manager.py.
أدوات التحقيق — قراءة الأدلة وتحليلها:
أدوات إعداد التقارير تبني مساحة عمل التقرير الحي: report_append_section، report_add_data_table، report_add_chart، report_add_timeline، report_add_heatmap، report_add_chain_of_custody، report_add_chat_transcript، report_add_image، report_edit_section، report_delete_section، chat_add_table، وexport_report (يتطلب التصدير موافقة بشرية).
أدوات التأليف (خاضعة للحوكمة — انظر بناء أجنحة الارتباط والخرائط الدلالية): correlation_create_wing، correlation_edit_wing، correlation_create_semantic_mapping، correlation_edit_semantic_mapping. تُترجم استدعاءات الأدوات إلى ما يتوقعه الخلفية النشطة — استدعاء دوال أصلي لواجهات برمجة التطبيقات السحابية والخوادم المحلية، أو غلاف XML <tool_call> لوكلاء CLI.
لا يقوم Eye فقط بالاستعلام عن محرك الارتباط — بل يمكنه المساعدة في توسيعه. عندما يكتشف Eye نمطًا متكررًا عبر القطع الأثرية، يمكنه اقتراح Wings جديدة (قواعد ارتباط) وخرائط دلالية (ترجمات تقنية إلى بشرية). هذا تأليف خاضع للحوكمة: يقترح Eye، ويراجع المحلل القطعة الأثرية المحفوظة، وكل تغيير مبرر ومدعوم بالأدلة.
الجناح يربط الريش معًا ضمن نافذة زمنية وعتبة حد أدنى من التطابقات لإثبات ادعاء:
الخريطة الدلالية تترجم قيمة تقنية خام إلى معنى قابل للقراءة البشرية (مثل EventID 4624 ← "تسجيل دخول ناجح"). تأتي بنوعين: mapping بسيط (قيمة واحدة / تعبير نمطي ← قيمة دلالية) أو rule متعدد الشروط (شروط مرتبطة بـ AND/OR). كلاهما يدعم category وseverity وconfidence وscope، وكلاهما يتطلب reason + related_evidence.
الحوكمة — قواعد جانب الكتابة التي تدعم GEP:
reason جنائيًا.database:table:rowid واحد على الأقل.يمكن للتحقيقات الطويلة أن تتجاوز نافذة سياق النموذج — خاصة النماذج الأصغر دون اتصال. بدلاً من الانهيار أو إسقاط الأدلة بصمت، يقوم Eye بضغط سياقه تلقائيًا قبل كل استدعاء نموذج (داخل مسار التوليد المحمي الخاص به، مدقق بالكامل).
قبل كل استدعاء، يقيس Eye الحمولة الكاملة ويحجز مساحة للرد (10% من النافذة، بحد أدنى 512 رمزًا، ولا يزيد أبدًا عن النصف). إذا لم تكن مناسبة بعد، فإنه يشفي في تمريرين مرتبين، دون لمس الرسائل المحمية أبدًا (المثبتة، أو الأدلة المكتشفة تلقائيًا، أو نتيجة أداة):
SUMMARIZED.TRUNCATED.إذا كان جوهر الأدلة غير القابل للاختزال (المثبت + نتائج الأدوات + السؤال الحالي) لا يزال يفيض، يرفض Eye المتابعة بدلاً من اقتطاع الأدلة (REFUSED_OVERFLOW) ويطلب منك تضييق الاستعلام أو استخدام analyze_large_dataset. مهما كان ما يصل أخيرًا إلى النموذج فهو الحمولة الدقيقة التي تُختم لسلسلة الحضانة.
Eye عديم الحالة بين الأدوار — لذا فإن الخريطة السردية هي المكان الذي تعيش فيه "ما نعرفه وما استنتجناه" لقضية ما. إنها ذاكرة العمل الدائمة والقابلة للتدقيق والمقاومة للعبث لـ Eye، ومحتوياتها تُحقن في موجه Eye في كل دور (الخريطة حرفيًا هي الذاكرة).
proven · open · negative · needs · absolute)، والأدلة المدعومة بالقطع الأثرية تحتها.narrative_map_audit.jsonl). يمكنك إضافة وتعديل وإزالة ادعاءاتها وأدلتها، مما يشكل مباشرة كيف يفهم Eye القضية ويفسرها.open بدون أدلة أثناء تحقيقه، لكنه لا يمكن أن يكون proven أبدًا بدون أدلة؛ الموضوع الذي فحصه Eye ووجده فارغًا يتحول تلقائيًا إلى negative — لأن الغياب الموثق بحد ذاته نتيجة.الامتثال ليس ميزة ملحقة في الأعلى — بل يُفرض في خط الأنابيب.
database:table:rowid، بالإضافة إلى الإزاحات المحسوبة لسجلات MFT). الأختام للإلحاق فقط ومسلسلة بالتجزئة إلى <case>/EYE_Logs/eye_payload_seal.jsonl — أي سجل معدل أو محذوف يكسر السلسلة، لذا يثبت السجل رياضيًا أي البايتات حللها النموذج.<case>/EYE_Logs/truncation_audit.log (SUMMARIZED، TRUNCATED، PRESERVED، PINNED، UNPINNED، BUDGET_REDUCED)، كل منها بتجزئة. يتم تثبيت الأدلة المكتشفة تلقائيًا فوق عتبة ثقة؛ يمكنك أيضًا تثبيت الرسائل يدويًا.📖 معمارية Eye الكاملة: eye/README.md.
تاريخيًا، وقع المحققون في فخ الثقة بأدوات الطب الشرعي دون فهم كيفية تصرف القطع الأثرية الأساسية أو كيف حللتها الأداة. الخطر اليوم هو ببساطة استبدال "الأداة" بـ "الذكاء الاصطناعي". يمكن للذكاء الاصطناعي تحليل سجل بدقة تقنية مثالية ومع ذلك وضعه في سياق خاطئ — مما يغير المعنى الكامل للأدلة.
Eye-Describe موجود بحيث لا يضطر الإنسان ولا النموذج إلى التخمين. إنه مرجع تفاعلي على مستوى البايت للهياكل الثنائية الخام للقطع الأثرية في Windows، ويخدم دورين في وقت واحد:
| الدور | ما يفعله |
|---|---|
| 🧑🏫 المخطط البشري | مرجع تعليمي تفاعلي للتشريح العميق على مستوى البايت للقطع الأثرية في Windows — ما هو كل هيكل، وكيف يتصرف، وما يمكن وما لا يمكن إثباته. مجاني للاستخدام، موجه للطلاب والمعلمين والممارسين الذين يريدون فهم الأدلة بدلاً من عمود المخرجات. |
| ⚖️ مرساة الامتثال للذكاء الاصطناعي | رؤية Eye مرتبطة بسلوكيات القطع الأثرية الموثقة في Eye-Describe. يستدل النموذج ضد مرجع ثابت لما تعنيه القطعة الأثرية فعليًا، بدلاً من استنتاج الدلالات بنفسه. |
من خلال تثبيت طبقة الذكاء الاصطناعي على سلوك القطع الأثرية الموثق، لا يطلب منك Crow-Eye الثقة بنموذج — بل يقيد النموذج لاحترام الطب الشرعي الخام.
لا تستبدل الثقة بالأداة بثقة بالذكاء الاصطناعي. افهم البيانات.
أدوات الطب الشرعي مفيدة فقط إذا كان يمكن الدفاع عن مخرجاتها. عمل Crow-Eye على الصحة مرئي عمدًا:- مجموعات الاختبار الانحدارية. محرك الارتباط مقفل بمجموعة اختبار pytest تغطي تحليل الطوابع الزمنية، وتطبيع الهوية، والتوزيع متعدد الطوابع الزمنية، وعقد الكاتب، وتأليف Eye (حوكمة GEP في جانب الكتابة)، وسجل الحقول القياسية. محرك UBA يأتي مع مجموعته الخاصة، بما في ذلك تشغيل شامل من البداية إلى النهاية ضد قضية حقيقية.
RELEASE_NOTES.md — بما في ذلك الحالات التي غيّر فيها الإصلاح عدد السجلات المرئية بمراتب حجمية. معرفة ما كان خاطئًا، ومتى، جزء مما يجعل النتيجة قابلة للدفاع عنها.verify_chain() يعيد اجتياز سجل تدقيق Narrative Map وسلسلة ختم الأدلة لاكتشاف أي تعديل — بما في ذلك الحقول القابلة للقراءة البشرية.Crow-Eye أكثر من مجرد برنامج — إنها منصة بحثية مفتوحة تسرّع المجال بأكمله في تحليل الأدلة الجنائية لنظام Windows. يركز المشروع على:
مجموعة مختارة من واجهة Crow-Eye وطرق العرض التحليلية.






الأعمال المخطط لها والجارية (انظر RELEASE_NOTES.md للتغييرات المُصدرة):
لديك فكرة أو تريد إضافة دليل رقمي؟ افتح مشكلة أو راجع المساهمة.
Crow-Eye مبني كمنصة بحثية مفتوحة، والمساهمات مرحب بها — محللات جديدة، قواعد ارتباط، توثيق، وبحث في الأدلة الرقمية.
Crow-Eye مُصدر تحت رخصة GNU العامة العامة الإصدار 3.0 (GPL-3.0). إنه مجاني للاستخدام والدراسة والمشاركة والتعديل بموجب شروط تلك الرخصة.
إذا كنت تستخدم Crow-Eye في عمل أكاديمي أو بحث منشور أو تقرير قضية، يرجى الاستشهاد به:```bibtex @software{elsman_crow_eye, author = {Elsman, Ghassan}, title = {Crow-Eye: A Windows Forensics Engine}, url = {https://github.com/Ghassan-elsman/Crow-Eye}, license = {GPL-3.0}, year = {2026} }
Elsman, G. *Crow-Eye: A Windows Forensics Engine* (GPL-3.0). https://github.com/Ghassan-elsman/Crow-Eye
بالنسبة لاستشهادات المنهجية، يتم توثيق بروتوكول Ghassan Elsman بشكل منفصل في [`eye/docs/GEP_standard.md`](https://github.com/ghassan-elsman/crow-eye/blob/main/eye/docs/GEP_standard.md).
## 💖 الدعم
Crow-Eye هو أداة مجانية ومفتوحة المصدر، تم بناؤها وصيانتها بواسطة شخص واحد. إذا كانت تساعدك في عملك، يرجى التفكير في رعايتها — فهي تمول مباشرةً محللات وأبحاثًا جديدة: **[SPONSORS.md](https://github.com/ghassan-elsman/crow-eye/blob/main/SPONSORS.md)** · **[GitHub Sponsors](https://github.com/sponsors/Ghassan-elsman)**.
## الاعتمادات
تم إنشاؤها وصيانتها بواسطة **Ghassan Elsman**.
| أنت | مدخلاتك النموذجية | من أين تبدأ |
|---|
| فرق الاستجابة للحوادث المؤسسية / MSSP / MDR | مجموعات مستهدفة من Velociraptor أو KAPE أو الجمع الأصلي من EDR | المستورد غير المتصل ← محرك الارتباط ← UBA |
| إنفاذ القانون / مختبرات التحليل الجنائي | صور جنائية كاملة (E01, VHDX, VMDK, Raw) مع متطلبات سلسلة الحفظ | تحليل الصور ← محرك الارتباط ← الخريطة السردية |
| الأمن الداخلي / تحقيقات التهديد الداخلي والموارد البشرية | أنظمة مباشرة أو أدلة مجمعة | التحليل المباشر ← قصة نشاط UBA |
| الطلاب والمعلمون والباحثون | صور تجريبية وبيانات مختبرية | Eye-Describe ← بدء سريع |
| النظام الفرعي | ما يفعله | المرحلة |
|---|
| Crow-Claw | جمع عالي السرعة للأنظمة المباشرة وصور الأجهزة الميتة. | الجمع |
| المستورد غير المتصل | SCAN ← COLLECT ← PARSE للأدلة من أي مصدر إلى قاعدة بيانات القضية. | الجمع |
| محرك الارتباط | إعادة بناء بمحركين (الهوية + النافذة الزمنية) عبر Feathers · Wings · Engines · Pipelines. | التحليل |
| الخط الزمني التفاعلي | خط زمني مربوط بالهوية وقابل للتتبع قضائيًا (عرض الخريطة الحرارية / الأسبوع / اليوم)، يُقرأ مباشرة من قواعد بيانات القضية. | التحقق |
| تحليلات سلوك المستخدم (UBA) | قصة نشاط "ماذا فعل هذا المستخدم" بلغة إنجليزية بسيطة مدفوعة بالقواعد. | الاستخبارات |
| Eye — مساعد الذكاء الاصطناعي | تحقيق بلغة طبيعية + ذاكرة القضية المختومة الخريطة السردية. | الذكاء الاصطناعي |
| تحليل التخزين | تحليل القرص الفعلي والأقسام (كشف المخفي/غير المُحمّل، تحذيرات الإقلاع). | التحليل |
| الدليل | مباشر | غير متصل | البيانات المستخرجة |
|---|
| Prefetch | ✅ | ✅ | سجل التنفيذ، عدد مرات التشغيل، طوابع زمنية لكل تشغيل |
| السجل (AutoRun، UserAssist، BAM/DAM، ShimCache، الشبكات، المنطقة الزمنية، وأكثر من 80 مفتاحًا إجمالًا) | ✅ | ✅ | الاستمرارية، استخدام البرامج، النشاط الخلفي، إعداد الشبكة، حالة الموافقة على بدء التشغيل |
| السجل — المفاتيح والقيم المحذوفة | ✅ | ✅ | سجلات مستردة من المساحة الحرة في الخلية، مُعلَّمة على هذا النحو (record_state) |
| السجل — أسماء الفئات وأمان المفاتيح | ✅ | ✅ | أسماء فئات nk (حيث يحتفظ Control\Lsa بمفتاح التمهيد)، المالك/المجموعة/DACL من واصفات الأمان المشتركة |
| السجل — سجلات المعاملات | ✅ | ✅ | إعادة تشغيل .LOG1/.LOG2 على نسخة عمل، بحيث تُقرأ الخلية المتسخة في الحالة التي كان عليها الجهاز |
| Amcache (29 جدولًا) | ✅ | ✅ | تنفيذ التطبيقات، وقت التثبيت، SHA-1، مسارات الملفات، برامج التشغيل، أجهزة PnP، تعداد الأجهزة |
| ShimCache | ✅ | ✅ | التطبيقات المنفذة، آخر تعديل، الحجم، والكتلة الزائدة المفكوكة (نوع آلة PE، علامة ثنائي النظام) |
| MUICache | ✅ | ✅ | وجود البرامج وأسماء العرض |
| قوائم الانتقال و LNK | ✅ | ✅ | الوصول إلى الملفات، المسارات، الطوابع الزمنية، البيانات الوصفية |
| ShellBags | ✅ | ✅ | سجل الوصول إلى المجلدات والتنقل |
| MRU و RecentDocs / المسارات المكتوبة | ✅ | ✅ | سجل الفتح/الحفظ، الملفات الحديثة، المواقع المكتوبة |
| سجل المتصفح / المواقع | ✅ | ✅ | المواقع التي تمت زيارتها وأوقات الوصول |
| سجلات الأحداث (النظام / الأمان / التطبيقات) | ✅ | ✅ | عمليات تسجيل الدخول، إنشاء العمليات (4688)، تغييرات الحسابات والخدمات، مسح السجلات |
| MFT | ✅ | ✅ | بيانات وصفية للملفات، ملفات محذوفة، طوابع زمنية (NTFS، ويندوز 7/10/11) |
| دفتر يومية USN | ✅ | ✅ | إنشاء/تعديل/حذف/إعادة تسمية الملفات مع سجل الأسماء الكامل |
| سلة المحذوفات | ✅ | ✅ | أسماء الملفات المحذوفة، المسارات، وقت الحذف، الحجم |
| SRUM | ✅ | ✅ | استخدام موارد التطبيق/الشبكة/الطاقة، البيانات المنقولة لكل تطبيق |
| أجهزة USB والأجهزة المتصلة | ✅ | ✅ | اتصال الأجهزة ووجودها |
| قائمة الشبكات والاتصالات | ✅ | ✅ | الشبكات المعروفة ونشاط الاتصال |
| التشغيل التلقائي / الخدمات وبرامج التشغيل | ✅ | ✅ | الاستمرارية، تثبيتات الخدمات وتغييرات الحالة |
| الأقراص والأقسام (جنائيات التخزين) | ✅ | ✅ | شجرة الأقراص الفعلية، تخطيط الأقسام، اكتشاف المخفي/غير المُثبَّت |
winregProperties$RECYCLE.BIN لاسترداد أسماء الملفات المحذوفة والمسارات الأصلية وأوقات الحذف والأحجام (الأنظمة الحية وصور الأقراص).| 🔍 SCAN | 📦 COLLECT |
|---|
| الإجراء | الاكتشاف — يحدد الأدلة في موقعها الأصلي | الالتقاط — ينسخ الأدلة ويحفظها في مجلد القضية |
| تأثير الإدخال/الإخراج | للقراءة فقط؛ لا تُنقل ملفات | قراءة + كتابة؛ يكرر الأدلة فعليًا |
| التنظيم | يحدّث بيانات .artifact_scan_index.json الوصفية | ينظم الملفات في مجلدات خاصة بالنوع |
| حالة الاستخدام | فرز سريع لمعرفة ما إذا كان المصدر يحتوي بيانات ذات صلة | حفظ جنائي كامل للتحليل طويل الأمد |
| الإدخال | ما يحدث |
|---|
.db / .sqlite | يتم التحقق منه ونسخه حرفيًا إلى مجلد Imported_Evidence/ الخاص بالقضية. يُترك المخطط دون تغيير. |
.csv / .json | تحويل تلقائي إلى قاعدة بيانات SQLite بشكل feather عبر FeatherWriter الأساسي، حاملًا feather_metadata الذي يعلن الطابع الزمني الأساسي للجدول — مكتشف تلقائيًا من أسماء الأعمدة — تمامًا مثل feather المجمَّع محليًا. |
| الفئة | تشمل الاكتشافات |
|---|
| الهوية والوصول | تسجيل الدخول / الخروج، فتح قفل محطة العمل، تسجيلات دخول سطح المكتب البعيد، تسجيلات دخول المسؤول، استخدام بيانات الاعتماد الصريحة (runas)، إنشاء الحسابات وتغييراتها، إضافات مجموعة المسؤولين |
| التنفيذ | البرامج المفتوحة (UserAssist)، البرامج المشغلة (Prefetch، موسعة إلى أحداث لكل تشغيل)، إنشاء العمليات (4688)، وجود البرامج (ShimCache / AmCache / MUICache)، تثبيتات التطبيقات، أعطال التطبيقات (من سجلات أحداث التطبيقات 1001) |
| نشاط الملفات | فتح / إنشاء / حذف / نسخ / إعادة تسمية الملفات — تُظهر عمليات إعادة التسمية سجل الأسماء الكامل (قديم → … → حالي) المُعاد بناؤه من دفتر يومية USN، مع حل الحذف الناعم ($R/$I) |
| التنقل | تصفح المجلدات (ShellBags)، المستندات الحديثة، المواقع المكتوبة، زيارات المواقع |
| الأجهزة والشبكة | اتصال جهاز USB، وجود الأجهزة، مشاركات الشبكة، اتصالات الشبكة، البيانات المنقولة لكل تطبيق (SRUM) |
| الاستمرارية والنظام | استمرارية التشغيل التلقائي (مفاتيح Run + الخدمات، مرفوعة عندما يعمل الهدف من مسار قابل للكتابة من قبل المستخدم)، تثبيتات الخدمات وبرامج التشغيل، تغييرات حالة الخدمات، بدء/إيقاف النظام، تغييرات الساعة، مسح سجلات الأحداث |
| السجلات | محرك النافذة الزمنية | المحرك القائم على الهوية |
|---|
| 1,000 | 0.5 ثانية | 2 ثانية |
| 10,000 | 5 ثوانٍ | 15 ثانية |
| 100,000 | 50 ثانية | 2.5 دقيقة (تدفقي) |
| 1,000,000 | — | 25 دقيقة (تدفقي) |
| القدرة | ما تعنيه لك |
|---|
| التحقيق بلغة طبيعية | اسأل بالإنجليزية البسيطة؛ يكتب Eye استعلامات SQL ويبحث نيابة عنك. |
| تكامل متعدد المصادر | وصول موحد عبر جميع القطع الأثرية المحللة في القضية. |
| تحليل معزز بـ RAG | يسحب Eye المعرفة الجنائية الخاصة بالقطعة الأثرية قبل الإجابة. |
| مساحة عمل التقرير الحي | يتم توثيق النتائج والجداول والرسوم البيانية والجداول الزمنية في الوقت الفعلي. |
| الإنسان في الحلقة | تتطلب الإجراءات الحرجة (مثل تصدير التقرير) موافقتك الصريحة. |
| سلسلة الحضانة | إثبات تشفيري لما حلله النموذج بالضبط. |
| # | المبدأ | في سطر واحد |
|---|
| GEP-1 | أولوية الأدلة | الاستنتاجات تأتي فقط من القطع الأثرية التي تم فحصها فعليًا. |
| GEP-2 | قابلية التتبع | كل حقيقة مرتبطة بسجل مصدري محدد. |
| GEP-3 | الدقة والتسلسل الزمني | طوابع زمنية UTC دقيقة ومعرفات ومسارات، مرتبة زمنيًا. |
| GEP-4 | التأكيد المتبادل | الاعتماد على مصادر متعددة؛ الإبلاغ عن التوافق والصمت والتعارض. |
| GEP-5 | التحقق من الفرضية | معاملة الادعاءات البشرية كفرضيات يجب إثباتها أو دحضها. |
| GEP-6 | الاكتمال | عدم إسقاط أو اقتطاع الأدلة بصمت أبدًا. |
| GEP-7 | النزاهة وعدم الإنكار | عدم تعديل الأدلة أبدًا؛ تسجيل ما شوهد وفُعل بطريقة مقاومة للعبث. |
| GEP-8 | الشفافية وقابلية التفسير | الاستدلال والأدوات المستخدمة والبيانات التي شوهدت مرئية وقابلة للتدقيق. |
| GEP-9 | السلطة البشرية | المحقق يقرر؛ الإجراءات الدائمة قابلة للإسناد. |
| GEP-10 | قابلية الدفاع | المخرجات موضوعية ودقيقة ومنظمة للمراجعة المستقلة. |
| الوضع | الأفضل لـ | الخلفيات |
|---|
| ☁️ نماذج الذكاء الاصطناعي السحابية | تحليل عميق ومعقد بأقصى قدرة حاسوبية | OpenAI، Anthropic (Claude)، Google Gemini |
| 🔒 خادم ذكاء اصطناعي دون اتصال (معزول عن الشبكة) | تحقيقات بدون أي تعرض، داخل الموقع | Ollama، LM Studio |
| ⚡ وكلاء طرفية CLI | إعادة استخدام وكيل ذكاء اصطناعي طرفي تملكه بالفعل كنموذج | Claude Code، Gemini CLI، ChatGPT CLI، llama.cpp، … |
rag | استرداد Eye للمعرفة الجنائية من قاعدة معرفته لتأصيل الإجابة. |
tool_call | تنفيذ Eye لأداة جنائية (استعلام SQL، بحث، استعلام ارتباط). |
synthesis | تحقق Eye وتجميع الإجابة النهائية المدعومة بالأدلة. |
| الأداة | الغرض |
|---|
query_database | تشغيل استعلام SELECT ضد قاعدة بيانات جنائية. |
search_artifacts | بحث نصي / تعبير نمطي عبر قواعد البيانات. |
semantic_search_artifacts | بحث دلالي عبر القطع الأثرية المحللة. |
get_schema | فحص مخططات الجداول. |
query_timeline | مسح زمني واحد عبر كل قاعدة بيانات في القضية — ماذا حدث، ومتى. |
query_correlation_results | الاستعلام عن مخرجات محرك الارتباط حسب الوقت / الهوية. |
read_imported_evidence | قراءة الأدلة من طرف ثالث المستوردة إلى القضية حرفيًا (تقارير، بريد إلكتروني، مخرجات أداة متصفح). |
correlate_imported_evidence | ربط الأدلة من طرف ثالث المستوردة إلى القضية ضد القطع الأثرية الأصلية. |
analyze_large_dataset | تحليل خريطة-تقليل لمجموعات نتائج كبيرة — بدون اقتطاع صامت. |
list_case_files | سرد الملفات في دليل القضية. |
internet_search / fetch_web_content | البحث عن سياق خارجي تقني / تهديدات وجلبه. |
query_living_off_the_land_intel | استعلامات LOLBAS / LOLDrivers. |
query_threat_intel | استعلامات VirusTotal / استخبارات التهديدات. |
switch_model | تغيير النموذج في وقت التشغيل (نفس الخلفية فقط). |
| الحقل | المعنى |
|---|
wing_name | اسم قابل للقراءة البشرية للقاعدة. |
proves | الادعاء الجنائي الذي يدعمه (مثل تنفيذ برنامج). |
feathers[] | القطع الأثرية المراد ربطها — كل منها مع artifact_type وweight اختياري (0–1) وtier (1–4). |
time_window_minutes | نافذة الارتباط (الافتراضي 180 = 3 ساعات). |
minimum_matches | عدد الريش الذي يجب أن يتطابق ضمن النافذة (الافتراضي 1). |
reason (مطلوب) | التبرير الجنائي للقاعدة. |
related_evidence (مطلوب) | مرجع واحد أو أكثر database:table:rowid الذي دفع إلى إنشائها. |
reason جنائيًا وrelated_evidence؛ القواعد المؤلفة خارج Eye للقراءة فقط ولا يمكن إعادة كتابتها بصمت.