العودة إلى التحديثات
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 أو أداة أخرى.


مرجع الآثار الجانبية للمُصفِّح العام

  • عند نشر Oversight عالميًا عبر تصديرها كعارض نصوص أساسي للنظام، يعترض المحرك جميع تدفقات البيانات التي تمر عبر آليات ترقيم الصفحات في الطرفية.
  • بينما يتعامل النظام مع هذه المدخلات بأمان، ستلاحظ سلوكيات محددة عبر عملياتك اليومية في الطرفية.
  • تشغيل ترقية نظام كاملة يعالج مرايا المستودعات الرسمية قبل الوصول إلى طابور AUR. ولأن الثنائيات الرسمية تفتقر إلى المسارات الهيكلية لـ Git أو سكربتات الكاش، تتراجع Oversight تلقائيًا إلى مخزن نصي مسطّح. تعرض الواجهة صف نتيجة واحدًا بعنوان Static Analysis Passed وتربط مفاتيح الأسهم لديك بالتمرير العمودي لقائمة معاملات النص سطرًا بسطر مثل مُصفِّح نصوص قياسي.
  • مراجعة مراجع الأوامر مثل man pacman يعيد توجيه الأدلة الإرشادية مباشرة عبر المحرك. يُحلَّل النص كتدفق نظيف، مما يتيح لك استخدام اختصارات منفذ العرض القياسية لمراجعة التوثيق داخل إطار واجهة TUI الموحّد.
  • الأوامر الأساسية مثل git log أو git diff داخل مستودعاتك المحلية تمر عبر قاعدة القواعد الثابتة. إذا كان الالتزام يحتوي على نمط توقيع مطابق، فإنه يطلق تنبيهات المحرك، وإلا فإنه يعرض مراجعات كود قياسية داخل اللوحة الرئيسية بشكل نظيف.
  • يعتمد منطق التحليل الداخلي على خطافات ترويسة موحّدة صارمة لتخصيص تبويبات حزم متعددة. إذا كان التدفق الوارد لا يحتوي على رموز الكاش المحددة هذه، مثل صفحات الدليل العادية أو مرايا المستودعات، فسيتم تجاوز التخطيط متعدد التبويبات بالكامل لمنع تجزئة مساحة عمل الطرفية.

اختصارات المفاتيح (Keybinds):

  • مفتاحا الأسهم لأعلى / لأسفل: التنقل عبر عناصر النتائج في اللوحة اليسرى في جميع الأوقات، مما يضمن عدم احتجاز اختيار القائمة أبدًا.
  • مفتاحا PageUp / PageDown: تمرير منفذ عرض الكود المركزي بسلاسة سطرًا بسطر بشكل مستقل عن اختيار القائمة.
  • مفتاح Tab: التنقل بالتركيز إلى الأمام عبر مقاطع تدفق الكود النشطة، والقفز من تدفق التصحيحات المدمج مباشرة إلى تبويبات مصدر PKGBUILD الفردية.
  • المفاتيح الرقمية (0-9): الانتقال المباشر إلى تخطيط فهرس تبويب محدد فورًا.
  • مفتاح السهم لليسار: إعادة ضبط إحداثيات التمرير العمودي لمنفذ العرض فورًا إلى الأعلى.
  • مفتاح [S]: تبديل الكبح العام لإضافة تعليقات فورية على كتل الكود المميّزة عبر كتلة التحديد النشطة وإعادة توازن معاملات المخاطر في مسار واحد.
  • مفتاحا [Q] أو Esc: إغلاق الواجهة بأمان وإعادة التحكم في التنفيذ إلى خط أنابيب عمليات الطرفية.

ملاحظة: Oversight أداة استشارية. بينما تستخدم مطابقة أنماط regex قوية، لا توجد أداة أمنية مضمونة 100%. استخدم دائمًا "الحكم النهائي (Final Verdict)" كدليل وراجع الكود المميّز يدويًا إذا لم تكن متأكدًا من مصدر ما.

ملاحظة 2: Oversight ما زالت قيد التطوير النشط؛ لذلك، لا يُقدَّم أي ضمان بشأن وظائفها أو تأثيرها على النظام في هذه المرحلة.

الدعم والمساهمات

إذا كنت ترغب في دعم المشروع أو المساهمة فيه، فأنت مرحّب بك تمامًا.

إذا كنت ترغب في مناقشة أو طرح أسئلة حول Oversight، فيرجى الانضمام إلى خادم Discord الخاص بي Rakosn1cek <- هذا اختياري، وليس شرطًا.

يمكنك أيضًا فتح Issue أو ترك رسالة في المناقشات (Discussions).

الترخيص

MIT © 2026 Rakosn1cek. الإسناد مطلوب لأي إعادة توزيع أو أعمال مشتقة.

الفئات