DllSpy

Scannt kompilierte .NET-Assemblys, um Eingabeoberflächen (HTTP-Endpunkte, SignalR-Hubs, WCF-Dienste, gRPC-Dienste, Razor Pages, Blazor-Komponenten, Azure Functions, OData-Endpunkte) zu erkennen, die Autorisierungskonfiguration zu prüfen und Sicherheitsprobleme zu melden – ganz ohne die Anwendung auszuführen.
Verfügbar als CLI-Tool und PowerShell-Modul.

Installation
CLI
dotnet tool install -g DllSpy
PowerShell
Install-Module -Name DllSpy
Verwendung
CLI
# Alle Oberflächen auflisten
dllspy ./MyApi.dll
# Auf Sicherheitslücken scannen
dllspy ./MyApi.dll -s
# Nach Oberflächentyp filtern (HttpEndpoint, SignalRMethod, WcfOperation, GrpcOperation, RazorPage, BlazorComponent, AzureFunction, ODataEndpoint)
dllspy ./MyApi.dll -t HttpEndpoint
# Nach HTTP-Methode und Klassennamen filtern
dllspy ./MyApi.dll -m DELETE -c User*
# Nur authentifizierte / anonyme Oberflächen
dllspy ./MyApi.dll --auth
dllspy ./MyApi.dll --anon
# Nur Host-Assemblys (ausführbare) scannen, Klassenbibliotheken überspringen
dllspy ./MyApi.dll --host-only
# Mit minimalem Schweregrad scannen
dllspy ./MyApi.dll -s --min-severity High
# Ausgabeformat: table (Standard), tsv, json
dllspy ./MyApi.dll -o json
dllspy ./MyApi.dll -o tsv
JSON + jq
# Alle ungeschützten Routen auflisten
dllspy ./MyApi.dll -o json | jq '[.[] | select(.requiresAuthorization == false) | .displayRoute]'
# Oberflächen nach Typ zählen
dllspy ./MyApi.dll -o json | jq 'group_by(.surfaceType) | map({type: .[0].surfaceType, count: length})'
# Sicherheitsprobleme als kompakte Tabelle
dllspy ./MyApi.dll -s -o json | jq -r '.[] | [.severity, .surfaceRoute, .title] | @tsv'
PowerShell
# Alle Oberflächen
Search-DllSpy -Path .\MyApi.dll
# Nach Oberflächentyp filtern
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
# Nach HTTP-Methode filtern
Search-DllSpy -Path .\MyApi.dll -HttpMethod DELETE
# Nach Klassennamen filtern (unterstützt Wildcards)
Search-DllSpy -Path .\MyApi.dll -Class User*
# Nur authentifizierte / anonyme Oberflächen
Search-DllSpy -Path .\MyApi.dll -RequiresAuth
Search-DllSpy -Path .\MyApi.dll -AllowAnonymous
# Nur Host-Assemblys (ausführbare) scannen, Klassenbibliotheken überspringen
Search-DllSpy -Path .\bin\*.dll -HostOnly
# Sicherheitsprobleme finden
Test-DllSpy -Path .\MyApi.dll
# Nur Probleme mit hohem Schweregrad
Test-DllSpy -Path .\MyApi.dll -MinimumSeverity High
# Nur Host-Assemblys auf Sicherheitsprobleme scannen
Test-DllSpy -Path .\bin\*.dll -HostOnly
# Detailansicht
Test-DllSpy -Path .\MyApi.dll | Format-List
Unterstützte Frameworks
Sicherheitsregeln
HTTP-Endpunkte
SignalR-Hub-Methoden
WCF-Operationen
| Schweregrad | Regel | Beschreibung |
|---|
gRPC-Operationen
| Schweregrad | Regel | Beschreibung |
|---|
Razor Page-Handler
Blazor-Komponenten mit Routen
Azure Functions
OData-Endpunkte
Lizenz
Siehe LICENSE.