Token导航 LogoToken导航TokenDH.com
Angr MCP (Karimodm) logo
安全风控未说明官方级别未说明来源级核验

Angr MCP (Karimodm)

MCP Server

angr-mcp MCP Server 是一个提供二进制分析能力的服务,支持加载二进制文件、构建符号状态、引导执行和收集漏洞利用工件,适用于快速漏洞探索和分析。

工具数

0

提示词数

0

GitHub Stars

9

资源数

0
Python逆向工程安全

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

karimodm

提供方

karimodm

最后核验

2026/5/17 20:23

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

angr mcp mcp服务器

此项目实现了一个模型上下文协议(MCP)服务器,该服务器公开 核心angr二进制分析功能——加载二进制文件、构造符号 状态、指导执行和收获利用工件——通过一组 工具操作员。最初的重点是快速漏洞探索:分析师 可以加载目标,使其输入符号化,推动执行朝着有趣的方向发展 地址,并在感兴趣的路径出现后提取具体的见证输入 发现。

当前组件

  • angr_mcp/registry.py -内存注册表跟踪angr项目、状态、,

仿真管理器、钩子、缓存分析、警报日志和持久作业 元数据。

  • angr_mcp/server.py –MCP服务器入口点。它实现了以下处理程序

项目加载、符号状态创建、环境检测 (钩子和SimProcedures)、符号执行、断点风格监控、, 状态检查、结构化警报报告、作业持久性/管理, 约束求解、CFG恢复和反向切片。它还集成了 社区探索技术运来 awesome-angr/ExplorationTechniques.

  • angr_mcp/utils/ –二进制检查和状态突变助手由共享

MCP处理程序和测试(部分扫描器、文字交叉引用、, 寄存器/堆栈变异原语和符号句柄注册)。

  • tests/test_mcp_server.py –编译小型C二进制文件的集成测试

并对服务器进行端到端的操作(加载项目、设置符号stdin、运行 有针对性的搜索、解决约束、捕获监视的事件并执行 CFG/切片查询)。

  • tests/test_phase1_ctf.py –重建CTF的第一阶段回归套件

级别00-04仅通过MCP处理程序,断言谓词元数据, 注册/堆栈变异API以及恢复输入的本地重放。

  • tests/test_deep_call_partition.py –深度调用回归,构建一个

分支二进制文件,提取调用链,执行州预算保护,以及 演示了分块符号执行到达隐藏的目标函数。

  • tests/test_taint_analysis.py –格式化字符串污染回归

练习指针感知污染源,并验证通过以下方式触发的接收器 新的污染分析MCP处理程序。

  • pyproject.toml –最小配置启用 uv 管理本地

虚拟环境。

  • schemas/ –JSON模式草案2020-12为每个MCP处理程序定义

请求/响应对加上共享结构(警报、作业、UUID)。

环境设置

  1. 使用创建和激活虚拟环境 uv:
   UV_CACHE_DIR=.uv-cache uv venv .venv
   source .venv/bin/activate
  1. 将依赖项安装到环境中(angr和clairy从

PyPI):

   UV_CACHE_DIR=.uv-cache uv pip install --python .venv/bin/python claripy angr
  1. 运行集成测试:
   .venv/bin/python -m unittest discover tests

第1阶段测试练习32位angr CTF二进制文件。如果你的主人缺少 32位运行库(/lib/ld-linux.so.2),套房将跳过 本机自动重放断言。

使用概述

实例化 AngrMCPServer 并以编程方式或通过您的 MCP传输:

  1. load_project –加载二进制文件并接收 project_id.
  2. setup_symbolic_context –创建条目/调用/空白/完整初始化状态

可选的符号stdin/memory/寄存器(状态ID在 注册表)。

  1. instrument_environment –在上安装SimProcedures或自定义挂钩

执行前的地址/符号。

  1. run_symbolic_search –步进或探索状态,可选附加

覆盖、循环耗尽等探索技术。处理程序 为每个存储返回新的状态ID,发出结构化警报记录,以及 注册/更新稍后可以恢复的作业句柄。使用可选 state_budget 参数检测和短路状态爆炸;这 run-metadata报告每个存储的计数,以便客户端可以调整块大小。

  1. run_taint_analysis –根据记录驾驶供应商提供的污染发动机

国家。定义污点 *来源* (内存/寄存器或指针感知监视器), 指定 *水槽* 在目标基本块地址处,并接收结构化命中 当污染到达接收器时,记录加上状态快照。

  1. monitor_for_vulns –记录检查断点(例如。, mem_write)

因此,会记录与漏洞利用相关的操作(警报与原始操作一起累积 事件日志)。

  1. inspect_state –获取寄存器、内存、约束集、记录

