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

oversight v0.5.8

مدقق أمان خفيف الوزن وصندوق حماية لسكربتات الصدفة. يجمع Oversight بين محرك تحليل ثابت (Rust) وآلية فرض ديناميكية (Linux Landlock) للحفاظ على أمان نظامك من السكربتات الخبيثة.

مشاركة

Oversight (v0.5.8)

GitHub stars Discord License Rust

Oversight هي أداة استخبارات أمنية تعمل عبر الطرفية (Terminal) مصمّمة لتدقيق سكربتات الصدفة والأوامر قبل أن تمسّ نظامك. تسدّ الفجوة بين «الثقة العمياء» و«التدقيق اليدوي» من خلال توفير تحليل تفاعلي عالي السرعة للملفات المحلية والسكربتات البعيدة عبر روابط Raw URLs.

Oversight

عرض توضيحي لـ Oversight

تحديث AUR المباشر

تحديث AUR المباشر لـ Oversight

لقطة الشاشة 1

واجهة Oversight التفاعلية أثناء العمل

لقطة الشاشة 2

واجهة Oversight التفاعلية أثناء العمل

المهمة

معظم اختراقات الأنظمة تحدث بسبب قفزة في المجهول، مثل تنفيذ ترقية حزمة غير موثوقة أو تشغيل سكربتات إعداد خام. تمنحك Oversight رؤية واضحة لهذه المخازن المؤقتة، مع الإبلاغ عن الأنماط الخبيثة وشرح المخاطر الأمنية بلغة بسيطة حتى تتمكن من اتخاذ قرار مستنير قبل تأكيد عمليات التثبيت.

الميزات

  • تخطيط تبويبات ديناميكي متعدد التدفقات (Dynamic Multi-Stream Tab Layout): يحلّل تلقائيًا ترويسات تدفق git الموحّدة أثناء العمل. عند نزول تحديث دفعة (batch update)، يعزل تدفق التصحيحات المدمج ويولّد تبويبات مخصصة قابلة للقراءة لكل حزمة، مع جلب وتدقيق سكربتات .install المرافقة وملفات .patch من دليل البناء المحلي.
  • محرك الإنتروبيا الاستدلالي (Heuristic Entropy Engine): تنفيذ لحسابات إنتروبيا شانون لتحديد الحمولات المبهمة (obfuscated payloads)، والبيانات المضغوطة، والسلاسل المخفية التي تفوتها ماسحات regex التقليدية.
  • تتبّع دورة الحياة الخبيثة (Malicious Lifecycle Tracking): تحليل سلوكي متقدم يربط الأحداث ذات الصلة عبر السكربت، مثل سلسلة Fetch -> Permissions Change -> Execution النمطية في مثبّتات أحصنة طروادة.
  • الشريط الجانبي لخريطة الحرارة الأمنية (Security Heat Map Sidebar): مسار عمودي يوفّر نظرة عامة مرئية في الوقت الفعلي لتوزيع التهديدات عبر الملف النشط، مما يضمن دقة مؤشرات الإحداثيات لكل مخزن تبويب متميز.
  • كشف مكافحة الأدلة الجنائية والاستمرارية (Anti-Forensic & Persistence Detection): مراقبة السلوكيات الخفية بما في ذلك الحذف الذاتي (rm $0)، والأنابيب الصامتة (> /dev/null)، ومسارات التنفيذ عبر الذاكرة فقط (/dev/shm)، وخطافات إعادة التحميل (crontab, systemctl).
  • تقييم المخاطر الموزون (Weighted Risk Scoring): يطبّق مؤشر أمان من 0 إلى 100 يصنّف التدفقات إلى نظيفة (Clean)، أو تنبيه (Caution)، أو خطيرة (Dangerous) بناءً على مقاييس كلية مسطّحة تتجنّب تضخّم درجة المخاطر.
  • مفتاح التخفيف العام (Global Mitigation Toggle): يتيح للمستخدمين كبح النتائج النشطة فورًا عبر واجهة TUI بمفتاح واحد. يطهّر العرض بصريًا من خلال التعليق على الكتل المميّزة ويعيد حساب مؤشر درجة المخاطر العام في الوقت الفعلي.
  • وضع المُصفِّح للتدفق النظيف (Clean Stream Pager Mode): يزيل كتل منفذ العرض الفارغة. عندما يجتاز تدفق ما التحليل بدون أي علامات، تبقى شاشة الطرفية الكاملة مفتوحة كمُصفِّح وظيفي، مما يتيح مراجعة كود يدوية قياسية سطرًا بسطر.
  • محرك القواعد الديناميكي (Dynamic Rules Engine): الأنماط معزولة خارجيًا في وحدة قواعد مستقلة، مما يسمح بتحديثات معيارية عبر توقيعات أنماط مختلفة دون كسر حلقة تحليل واجهة TUI.
  • محرك الجلب البعيد (Remote Fetching Engine): دقّق السكربتات مباشرة من GitHub أو Gist أو روابط Raw URLs بأمان عبر تحليل يعتمد على الذاكرة فقط.
  • التدقيق التعليمي (Educational Auditing): كل علامة أمنية تتضمن شرحًا مفصّلًا ومراجع خارجية لمساعدة المستخدمين على تعلّم تحديد أنماط السكربتات الخبيثة.
  • استخبارات الثغرات (Vulnerability Intelligence): فحص مدمج في الوقت الفعلي لثغرات CVE المعروفة باستخدام واجهة OSV.dev API، ويُفعَّل تلقائيًا عند اكتشاف أوامر تثبيت حزم مدعومة.

