
محرك إعادة بناء الأدلة الجنائية للاستجابة لحوادث السحابة والهوية.
محرك إعادة بناء جنائي للاستجابة لحوادث السحابة والهوية.
بالنظر إلى بيانات القياس المجزأة للسحابة وSaaS والهوية — سجلات مستوى التحكم، وأحداث تسجيل الدخول، ونشاط الرموز والموافقات — يعيد NV بناء كيفية تحرك الاختراق على الأرجح عبر الحسابات والخدمات، ويُعدّد المسارات الأخرى الأكثر احتمالاً التي كان يمكن أن يسلكها، ويُبلّغ عن كل خطوة بثقة مُعايَرة وقابلة للتفسير. إنه يرفض الادعاء بما لا تدعمه الأدلة.
الكشف يخبرك أن شيئاً ما حدث. نيمبوس فيستيج يخبرك كيف — وماذا أيضاً.
الاختراقات الحديثة لا "تقتحم". بل تسجّل الدخول. الهوية هي الآن وسيلة الهجوم الأساسية، المتورطة في الغالبية العظمى من تحقيقات الاستجابة لحوادث السحابة، ومعظم الاختراقات تمتد عبر أسطح متعددة — الهوية بالإضافة إلى السحابة وSaaS ونقطة النهاية. البيانات القياسية التي تسجلها مجزأة وغير متسقة، مما يفرض بالفعل على المستجيبين إعادة بناء القصة يدوياً من بيانات غير مكتملة.
إعادة البناء اليدوية تلك بطيئة، وتفشل بطريقة متوقعة: المستجيب يرسو على أول سردية معقولة ويفوته السردية الحقيقية. يعمل NV على أتمتة إعادة البناء ويهاجم نمط الفشل هذا مباشرةً من خلال تقديم فضاء المسارات المعقولة مُرتّباً دائماً، وليس قصة واحدة.
الأهم من ذلك، يفعل NV هذا مع الصدق كمنتج. العدو المُعلن للسوق هو الثقة الصندوقية السوداء — أداة تزعم نتيجة دون إظهار عملها. كل رقم ينتجه NV قابل للتتبع إلى الدليل المحدد الذي كسبه، وكل ما لا يمكنه دعمه يُحجب بدلاً من تخمينه.
NV ليس كاشفاً، أو ماسحاً، أو مدققاً، أو مشغّل هجمات. تلك الأدوات تخبرك أن شيئاً ما حدث وتقيسه. يعمل NV بالعكس — إعادة بناء استدلالية للآلية من الأنماط، عبر منظومة هوية مجزأة.
الفريق الأزرق يتجدد؛ الفريق الأحمر يتحول إلى سلعة. الأدوات الهجومية تجد مجموعة محدودة وقابلة للترقيع من الثغرات وتنطوي في خطوط أنابيب CI/CD الآمنة الآلية. إعادة بناء كيف حدث الاختراق لا تُحسم أبداً — المهاجمون يواصلون الابتكار، لذا فإن الحاجة دائمة وتتجدد ذاتياً.
المحرك مستقل عن الركيزة. المنطق الأساسي — إعادة بناء الآلية من الأنماط، بثقة مُعايَرة وسكة توقف — مُلتزم به السحابة/الهوية أولاً، لكنه يُنقل إلى الشبكة ونقطة النهاية وOT لاحقاً. يمكن أن يتغير الهدف دون إعادة كتابة الأطروحة.
إعادة البناء تتيح التحصين. بمجرد أن تعرف كيف دخلوا — وأي أبواب أخرى كانت مفتوحة — تبني الدفاعات. المسارات غير المسلوكة لكن المعقولة هي قائمة أعمال تحصين، غالباً ما تساوي أكثر من إعادة البناء نفسها، لأن معظم الاختراقات تستغل تعرضاً قابلاً للوقاية، وليس حِرفية جديدة.
يتدهور بأناقة على الاختراق الجديد — الحادث نفسه الأكثر أهمية. محرك التوقيعات/القواعد يصاب بالعمى على ثغرة يوم الصفر؛ النواة الاستدلالية لـNV لا تزال تنتج مساراً أرجح، مُعلَماً بصدق كأقل ثقة.
الصدق خندق. الثقة المُعايَرة المبنية على الحالات مع البدائل المرتبة هي بالضبط ما يقول السوق إنه يريده وما لا يستطيع المنافسون أصحاب الصندوق الأسود تقديمه هيكلياً دون إعادة تصميم.
سجلات المزود الخام → رسم بياني مُطبَّع للأحداث/الكيانات → محرك إعادة البناء → JSON → واجهة المستخدم الرسومية.``` O365 / Entra audit logs nv_extract_identity_events.py AWS CloudTrail (IAM/STS/S3) nv_extract_cloudtrail_events.py (ingest + normalize) ▼ normalized identity events (JSONL) ← one event model, any substrate │ nv/graph.py (typed per-actor timelines) ▼ reconstruction engine ├─ nv/patterns.py known layer: ATT&CK identity pattern library ├─ nv/providers.py provider packs: per-substrate op→ATT&CK vocab (Entra + AWS) ├─ nv/validation.py Phase 3: provenance + integrity gate on every pattern ├─ nv/feeds.py live ATT&CK STIX / TAXII / Sigma clients + scheduler ├─ nv/confidence.py evidence-corroboration scorer (calibratable weights) ├─ nv/calibration.py fit + measure confidence against labeled ground truth ├─ nv/reconstruct.py most-likely chain + ranked competing paths + trust floor └─ nv/scope.py authorized-scope gate (refuses unauthorized tenants/accounts) │ run_nv.py ▼ reconstruction.json ──► nv_gui.html (embedding canvas + two-column view + trust slider)
الواجهة الرسومية هي **طبقة عرض خالصة** — تعرض مخرجات المحرك وتتيح للمحلل تحريك
حد الثقة. لا تحتوي على أي منطق إعادة بناء خاص بها.
---
## نموذج الثقة (مصداقية المنتج بأكمله)
تحمل كل خطوة ثقة في النطاق [0, 1]، تُبنى عبر **تأكيد الأدلة**:```
confidence = per-technique base rate
+ bonus for each independent corroborating signal
(source IP, device, successful outcome, temporal adjacency, broad-consent flags)
− penalty for missing signals (e.g. no source IP to corroborate origin)
تدمج درجات المسارات روابطها عبر الوسط الهندسي، لذا فإن الرابط الضعيف الواحد يسحب المسار بصدق إلى الأسفل بدلًا من أن يُلغى بالتوسط.
كل وزن أعلاه — المعدلات الأساسية لكل تقنية، والمكافآت لكل إشارة، وعقوبات النقص —
يعيش في جدول PARAMS واحد في nv/confidence.py. تلك هي افتراضات NV الأولية للإصدار v1،
وهي قابلة للمعايرة: يمكن لـ nv/calibration.py إعادة ملاءمتها مقابل الحقيقة الأساسية
المُعلَّمة وسيحمّل المحرك النتيجة، مع التراجع إلى افتراضات v1 الأولية عند عدم توفير
معايرة (انظر أدناه).
قاعدة الحجب، مدمجة في عقد إخراج المحرك — وليس فقط في الواجهة. تحت الحد، تُحجب الخطوة. تحريك الحد هو مقايضة الصدق مقابل التغطية المتجسدة: لأعلى للثقة الصارمة/العالية، ولأسفل للتسامحية/عالية التغطية. الحد الافتراضي هو قرار تحريري حول مكان وقوف NV قبل أن يلمسه المحلل.
أوزان v1 قابلة للدفاع عنها، لكنها افتراضات أولية. يضبطها nv/calibration.py
مقابل الحقيقة الأساسية المُعلَّمة — أحداث نعرف أيها كان جزءًا من
الاختراق وأيها كان حميدًا — والأهم من ذلك، يقيس ما إذا كان الضبط ساعد فعلًا،
لذا لا يُعتمد المعايرة إلا إذا خفضت خطأ المعايرة بدلًا من مجرد تحريك الأرقام.
الثقة المعايرة تعني شيئًا واحدًا: ثقة NV لخطوة ما يجب أن تساوي احتمال أن الخطوة كانت فعلًا على مسار الهجوم. لذا تُعامل ثقة كل حدث مُعلَّم كاحتمال متوقع، ويُلائم الإطار:
عتبات التحقق/الحجب هي سياسة، وليست معايرة، وتُترك دون تغيير.
يُبلغ عن درجة براير، وخسارة اللوغاريتم، وECE، وAUC، وجدول موثوقية، و مسح لحد الثقة (استدعاء الخطوات الحقيقية مقابل معدل الإيجابيات الكاذبة الحميدة عند كل حد)، قبل وبعد — بحيث تكون مقايضة الصدق مقابل التغطية واضحة بدلًا من رقم واحد.```bash
python3 calibrate.py --labeled run_labeled.jsonl --origin live
--run-label "badzure-2026-07 tenant-x" --out calibration.json
python3 calibrate.py --out calibration.json