العودة إلى التحديثات
New releaseJul 23, 2026

deadair v0.4.0

يجد قواعد الكشف في نظام SIEM الخاص بك التي تعمل عمياء.

مشاركة

deadair - SIEM detection coverage health

CI Release Go 1.26 License: Apache-2.0

صحة كشف SIEM مفتوحة المصدر.
ابحث عن الكشوفات المفعّلة العمياء لأن بياناتها التتبعية مفقودة، أو قديمة، أو متأخرة، أو غير متوافقة مع المخطط.

يعمل محليًا · للقراءة فقط · بدون وكيل · بدون رفع بيانات تتبعية

اقرأ الشرح التقني · مميز في Detection Engineering Weekly · مميز في tl;dr sec #341

deadair scan of a disposable Elastic lab showing dead and impaired detections

فحص حقيقي لمختبر Elastic قابل للتصرف مع بيانات تتبعية مفقودة، قديمة، متأخرة، وغير مستخدمة عمدًا. افتح الصورة لإعادة التشغيل القصيرة، أو أعد إنتاجها باستخدام make record-scan-lab.

لماذا deadair

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

يكتشف:

  • القواعد التي لا تُحل مؤشرات الفهرس أو الاسم المستعار أو دفق البيانات الخاصة بها إلى شيء؛
  • القواعد ذات المحددات المختلطة حيث اختفى أحد المدخلات المعلنة بينما لا يزال آخر يُحل؛
  • القواعد التي تكون جميع مصادرها المطابقة قديمة أو فارغة؛
  • على Elastic، القواعد التي تعمل بحقول معلنة مفقودة؛
  • على Elastic وقواعد Sentinel المجدولة المؤهلة، نافذة عمياء لتأخر الإدخال؛
  • على Sentinel، القواعد التي تستخدم مصادرها المعروفة خطة جدول Basic أو Auxiliary غير متوافقة؛
  • على Elastic وOpenSearch، بيانات تتبعية سليمة لا يقرأها أي كشف مفعّل.

يدعم deadair Elastic Security وOpenSearch Security Analytics وMicrosoft Sentinel.

بدء سريع

نزّل ملفًا ثنائيًا لنظام macOS أو Linux أو Windows من GitHub Releases، أو ثبّته باستخدام Go:

go install github.com/alephnull-sh/deadair/cmd/deadair@latest

اطبع الإعداد للقراءة فقط الخاص بـ SIEM الخاص بك:

deadair setup elastic      # Elastic Security
deadair setup opensearch   # OpenSearch Security Analytics
deadair setup sentinel     # Microsoft Sentinel

شغّل إعدادًا واحدًا، ثم تحقق وافحص:

deadair check   # تحقق من أن بيانات الاعتماد يمكنها الفحص
deadair scan    # تقييم القواعد الحية والبيانات التتبعية

رموز الخروج مستقرة: 0 يجتاز البوابة المكوّنة، 1 يعني نتائج محجوبة، و2 يعني فشل الفحص.

كيف يعمل

المرحلةما يفعله deadair
المخزونيقرأ الكشوفات المفعّلة والمدخلات التي تعلنها
الحليستخدم حل الفهرس الأصلي على Elastic وOpenSearch؛ على Sentinel، يجمع تحليل KQL مع أدلة الجدول وقائمة المراقبة والدالة المحفوظة وASIM ومساحة العمل المتقاطعة المعيّنة
القياسيفحص حداثة المصدر وتوقيته، بالإضافة إلى المخطط والتخزين حيث تدعم الواجهة الخلفية ذلك
التقريريصدر مقاييس طرفية وJSON وHTML وتجميعات الأسطول وPrometheus مع الأدلة وراء كل حكم

يتبع Sentinel نفس نموذج القاعدة إلى المصدر. يفهم محوله أيضًا قوائم المراقبة الحرفية، والدوال المحفوظة، ومحللات ASIM، ومساحات العمل المعيّنة، ونسب الجدول الملخص. عندما يوفر Azure أدلة كافية، يمكن لـ deadair إظهار أن شريحة مفلترة واحدة من جدول مشترك أصبحت هادئة أو أن خط أنابيب الملخص تخلف عن الركب. هذان الفحصان استشاريان؛ لا يغيران البوابة. يصف دليل الاستخدام قواعد الأدلة، و سجل التحقق يسجل تغطية الاختبار الحي.

