DllSpy

يقوم بمسح التجميعات (assemblies) المُترجَمة من .NET لاكتشاف أسطح الإدخال (نقاط نهاية HTTP، مراكز SignalR، خدمات WCF، خدمات gRPC، صفحات Razor، مكونات Blazor، دوال Azure، نقاط نهاية OData)، والتحقق من إعدادات التفويض، والإبلاغ عن المشكلات الأمنية — كل ذلك دون تشغيل التطبيق.
متوفر كأداة CLI ووحدة PowerShell.

التثبيت
CLI
dotnet tool install -g DllSpy
PowerShell
Install-Module -Name DllSpy
الاستخدام
CLI
# عرض جميع الأسطح
dllspy ./MyApi.dll
# فحص الثغرات الأمنية
dllspy ./MyApi.dll -s
# تصفية حسب نوع السطح (HttpEndpoint, SignalRMethod, WcfOperation, GrpcOperation, RazorPage, BlazorComponent, AzureFunction, ODataEndpoint)
dllspy ./MyApi.dll -t HttpEndpoint
# تصفية حسب طريقة HTTP واسم الفئة
dllspy ./MyApi.dll -m DELETE -c User*
# الأسطح الموثَّقة فقط / المجهولة فقط
dllspy ./MyApi.dll --auth
dllspy ./MyApi.dll --anon
# مسح التجميعات المضيفة فقط (القابلة للتشغيل)، تخطي مكتبات الفئات
dllspy ./MyApi.dll --host-only
# الفحص بأقل خطورة
dllspy ./MyApi.dll -s --min-severity High
# تنسيق الإخراج: table (افتراضي)، tsv، json
dllspy ./MyApi.dll -o json
dllspy ./MyApi.dll -o tsv
JSON + jq
# عرض جميع المسارات غير المحمية
dllspy ./MyApi.dll -o json | jq '[.[] | select(.requiresAuthorization == false) | .displayRoute]'
# عد الأسطح حسب النوع
dllspy ./MyApi.dll -o json | jq 'group_by(.surfaceType) | map({type: .[0].surfaceType, count: length})'
# المشكلات الأمنية كجدول مضغوط
dllspy ./MyApi.dll -s -o json | jq -r '.[] | [.severity, .surfaceRoute, .title] | @tsv'
PowerShell
# جميع الأسطح
Search-DllSpy -Path .\MyApi.dll
# تصفية حسب نوع السطح
Search-DllSpy -Path .\MyApi.dll -Type HttpEndpoint
Search-DllSpy -Path .\MyApi.dll -Type SignalRMethod
Search-DllSpy -Path .\MyApi.dll -Type WcfOperation
Search-DllSpy -Path .\MyApi.dll -Type GrpcOperation
Search-DllSpy -Path .\MyApi.dll -Type RazorPage
Search-DllSpy -Path .\MyApi.dll -Type BlazorComponent
Search-DllSpy -Path .\MyApi.dll -Type AzureFunction
Search-DllSpy -Path .\MyApi.dll -Type ODataEndpoint
# تصفية حسب طريقة HTTP
Search-DllSpy -Path .\MyApi.dll -HttpMethod DELETE
# تصفية حسب اسم الفئة (يدعم أحرف البدل)
Search-DllSpy -Path .\MyApi.dll -Class User*
# الأسطح الموثَّقة فقط / المجهولة فقط
Search-DllSpy -Path .\MyApi.dll -RequiresAuth
Search-DllSpy -Path .\MyApi.dll -AllowAnonymous
# مسح التجميعات المضيفة فقط (القابلة للتشغيل)، تخطي مكتبات الفئات
Search-DllSpy -Path .\bin\*.dll -HostOnly
# العثور على المشكلات الأمنية
Test-DllSpy -Path .\MyApi.dll
# فقط المشكلات عالية الخطورة
Test-DllSpy -Path .\MyApi.dll -MinimumSeverity High
# مسح التجميعات المضيفة فقط للمشكلات الأمنية
Test-DllSpy -Path .\bin\*.dll -HostOnly
# عرض مفصل
Test-DllSpy -Path .\MyApi.dll | Format-List
الأطر المدعومة
قواعد الأمان
نقاط نهاية HTTP
دوال مراكز SignalR
عمليات WCF
عمليات gRPC
معالجات صفحات Razor
مكونات Blazor القابلة للتوجيه
دوال Azure
نقاط نهاية OData
الترخيص
انظر LICENSE.