التبعيات (Dependencies)

Oversight مبنية بلغة Rust لتحقيق الأداء وعزل الثنائيات. المكوّنات الأصلية التالية مطلوبة للترجمة:

  • سلسلة أدوات Rust (Rust Toolchain): cargo و rustc (إصدار 2021) لترجمة المحرك الأصلي.
  • OpenSSL: مكتبة نظام مطلوبة من reqwest لإنشاء عمليات جلب TLS/SSL عن بُعد آمنة.
  • الصناديق الأساسية (Core Crates): ratatui، وcrossterm، وtokio، وreqwest، وclap، وregex.

التثبيت والإعداد

  1. عبر AUR (موصى به لنظام Arch Linux) الإصدار المستقر مُدار على AUR. ثبّته باستخدام المساعد الذي تفضّله:

yay -S oversight-git

  1. أو ابنِه يدويًا:
git clone [https://aur.archlinux.org/oversight-git.git](https://aur.archlinux.org/oversight-git.git)
cd oversight-git
makepkg -si
  1. من المصدر:

git clone https://github.com/Rakosn1cek/oversight.git cd oversight

  1. شغّل المثبّت الآلي: يتولى المثبّت عملية الترجمة، وينقل الثنائي إلى ~/.local/bin، ويحقن الخطافات اللازمة في إعدادات الصدفة لديك (.zshrc, .bashrc, أو config.fish).
chmod +x install.sh
./install.sh
  1. أعد تحميل الصدفة:

source ~/.zshrc أو ملف إعدادات الصدفة الخاص بك


الملفات والمواقع

  • الثنائي (Binary): ~/.local/bin/oversight
  • قاعدة القواعد (Rules Database): ~/.local/share/oversight/rules.json (يحترم $XDG_DATA_HOME)
  • خطافات الصدفة (Shell Hooks): ~/.local/share/oversight/oversight.[zsh|bash|fish]

الاستخدام

  • دقّق سكربتًا محليًا: oversight ./install.sh
  • دقّق رابطًا بعيدًا: oversight https://raw.githubusercontent.com/...
  • دقّق ملف إعدادات محليًا: oversight ~/.local/share/oversight/rules.json
  • الحماية المباشرة (Live Protection): يعترض الأوامر المستقلة مثل curl https://... أو الأنماط الخطيرة مثل rm -rf / تلقائيًا لتقديم قائمة فرز متعددة الخيارات، ويفحص بعمق ملفات كاش AUR اللاحقة قبل التنفيذ.

دمج إعدادات الصدفة (Shell Configuration Integration)

لنشر Oversight بشكل دائم كمُصفِّح أساسي للنصوص والترقيات، أضِف إحدى قاعدتي الإعداد إلى ملف تعريف الصدفة لديك (مثل ~/.zshrc، أو ~/.bashrc، أو ~/.config/fish/config.fish):

الخيار أ: دمج مخصص لمساعد AUR (موجّه)

يُجبر مساعدك على استخدام Oversight تحديدًا لترقيات الحزم دون التأثير على أوامر النظام الأخرى:

بالنسبة لـ yay (~/.zshrc أو ~/.bashrc): alias yay="yay --diffpager oversight"

بالنسبة لـ paru (~/.config/paru/paru.conf): أضف هذه الأسطر إلى ملف ~/.config/paru/paru.conf. يجب أن تتضمن خيار CombinedUpgrade، وإلا سيجرد paru أكواد ألوان ANSI قبل تمرير النص إلى Oversight، ليتبقى لديك نص أبيض وأسود:

[options]
Pager = oversight
CombinedUpgrade

لمساعدين آخرين مثل Shelly إذا كنت تستخدم مساعدًا مختلفًا، فأنت بحاجة إلى إخبار Oversight بمكان ملفات الكاش باستخدام متغير AUDIT_HELPER. على سبيل المثال، يمكنك تشغيله هكذا:

AUDIT_HELPER=shelly shelly -Sua | oversight

بدلاً من ذلك، يمكنك تصدير متغير المساعد عالميًا في ملف تعريف الصدفة لديك حتى يعرف Oversight دائمًا مسار الكاش الذي يجب التحقق منه:

export AUDIT_HELPER="shelly"

الخيار ب: بيئة المُصفِّح العامة للنظام (شامل)

هذا الإعداد يسجّل Oversight كمُصفِّح نصوص افتراضي للنظام. وهذا يعني أن الحزم وصفحات الدليل (man pages) وتدفقات git ستُفتح تلقائيًا داخل الواجهة.

أضف هذه الأسطر إلى ملف ~/.zshrc أو ~/.bashrc:

export PAGER="oversight"
export MANPAGER="oversight"

السطر الثاني ضروري إذا كان إعداد نظامك يضبط MANPAGER مسبقًا على less أو أداة أخرى.


الفئات