deadair scan of a disposable Microsoft Sentinel lab showing missing, stale, late, and incompatible telemetry

فحص حي لمختبر Sentinel قابل للتصرف مزروع ببيانات تتبعية مفقودة وقديمة ومتأخرة وغير متوافقة. افتح الصورة لإعادة التشغيل القصيرة. راجع سجل توافق Azure المنفصل لاختبارات القراءة فقط ورفض الكتابة.

يفحص deadair ما إذا كانت البيانات التتبعية للكشف موجودة وسليمة. لا يتحقق من منطق القاعدة أو يثبت أن هجومًا محاكى سيطلق تنبيهًا. استخدم التحقق الثابت من القاعدة واختبارات الكشف من البداية إلى النهاية لتلك المهام.

النتائج

النتيجةالمعنىالفحص الأول
لا يوجد مصدر مطابقلا يُحل أي من مدخلات القاعدة إلى فهرس أو دفق بيانات أو جدول Sentinel مرئيتغييرات النمط، والتكاملات المفقودة، ونطاق بيانات الاعتماد
جميع المصادر قديمة أو فارغةكل مصدر مُحل غير قابل للاستخدام الآنإيقاع المصدر ومسار الإدخال
حقول مفقودةحقل معلن في قاعدة Elastic غائب أو غير قابل للبحث في مصدر أو أكثر مُحل بعد قراءة كل تعيين مصدرتغييرات المحلل والحزمة والتعيين
نافذة عمياء للتأخرتأخر الإدخال p95 للأحداث المقترنة يتجاوز هامش الاسترجاع للقاعدةفاصل القاعدة، والاسترجاع، وتجاوز الطابع الزمني، وتأخير خط الأنابيب
تغطية إدخال جزئيةيُحل التعبير الكامل، لكن محددًا إيجابيًا واحدًا داخله يُحل فارغًاالترحيلات، والمحددات الاحتياطية، والبدائل المتوقعة؛ إعلامي ما لم تفرضه السياسة
خطة مصدر غير متوافقةتعتمد قاعدة Sentinel على جدول Basic أو Auxiliary غير مؤهل لمسار أدلة قاعدة التحليلاتخطة الجدول ونوع القاعدة
تدهور المصدرالمصدر قديم أو فارغ أو منخفض الحجم أو منحرف المخططتاريخ المصدر والصيانة المتوقعة
بيانات تتبعية غير مستخدمةعلى Elastic أو OpenSearch، يتم تخزين البيانات لكن لا يُحل أي كشف محلي مفعّل إليهاالقواعد المعطلة والجمع المتعمد

كل حكم محدود بما يمكن لبيانات الاعتماد المكوّنة رؤيته. تتضمن تقارير JSON التعبيرات المكوّنة، والمصادر المُحلّة، وطريقة الحل، وحالة التقييم، وبيانات الواجهة الخلفية الوصفية، وأدلة القدرات. راجع دليل الاستخدام للحصول على أمثلة عملية وفرز.

توصيل SIEM

Elastic:

export DEADAIR_ES_URL=https://es.example.internal:9200
export DEADAIR_KIBANA_URL=https://kibana.example.internal:5601
export DEADAIR_API_KEY=<read-only-api-key>

deadair check
deadair scan --json-out report.json --html-out report.html

OpenSearch:

export DEADAIR_BACKEND=opensearch
export DEADAIR_OPENSEARCH_URL=https://opensearch.example.internal:9200
export DEADAIR_OPENSEARCH_USERNAME=deadair
export DEADAIR_OPENSEARCH_PASSWORD=<password>

deadair check
deadair scan

Microsoft Sentinel:

az login --tenant <tenant-id>

export DEADAIR_BACKEND=sentinel
export DEADAIR_AZURE_SUBSCRIPTION_ID=<subscription-id>
export DEADAIR_AZURE_RESOURCE_GROUP=<resource-group>
export DEADAIR_SENTINEL_WORKSPACE=<workspace-resource-name>
# اختياري: قائمة السماح JSON لأهداف workspace() الحرفية.
# export DEADAIR_SENTINEL_REMOTES=/restricted/path/sentinel-remotes.json

