Skip to content
KitploitKITPLOIT
ToolsBlog
Submit
ToolsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

··Feeds·Contact·Privacy·© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
dllspy — Discover input surfaces and security issues in compiled .NET assemblies — without running them. | Kitploit
Tools/GitHubGitHub/n7on/dllspy
Static AnalysisVulnerability AnalysisCode AnalysisWeb SecurityPenetration TestingAuthenticationMisconfigurationAPI Security
GitHubn7on/dllspy

dllspy

Discover input surfaces and security issues in compiled .NET assemblies — without running them.

View Repository
3985 months agoReviewed by Kitploit

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share

DllSpy

CI NuGet Version PowerShell Gallery Version License

Scans compiled .NET assemblies to discover input surfaces (HTTP endpoints, SignalR hubs, WCF services, gRPC services, Razor Pages, Blazor components, Azure Functions, OData endpoints), check authorization configuration, and flag security issues — all without running the application.

Available as a CLI tool and a PowerShell module.

DllSpy demo

Installation

CLI

root@kitploit:~
dotnet tool install -g DllSpy

PowerShell

root@kitploit:~
Install-Module -Name DllSpy

Usage

CLI

root@kitploit:~
# 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

root@kitploit:~
# 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

root@kitploit:~
# 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

Supported Frameworks

Security Rules

HTTP Endpoints

SignalR Hub Methods

Severity

WCF Operations

SeverityRuleDescription

gRPC Operations

SeverityRuleDescription

Razor Page Handlers

Blazor Routable Components

Azure Functions

OData Endpoints

License

See LICENSE.

Download Tool
FrameworkDetection MethodSurface Type
ASP.NET Core / Web APIController base class, [ApiController], naming conventionHttpEndpoint
SignalRHub / Hub<T> inheritanceSignalRMethod
WCF[ServiceContract] interfaces + [OperationContract] methodsWcfOperation
gRPCGenerated base class with BindServiceGrpcOperation
Razor PagesPageModel inheritance, On{Verb}[Handler][Async] methodsRazorPage
BlazorComponentBase inheritance + [Route] attributeBlazorComponent
Azure Functions[FunctionName] / [Function] + [HttpTrigger] parameterAzureFunction
ODataODataController inheritanceODataEndpoint
SeverityRuleDescription
HighUnauthenticated state-changing endpointDELETE, POST, PUT, or PATCH without [Authorize]
MediumMissing authorization declarationEndpoint has neither [Authorize] nor [AllowAnonymous]
LowAuthorize without role/policy[Authorize] present but no Roles or Policy specified
Rule
Description
HighUnauthenticated hub methodHub method without [Authorize] (directly invocable by clients)
LowAuthorize without role/policy[Authorize] present but no Roles or Policy specified
HighUnauthenticated WCF operationOperation without [PrincipalPermission] or [Authorize]
LowAuthorize without role[PrincipalPermission] present but no Role specified
High
Unauthenticated gRPC operation
Service method without [Authorize]
LowAuthorize without role/policy[Authorize] present but no Roles or Policy specified
SeverityRuleDescription
HighUnauthenticated state-changing handlerPOST, PUT, DELETE, or PATCH handler without [Authorize]
MediumMissing authorization declarationHandler has neither [Authorize] nor [AllowAnonymous]
LowAuthorize without role/policy[Authorize] present but no Roles or Policy specified
SeverityRuleDescription
HighUnauthenticated routable componentComponent with [Route] but without [Authorize]
LowAuthorize without role/policy[Authorize] present but no Roles or Policy specified
SeverityRuleDescription
HighUnauthenticated Azure FunctionAuthorizationLevel.Anonymous and no [Authorize] attribute
LowAuthorize without role/policy[Authorize] present but no Roles or Policy specified
SeverityRuleDescription
HighUnauthenticated state-changing endpointDELETE, POST, PUT, or PATCH without [Authorize]
MediumMissing authorization declarationEndpoint has neither [Authorize] nor [AllowAnonymous]
LowAuthorize without role/policy[Authorize] present but no Roles or Policy specified