事件,并为任何存储状态生成警报。

  1. solve_constraints –向Claripy查询具体输入/范围

当前的限制。

  1. list_jobs, resume_job,以及 delete_job –管理持续模拟

作业(列出元数据、水合回内存或从注册表/磁盘中删除)。

  1. analyze_call_chain –计算函数之间的调用图路径太深

目标可以分解为可管理的勘探阶段。

  1. trace_dataflow –运行反向切片(可选使用DDG/CDG)以暴露

对所选目标很重要的依赖关系。

现状(2025年10月29日)

  • 核心MCP管道已到位,具有注册表支持的状态跟踪和

弹性执行(捕获错误并将其返回给客户端)。

  • 结构化警报现在突出显示不受约束的指令指针状态

以及可疑的内存写入,在运行时返回规范化的JSON对象 结果和状态检查有效载荷。

  • setup_symbolic_context 以及新 mutate_state 处理程序支持选项

预设、寄存器复制/注入、堆栈调整和符号句柄 用于后续约束求解的跟踪。

  • 谓词描述符(address, stdout_contains, stdout_not_contains)

现在开车 run_symbolic_search,谓词匹配记录在 将payload与base64编码的stdin/stdout流一起运行。

  • analyze_call_chain 恢复函数之间的调用图路径(使用

缓存CFG),因此可以将深层目标分块为可控的勘探 部分。

  • run_symbolic_search 接受a state_budget 上限和详细报告

当接近或超过极限时,状态压力遥测,允许 前端在求解器爆炸之前缩小搜索窗口。

  • 新的 run_taint_analysis 处理程序将angr污染引擎包装为

指针感知污染源和接收器级别污染检查,返回结构化 点击元数据和新的状态快照以进行下游分析。

  • 辅助工具 angr_mcp/utils/ 暴露剖面扫描仪和文字

用于自动化抗CTF水平分析的交叉引用。

  • 通过以下方式创造就业机会 run_symbolic_search 可以恢复、枚举和

坚持到 .mcp_jobs/.json;持续的工作可以重新补充水分 跨流程通过 resume_job.

  • JSON模式 schemas/ 描述每个处理程序请求/响应,启用

下游客户端(例如GhidraMCP)验证有效载荷。

  • 基本勘探技术 awesome-angr 捆剩余

可动态加载。

  • 符号stdin设置初始化默认值 SimPacketsStream 内容

以避免与angr的POSIX插件的兼容性问题。

  • 集成测试端到端验证面向漏洞利用的工作流(需要

安装 claripyangr 通过 uv pip).补充第1阶段CTF 测试断言00-04级别的确定性解决方案 tests/test_phase1_ctf.py深度通话回归 (tests/test_deep_call_partition.py)强调呼叫链处理程序, 国家预算反馈,以及非常深入所需的分块符号执行 目标。新的污点回归(tests/test_taint_analysis.py)证明了这一点 来自符号性stdin的污染可以追踪到易受攻击的 printf 电话。

第一阶段angr_ctf报道亮点

  • 00/01级: .rodata 令牌提取和文字交叉引用提要

证明具体解决方案并确保避免站点的谓词描述符 保持不变。

  • 级别02:纯基于stdout的谓词演示谓词日志记录,

元数据持久性和用于repro的流式stdout捕获。

  • 级别03:空白状态创建、符号寄存器注入和求解器

handle查询恢复本机回放的整数元组。

  • 级别04:堆栈对齐助手和符号推送操作反映了

本机堆栈帧,不触发警报检测器,验证堆栈 通过处理程序管道实现完整性。

计划的下一步

  • 扩展警报覆盖范围以包括额外的漏洞利用启发式(例如。,

无约束堆栈枢轴、自修改代码)和可配置阈值。

  • 添加后台作业执行和进度轮询,以便长时间运行搜索

可以在客户端通过作业元数据轮询时异步继续。

  • 直接从类型注释生成JSON模式,以避免漂移和

在以下情况下将模式验证集成到测试套件中 jsonschema 是 可用。

  • 通过以下方式显示更丰富的元数据(例如钩子注册表、缓存分析)

专用查询端点以辅助前端。

代理人和人类的贡献笔记

  • 使用 uv 用于包装管理;保持 .venv 环境与同步

README 说明。

  • 保留文档(此文件和 AGENTS.md)随着每次更改而更新,因此

未来的课程将了解当前的上下文、约束和未解决的问题。

  • 更喜欢 apply_patch 用于手动编辑。避免使用破坏性的git命令,除非

明确批准。

目录标签

目录标签

Python逆向工程安全二进制分析本地部署符号执行漏洞探索约束求解

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP