DllSpy

컴파일된 .NET 어셈블리를 스캔하여 입력 표면(HTTP 엔드포인트, SignalR 허브, WCF 서비스, gRPC 서비스, Razor Pages, Blazor 컴포넌트, Azure Functions, 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 Page 핸들러
Blazor 라우팅 가능 컴포넌트
Azure Functions
OData 엔드포인트
라이선스
LICENSE 파일을 참조하세요.