Record behavior
Run dynamic analysis in a VM and collect records of processes, file operations, and other activity.
VMWARE / SYSMONThe LLM investigates. Scripts connect the steps.
Turn dynamic logs and Ghidra findings into evidence-based insights.
Run dynamic analysis in a VM and collect records of processes, file operations, and other activity.
VMWARE / SYSMONInspect functions and decompiled code in Ghidra, including logic that did not appear during execution.
GHIDRA / MCPThe LLM organizes findings into Markdown and HTML, separating observations from inferences.
LLM / REPORTMalware analysis involves preparing a sample for execution, collecting logs, inspecting code, and correlating results. r_AKanaly connects these steps, combining LLM investigation with script-driven workflow management.
Scripts handle routine VM operations and log collection, passing the information to the next stage and connecting the workflow through to reporting.
The LLM uses available evidence to decide what to inspect next. It follows functions and references to investigate the code behind behavior observed in dynamic logs.
Record what was observed and which operations it relates to. Separate confirmed facts, inferences, and unresolved questions in a report you can revisit.
Dynamic analysis runs the sample inside a VM and records processes, file operations, and other activity. Behavior actually observed under those conditions becomes the starting point for investigation.
Static analysis inspects functions and call relationships using tools such as Ghidra without normally executing the sample. This includes unobserved logic and branches that require specific conditions.
For example, after observing a file modification. Inspect the related functions and their call conditions to check whether the code matches the logged behavior. Distinguish code that exists from code that actually executed.
Scroll to follow requests into the Guest and results back to the Host. Stop scrolling to pause the paths, or scroll back to reverse them.
Read the selected sample and analysis settings, then prepare the environment for analysis.
Swipe the diagram horizontally on mobile. This conceptual diagram includes planned features. vmrun runs on the Host. Lines represent logical requests and results, not direct sample transfer through MCP.
Read the selected sample and analysis settings, then prepare the environment for analysis.
Observe behavior in the dynamic-analysis VM and collect logs, then switch to the static-analysis environment.
The LLM decides what to inspect. MCP forwards the request to the resident Host agent.
The resident Host agent relays instructions through vmrun to operations inside the Guest.
The Guest OS agent handles extraction, file operations, and tool preparation. Transfer the sample only after readiness checks.
Retrieve functions and decompiled code from the resident Ghidra agent. Revisit relevant areas as needed.
Return analysis results along the reverse path. The LLM correlates them with dynamic logs and compiles its findings into the final report.
The LLM decides what to investigate. The Host relays MCP requests and returns results.
The OS agent prepares, extracts, and launches tools. The Ghidra agent retrieves functions and analysis data.
Scripts coordinate snapshot restoration, readiness checks, sample transfer, log collection, and post-analysis preservation.
Resident Ghidra integration inside the VM and post-analysis preservation are in development.
The design prioritizes separation between the LLM on the Host and the Guest environment that handles samples. It aims to perform static analysis through Ghidra and supporting tools inside the VM, returning findings to the Host.
Resident VM integration and integration into the application are in development. The following describes the intended architecture.
Extract samples and operate analysis tools inside the VM. The Host LLM investigates the returned information. The architecture uses vmrun / Guest Operations and does not require a Host-Only network connection.
Manage separate snapshots for dynamic and static analysis. Unanswered questions during static analysis should not automatically trigger normal execution of the sample.
Check the VM agents, analysis tools, destination, and isolated LAN without external connectivity before transferring the sample. Prepare the environment before handling the sample.
What happened? What supports the conclusion? What remains unknown? Organize the findings so they can guide further investigation.
This report is an illustration of the structure, not an actual sample or analysis result.
Fully automated means connecting the steps after you prepare the environment and specify the sample and analysis settings. Here is what to prepare and what to review afterward.
Distribution is being prepared. Supported environments and setup instructions will be provided with the release.
Check release status ↗
Build, investigate, understand more.