Angr MCP插件
  
特性
- 实时GUI集成 --MCP工具绑定到活动的angr管理工作区,因此LLM代理在您打开的同一二进制文件上运行
- 功能分析 --从angr知识库中列出、检查和反编译函数
- 符号执行 --构建CFG,探索有约束的路径,并求解stdin
- 活突变 --重命名函数并设置注释,以实时更新GUI
- 批量操作 --在一次调用中运行多个分析操作
- 快照导出/导入 --用于可重复分析状态传输的版本化JSON合约
- 无头开发模式 --独立运行MCP服务器,无需angr管理即可进行开发和测试
MCP工具
| 工具 | 类别 | 描述 |
|---|---|---|
am_get_current_program | 核心 | 获取活动二进制文件的元数据 |
am_list_functions | 核心 | 知识库中的分页功能列表 |
am_get_function | 核心 | 给定地址处函数的详细信息 |
am_decompile_function | 核心 | 将函数分解为伪代码 |
am_list_strings | 核心 | 分页字符串列表 |
am_get_xrefs_to | 核心 | 对目标地址的交叉引用 |
am_rename_function | 核心 | 重命名函数(实时GUI更新) |
am_set_comment | 核心 | 在地址设置注释(实时GUI更新) |
am_angr_entry | 符号 | 获取二进制入口点地址 |
am_angr_cfg | 符号 | 构建CFG并返回节点/边摘要 |
am_angr_explore | 符号 | 具有查找/避免约束的符号执行 |
am_sync_export | 自动化 | 将当前分析状态导出为快照 |
am_sync_import | 自动化 | 导入并可选择应用快照 |
am_run_batch | 自动化 | 在一次调用中执行多个操作 |
安装
需要Python 3.10+。安装时使用 紫外线 (推荐)或pip:
# Clone the repo
git clone https://github.com/sandbornm/angr_mcp.git
cd angr_mcp
# Install with dev dependencies
uv pip install -e ".[dev]"
# Include angr/angr-management in the same environment
uv pip install -e ".[dev,angr]"用法
插件模式(angr管理GUI)
- 将插件符号链接到angr管理的插件目录中:
mkdir -p ~/.local/share/angr-management/plugins
ln -sfn "$(pwd)/src/angr_mcp_plugin" ~/.local/share/angr-management/plugins/angr_mcp- 重新启动angr管理并启用 Angr MCP插件 从插件管理器。
- 打开二进制文件——MCP服务器会自动启动
http://127.0.0.1:8766/mcp.
开发模式(独立服务器)
运行MCP服务器而不进行angr管理以进行开发:
angr-mcp-dev-server连接您的LLM客户端
将此添加到您的MCP客户端配置中(游标、克劳德代码等):
{
"mcpServers": {
"angr-mcp": {
"url": "http://127.0.0.1:8766/mcp"
}
}
}配置
插件读取这些环境变量:
| 变量 | 默认值 | 描述 |
|---|---|---|
ANGR_MCP_TRANSPORT | streamable-http | MCP传输类型 |
ANGR_MCP_HOST | 127.0.0.1 | 服务器绑定地址 |
ANGR_MCP_PORT | 8766 | 服务器端口 |
发展
# Install dev dependencies
uv pip install -e ".[dev]"
# Run tests
pytest
# Lint
ruff check src/ tests/
# Type check
mypy src/验证同步快照
angr-mcp-validate-sync snapshot.json建筑
src/angr_mcp_plugin/
plugin.py # angr-management plugin entrypoint
mcp_server.py # Embedded MCP server (FastMCP + background thread)
session_state.py # Thread-safe workspace/project binding
sync_contract.py # Versioned snapshot export/import schema
cli.py # Dev server and validation CLI
plugin.toml # angr-management plugin metadata
tools/
core.py # GUI-bound analysis tools (8 tools)
symbolic.py # Symbolic execution helpers (3 tools)
automation.py # Batch and sync tools (3 tools)