You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: dotnet_reversing/README.md
+13-13Lines changed: 13 additions & 13 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,15 +2,15 @@
2
2
3
3
## Description
4
4
5
-
This agent is designed to perform reverse engineering and analysis of .NET binaries. It can decompile .NET assemblies and leverage a large language model (LLM) to analyze the source code based on a user-defined task, such as identifying security vulnerabilities. The agent can process binaries from a local file path or directly fetch them from the [NuGet package repository](https://www.nuget.org/packages). It operates asynchronously and can run multiple analysis instances in parallel.
5
+
This agent is designed to perform reverse engineering and analysis of .NET binaries. It can decompile .NET assemblies and leverage an LLM to analyze the source code based on a user-defined task, such as identifying security vulnerabilities. The agent can process binaries from a local file path or directly fetch them from the [NuGet package repository](https://www.nuget.org/packages). It operates asynchronously and can run multiple analysis instances in parallel.
6
6
7
7
## Intended Use
8
8
9
-
The primary purpose of this agent is to assist security researchers and developers in automating the process of scanning .NET applications for potential security flaws. A user can provide a high-level task, like "Find only critical vulnerabilities," and the agent will use its tools to decompile the code and use an LLM to analyze it, reporting any findings. It can also be used as a simple utility to decompile and view the source code of .NET assemblies.
9
+
The primary purpose of this agent is to assist security researchers and developers in automating the process of scanning .NET applications for potential security flaws.
10
10
11
11
## Environment
12
12
13
-
The agent is a command-line application built with Python. It requires a Python environment with the necessary libraries installed, as specified in the script. It interacts with the public [NuGet API](https://learn.microsoft.com/en-us/nuget/api/overview) (api.nuget.org) to fetch packages. For its analysis capabilities, it relies on a configured language model, which can be a remote API (like GPT-4o-mini) or a locally hosted model (e.g., via Ollama). For observability and task tracking, it can be optionally [connected to a Dreadnode server](https://docs.dreadnode.io/strikes/usage/config).
13
+
It interacts with the public [NuGet API](https://learn.microsoft.com/en-us/nuget/api/overview) (api.nuget.org) to fetch packages, or with local dotnet assemblies.
14
14
15
15
## Tools
16
16
@@ -25,16 +25,16 @@ The agent is a command-line application built with Python. It requires a Python
25
25
-`search_for_references`
26
26
-`get_call_flows_to_method`
27
27
28
-
## Features
29
-
30
-
-**Multi-Source Analysis**: Capable of analyzing .NET binaries from local paths, directories, or directly from NuGet packages.
31
-
-**LLM-Powered Analysis**: Utilizes a configurable language model to intelligently analyze decompiled source code based on a custom task.
32
-
-**Vulnerability Reporting**: Can identify and report findings, classifying them by criticality (critical, high, medium, low, info).
33
-
-**Concurrent Execution**: Supports running multiple agent instances in parallel to speed up the analysis of many binaries.
34
-
-**Source Code Dumping**: Includes a utility to decompile and save the source code of specified binaries to a text file.
35
-
-**Iterative Analysis**: Performs analysis in an iterative loop, with a configurable maximum number of steps to prevent infinite runs.
36
-
-**Task Completion Summary**: Provides a final summary upon task completion, indicating success or failure and a brief markdown report.
37
-
38
28
## References
39
29
40
30
-[ILSpy](https://github.com/icsharpcode/ILSpy)
31
+
32
+
## Examples
33
+
34
+
```bash
35
+
uv run dotnet_reversing/main.py --model "anthropic/claude-haiku-4-5-20251001" --path ./dotnet_reversing/example_binaries/
36
+
```
37
+
38
+
## Notes
39
+
40
+
It requires access to dotnet, and for dotnet to be in your path, `export DOTNET_ROOT=~/.dotnet`
0 commit comments