deadair check
deadair scan

قبل أن يقيم deadair مساحة العمل البعيدة المعيّنة لقاعدة، يجب أن يكون لدى تلك المساحة Sentinel منشورًا. يمكن لتعيينات نفس الاشتراك إثبات توفر المصدر. تحتاج القواعد عبر الاشتراكات إلى أدلة وقت التشغيل المرتبطة بهوية القاعدة الدقيقة. راجع تفاصيل استخدام Sentinel لقواعد الأدلة، وحدود مساحة العمل والمنطقة، وإرشادات الأداء من Microsoft.

استخدم الأدوار للقراءة فقط الموثقة لـ Elastic، أو OpenSearch، أو Microsoft Sentinel.

CI والأساطيل والمراقبة

# قيّم قاعدة مرشحة مقابل توفر المصدر الحي.
deadair scan --rule new-rule.json

# فشل فقط على الانحدارات الجديدة بين التقارير.
deadair diff yesterday.json today.json

# افحص مثيلات SIEM متعددة من عملية واحدة.
deadair scan --fleet fleet.json

# صدّر نتائج الفحص المخزنة مؤقتًا كمقاييس Prometheus.
deadair serve --interval 5m

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

يلف إجراء GitHub الرسمي بوابات المرشحين أحادية المثيل لـ Elastic وOpenSearch وSentinel. يكتب ملخص وظيفة، ويرفع تقرير JSON منقحًا، ويمكنه تطبيق سياسة deadair دون تثبيت قاعدة. تصادق سير عمل Sentinel المشغل على Azure أولاً؛ لا يحدد الإجراء أي مدخلات بيانات اعتماد Azure.

راجع سلوك بوابة CI، نشر الأسطول وMSSP، وأمثلة Prometheus للتكوينات التي يمكنك اختبارها في بيئتك الخاصة.

الواجهات الخلفية المختبرة

الواجهة الخلفيةالتحقق الحي
Elastic SecurityCI موثوق على 8.19.19 و9.4.4
OpenSearch Security AnalyticsCI موثوق على 2.19.6 و3.7.0
Microsoft Sentinelتوافق اختياري مسجل في مساحات عمل UK South القابلة للتصرف؛ راجع حالة التحقق

تشغيل توافق Sentinel يدوي، وليس CI مجدولًا.

نموذج الأمان

  • جميع استدعاءات المحول للقراءة فقط. تتحقق اختبارات Elastic وOpenSearch الموثوقة بالإضافة إلى فحوصات مختبر Sentinel المنفصلة من أن هويات الفحص الموثقة لا يمكنها تنفيذ عمليات كتابة تمثيلية.
  • تُكتب التقارير وHTML وملفات الحالة ومخرجات الأسطول بـ0600 على أنظمة POSIX.
  • يمكن أن تأتي بيانات الاعتماد من متغيرات البيئة أو الملفات، مما يتجنب الأسرار في وسائط العملية.
  • يستبدل --redact معرفات المستأجر والقاعدة والمصدر والنمط والحقل والتبعية والنسب والأصل ومساحة العمل وقائمة المراقبة والقالب والحزمة بأسماء مستعارة HMAC بمفتاح. لا يتم أبدًا تسلسل تعبيرات فحص التبعية المُتحقق منها ووسائط KQL الخاصة بها. يُمكّن --redact-key-file المولّد من بايتات عشوائية أيضًا التنقيح ويحافظ على ثبات الأسماء عبر عمليات التشغيل المنفصلة.
  • يرتبط المُصدّر بـ loopback افتراضيًا.
  • لا يحتوي deadair على سلوك اتصال بالمنزل أو بيانات تتبعية للاستخدام.

تعامل مع التقارير كأصول SOC حساسة: فهي تحدد الكشوفات العمياء، وأسماء المصادر، وفجوات المخطط، والجمع غير المستخدم.

التوثيق

المساهمة

تقارير الأخطاء، والتركيبات المعقمة، وحالات الصحة، والتوثيق، ومقترحات الواجهة الخلفية مرحب بها. ابدأ بـ CONTRIBUTING.md واستخدم قالب RFC للواجهة الخلفية لعمل المحول.

الترخيص

Apache-2.0.

الفئات