DllSpy

Analisa assemblies .NET compilados para descobrir superfícies de entrada (HTTP endpoints, SignalR hubs, WCF services, gRPC services, Razor Pages, Blazor components, Azure Functions, OData endpoints), verifica configuração de autorização e sinaliza problemas de segurança — tudo sem executar a aplicação.
Disponível como uma ferramenta CLI e um módulo PowerShell.

Instalação
CLI
dotnet tool install -g DllSpy
PowerShell
Install-Module -Name DllSpy
Uso
CLI
# List all surfaces
dllspy ./MyApi.dll
# Scan for security vulnerabilities
dllspy ./MyApi.dll -s
# Filter by surface type (HttpEndpoint, SignalRMethod, WcfOperation, GrpcOperation, RazorPage, BlazorComponent, AzureFunction, ODataEndpoint)
dllspy ./MyApi.dll -t HttpEndpoint
# Filter by HTTP method and class name
dllspy ./MyApi.dll -m DELETE -c User*
# Only authenticated / anonymous surfaces
dllspy ./MyApi.dll --auth
dllspy ./MyApi.dll --anon
# Only scan host (runnable) assemblies, skip class libraries
dllspy ./MyApi.dll --host-only
# Scan with minimum severity
dllspy ./MyApi.dll -s --min-severity High
# Output format: table (default), tsv, json
dllspy ./MyApi.dll -o json
dllspy ./MyApi.dll -o tsv
JSON + jq
# List all unprotected routes
dllspy ./MyApi.dll -o json | jq '[.[] | select(.requiresAuthorization == false) | .displayRoute]'
# Count surfaces by type
dllspy ./MyApi.dll -o json | jq 'group_by(.surfaceType) | map({type: .[0].surfaceType, count: length})'
# Security issues as compact table
dllspy ./MyApi.dll -s -o json | jq -r '.[] | [.severity, .surfaceRoute, .title] | @tsv'
PowerShell
# All surfaces
Search-DllSpy -Path .\MyApi.dll
# Filter by surface type
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
# Filter by HTTP method
Search-DllSpy -Path .\MyApi.dll -HttpMethod DELETE
# Filter by class name (supports wildcards)
Search-DllSpy -Path .\MyApi.dll -Class User*
# Only authenticated / anonymous surfaces
Search-DllSpy -Path .\MyApi.dll -RequiresAuth
Search-DllSpy -Path .\MyApi.dll -AllowAnonymous
# Only scan host (runnable) assemblies, skip class libraries
Search-DllSpy -Path .\bin\*.dll -HostOnly
# Find security issues
Test-DllSpy -Path .\MyApi.dll
# Only high-severity issues
Test-DllSpy -Path .\MyApi.dll -MinimumSeverity High
# Only scan host assemblies for security issues
Test-DllSpy -Path .\bin\*.dll -HostOnly
# Detailed view
Test-DllSpy -Path .\MyApi.dll | Format-List
Frameworks Suportados
Regras de Segurança
Endpoints HTTP
Métodos de Hub SignalR
Operações WCF
Operações gRPC
Handlers de Páginas Razor
Componentes Blazor Roteáveis
Funções Azure
Endpoints OData
Licença
Veja LICENSE.