BinAssist Documentation

BinAssist is a comprehensive LLM-powered plugin for Binary Ninja that enhances binary analysis and reverse engineering workflows through intelligent automation.

BinAssist Main Interface

What is BinAssist?

BinAssist integrates large language models directly into your reverse engineering workflow. Rather than switching between tools or manually copying code snippets, you can ask questions, generate explanations, and receive intelligent suggestions without leaving Binary Ninja.

The plugin supports both local LLMs (via Ollama, LM Studio) and cloud providers (OpenAI, Anthropic), giving you flexibility to choose the right model for your needs and privacy requirements.

Core Capabilities

BinAssist is organized into seven tabs, each focused on a specific aspect of LLM-assisted analysis:

Tab Purpose
Explain Generate and store function/instruction explanations with security analysis
Query Interactive chat with context macros and autonomous ReAct agent
Actions LLM-powered suggestions for renaming functions, variables, and creating structs
Semantic Graph Build a knowledge graph of function relationships and security properties
RAG Manage external documentation for context-enhanced queries
Settings Configure LLM providers, MCP servers, and plugin options

Key Features

MCP Tool Integration

BinAssist supports the Model Context Protocol (MCP), allowing LLMs to directly interact with Binary Ninja through tool calls. When MCP is enabled, the LLM can:

See the Query Workflow for details on using MCP tools.

ReAct Autonomous Agent

For complex investigations, BinAssist includes a ReAct (Reasoning + Acting) agent that can autonomously:

  1. Plan an investigation based on your question
  2. Execute multiple tool calls to gather information
  3. Reflect on findings and adapt its approach
  4. Synthesize a comprehensive answer

This is particularly useful for exploratory questions like “What vulnerabilities exist in this binary?” or “Trace the data flow from user input.”

Extended Thinking

For models that support it (Claude Sonnet 4+, OpenAI o1/o3, Ollama gpt-oss), BinAssist provides reasoning effort control:

Level Use Case
None Quick queries, simple questions
Low Light reasoning tasks
Medium Moderate complexity analysis
High Deep analysis, complex vulnerability research

Higher reasoning effort allows the model more “thinking time” but increases latency and cost.

Semantic Graph

Build a rich knowledge graph of your binary that captures:

This graph can be queried directly or used to enhance LLM responses with relevant context.

Supported LLM Providers

BinAssist supports a wide range of LLM providers:

Provider Type Description
Ollama Local LLM inference (recommended for privacy)
LM Studio Local models with GUI
Open WebUI Self-hosted web interface
OpenAI Platform GPT-4, GPT-4o, o1, o3 with API key
OpenAI OAuth ChatGPT Pro/Plus subscription
Anthropic Platform Claude models with API key
Anthropic OAuth Claude Pro/Max subscription
Anthropic CLI Claude Code CLI wrapper
LiteLLM Proxy for 100+ providers (AWS Bedrock, Azure, etc.)

Architecture Overview

BinAssist uses a clean Model-View-Controller architecture:

All LLM operations run in background threads to keep the UI responsive, with streaming support for real-time response display.

Getting Started

Ready to start using BinAssist? See the Getting Started Guide for installation and configuration instructions.

Common Workflows

Tab Reference