عن المشروع

WinSight هي مجموعة أدوات أمنية صغيرة أحادية الغرض وقابلة للتدقيق لنظام Windows، ويصفها مؤلفوها بأنها بروح أدوات Objective-See لنظام macOS. وهي مجانية ومفتوحة المصدر (GPL-3.0-or-later)، ولا تتطلب حسابًا، ولا ترسل أي قياس عن بعد. ما تغطيه، وفق جدول README نفسه: - ماسح الاستمرارية (مقارن بـ KnockKnock): 27 سطحًا للبدء التلقائي، وأحكام Authenticode واعية بالكتالوج، وفرز سطر الأوامر للمفسرات الموقّعة التي تُسلَّم حمولة شخص آخر، وإثراء اختياري عبر VirusTotal. - جدار الحماية الصادر (مقارن بـ LuLu): حظر/سماح لكل تطبيق يُفرض عبر Windows Filtering Platform؛ للتدقيق فقط حتى يقوم مشغّل مرفوع الصلاحيات بتسليحه. - Guardian (مقارن بـ BlockBlock): نافذة قرار عند ظهور عنصر بدء تشغيل جديد - Allow أو Block (محجوز وقابل للاستعادة) أو اتخاذ القرار لاحقًا - إضافة إلى تسوية التغييرات التي جرت أثناء عدم تشغيل WinSight. - كشف برامج الفدية (مقارن بـ RansomWhere?): ملفات طُعم مرئية متنوعة حسب الجهاز، ودفعات إعادة التسمية/الحذف، والإنتروبيا عند الكتابة، وفحوص سلامة توقيعات الحاويات المحدودة. - مراقب الكاميرا والميكروفون (مقارن بـ OverSight): سجل تنشيط ConsentStore والانتقالات مع تغطية قراءة لكل مخزن ومطابقة العمليات بأفضل جهد. - الاتصالات وDNS (مقارن بـ Netiquette وDNSMonitor): لقطات جدول اتصالات TCP/UDP إضافة إلى استعلامات DNS الحية، منسوبة إلى العمليات حيث يكشف Windows عن مالك. - التحقق من التوقيع (مقارن بـ What's Your Sign?): أحكام Authenticode والكتالوج وحزم MSIX المتحقق منها، تستخدمها كل أداة، إضافة إلى إدخال "Check signature with WinSight" في File Explorer وفعل `winsight sign`. - فحص الاختطاف (مقارن بـ DHS): مسارات خدمات غير مقتبسة، وأدلة خدمات وإدخالات PATH قابلة للكتابة، واستيرادات DLL الوهمية، كل منها مُصنَّف حسب قابليته للاستغلال على الجهاز الحالي. وبما يتجاوز نسخ macOS الأصلية، يذكر README إسناد الكتابة (تسمية البرنامج وراء تنبيه الاستمرارية أو برامج الفدية عند التشغيل بصلاحيات مرفوعة)، والتنقيب لكل عملية (`winsight process <pid>`)، وأدلة الوصول المادي (`winsight presence`). ويذكر أيضًا أن النظرة العامة تُبلّغ عن الوضعية التشغيلية المُهيأة والمرصودة للقراءة فقط، بما في ذلك عدم الإتاحة الصريح عندما يتعذر الاستعلام من Defender، وأن WinSight لا يغيّر ذلك الإعداد بنفسه أبدًا. تُقدَّم ثلاث واجهات: لوحة تحكم WPF لسطح المكتب وصينية النظام بالإنجليزية والفرنسية والإسبانية؛ وسطر أوامر بـ 28 فعلًا يدعم `--flagged` و`--json` (مغلّف مُصدَّر الإصدار يحتوي على schemaVersion وgeneratedAt وreports)، ويخرج بقيمة غير صفرية عند وجود أي شيء جدير بالملاحظة؛ وخادم MCP (`winsight mcp`) محلي stdio فقط، للقراءة فقط، بست أدوات وثلاثة موارد ومطالبتين موجّهتين وبلا مستمع شبكة. وتتشارك الثلاثة طبقة تنسيق واحدة. التثبيت: لكل مستخدم افتراضيًا، بلا حقوق مسؤول وبلا حاجة إلى وقت تشغيل .NET، مع ملفات ZIP محمولة لـ x64 وArm64. ويذكر README نتيجتين بوضوح: جدار الحماية الصادر غير متاح في تثبيت لكل مستخدم لأن الخدمة ترفض التسجيل من مسار يمكن لأصل غير مرفوع الصلاحيات تعديله، وثنائيات WinSight نفسها قابلة للاستبدال من خصم يعمل بذلك المستخدم. الثنائيات الصادرة غير موقّعة بـ Authenticode؛ وينشر المشروع بدلًا من ذلك مجاميع تحقق SHA-256 وSBOM وإثباتات منشأ بناء GitHub، وينصح بالتحقق منها قبل التنفيذ. وخدمة جدار الحماية الصادر لا تُثبَّت عمدًا بواسطة برنامج الإعداد، لأنها تسجّل خدمة LocalSystem وتعدّل WFP. تشمل نقاط الوضعية الأمنية المذكورة: لا قياس عن بعد أو تحليلات، والاتصال الصادر الوحيد هو بحث تجزئة VirusTotal يبدأه المستخدم صراحةً (تجزئة، وليس محتويات ملف أبدًا)، يُفعَّل عبر متغير بيئة `WINSIGHT_VT_KEY` ويمكن رفضه بـ `--no-network`؛ وحدود مرفوعة الصلاحيات مُنفَّذة كقناة أنبوب مُسمّى موثّقة بدلًا من الواجهة؛ وفرض اختياري يبدأ للتدقيق فقط وليس له مسار من سطر الأوامر إلى التسليح؛ وإبلاغ منفصل عن النية المرغوبة مقابل الحالة الفعلية، مع الإبلاغ عن `Degraded` بدلًا من `Active` عندما يتعذر التحقق من الفرض بدقة؛ ونافذة محدودة بسعة 128 تطبيقًا الأقل استخدامًا حديثًا للتطبيقات الصادرة غير المعروفة مع تسجيل ضغط السعة بعينات أسية؛ وفرض ينجو من إعادة التشغيل عبر استمرارية إقلاع الخدمة مع إعادة التحقق من الحالة عند كل قراءة للحالة؛ ورفض تثبيت الخدمة من مسار قابل للكتابة مع إعادة فحص هوية NTFS بـ 128 بت؛ وبلا برنامج تشغيل نواة، مع تأجيل الاعتراض المدعوم ببرنامج تشغيل. تتطلب إجراءات الاستجابة (تعليق، استئناف، إنهاء، استعادة، إبطال) `--confirm`، وتُسجَّل في سجل إضافي فقط يُقرأ بـ `winsight actions`، وتعيد التحقق من أهدافها. وطُعوم برامج الفدية ملفات عادية مرئية في Documents وDesktop وPictures وDownloads وVideos وMusic، معطّلة حتى تُفعَّل، والتنظيف يزيل فقط الملفات التي ما زالت هويتها المسجلة ومحتواها الأصلي متطابقين. يُذكر صراحةً أن الجاهزية للإنتاج غير مثبتة لـ x64 وArm64، استنادًا إلى تدقيق أمني في سبتمبر وجد عيوبًا خارج سيناريوهات التأهيل التاريخية ومرشحًا مصححًا لا يزال يحتاج إلى CI جديد وتأهيل معزول في أجهزة افتراضية. ويشير README أيضًا إلى أن CodeQL يعمل عبر إعداد GitHub الافتراضي بدلًا من سير عمل المستودع، لذا لا يمكن تدقيقه من نسخة مستنسخة ولا يعمل على التفرعات. وسجلات التأهيل التاريخية للسلوك المرفوع الصلاحيات مرتبطة تحت docs/validation، كل منها مرتبط بـ commit وتشغيل CI، مع ذكر README أن أيا منها لا يغطي عيوب تدقيق سبتمبر. يتطلب البناء من المصدر .NET 10 SDK على Windows؛ ويعيد سكربت الإصدار أداة Microsoft SBOM مثبّتة ويثبّت مترجم Inno Setup مثبّتًا بعد التحقق من SHA-256 وتوقيع Authenticode لكليهما. ويفرض CI التنسيق، وتدقيق ثغرات التبعيات، ومجموعة الاختبارات الكاملة على ثلاث صور Windows بما في ذلك Arm64 الأصلي، وحدًا أدنى لتغطية الأسطر بنسبة 80% لمكتبات محرك الكشف والنصف المكتوب يدويًا من الخدمة المرفوعة الصلاحيات، ودورة حياة تثبيت/إلغاء تثبيت محزمة على x64 وArm64 الأصليين. وتُوجَّه المشكلات الأمنية إلى الإبلاغ الخاص بدلًا من المشكلات العامة.