Token导航 LogoToken导航TokenDH.com
Triton Taint MCP logo
安全风控stdio官方级别未说明来源级核验

Triton Taint MCP

MCP Server

Triton Taint MCP是一个基于Triton动态符号执行引擎的二进制污点分析工具,用于LLM驱动的漏洞分类,通过标记初始污染源并跟踪指令传播路径来识别用户控制数据的流向。

工具数

1

提示词数

0

GitHub Stars

1

资源数

0
Python安全开发工具

安装说明

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

作者 / 组织

karimodm

提供方

karimodm

最后核验

2026/5/17 20:23

运行时

Python

快速接入

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

命令预览

uv run triton-taint-mcp

详细介绍

Triton Taint MCP

模型上下文协议(MCP)stdio服务器,它公开了一个工具, taint_binary,由 特里同 动态符号执行引擎。它提供了一种适用于LLM驱动的漏洞分类的轻量级前向污染传递:给定二进制、初始污染源(寄存器和/或内存)和步骤预算,它会报告哪些指令将用户控制的数据传播到寄存器或内存中。

快速启动

uv sync          # installs mcp, lief, triton-library (PyPI), pydantic
uv run triton-taint-mcp

服务器通过stdio与MCP通信;将MCP兼容客户端指向可执行文件 triton-taint-mcp (由出口 pyproject.toml 脚本条目)。

工具接口

taint_binary 参数:

  • binary_path (str,必填):通过LIEF加载ELF/PE并映射到Triton的路径。
  • arch (str,默认值 x86_64):其中之一 x86_64, x86, aarch64.
  • entrypoint (int |十六进制字符串,可选):开始执行的地址(默认为二进制入口点)。
  • taint_registers (list\[str\],可选):最初注册要污染的名称,例如。 ["rdi", "rsi"].
  • taint_memory (列表\[{“address”:int|十六进制字符串,“size”:int|十六进制字符串}\],可选):最初要污染的内存范围。
  • initial_registers (dict\[str,int|hex-string\],可选):种子具体寄存器值(例如为内存加载设置指针)。
  • concrete_memory (list\[{“address”:int|十六进制字符串,“data”:list\[int\]| bytes |十六进制串}\],可选):在任意地址预填充内存;接受十六进制字符串。
  • max_instructions (int,默认值500):逐步调整预算以避免模拟失控。
  • stop_addresses (list\[int|hex-string\],可选):到达时停止模拟的地址。

返回值:

{
  "instruction_count": ,         # count of tainted instruction records
  "tainted_instructions": [
    {
      "address": ,
      "mnemonic": "0x401000: mov eax, [rbp-4]",
      "tainted": ,               # instruction reads or writes tainted data
      "tainted_registers": ["eax"],    # registers that are tainted after this instruction
      "tainted_memory": [[0x7ffff000, 4]]
    },
    ...
  ],
  "stopped_on": "|null",
  "error": "|null"
}

工作原理(简述)

  1. LIEF将可加载段映射到Triton内存中。
  2. 基本堆栈被播种(RSP/RBP)以保持执行正常。
  3. 污染源被应用于请求的寄存器/存储器。
  4. 线性步进:最多可读取16个字节 rip,通过Triton解码/执行,遵循更新的 rip.
  5. 每个步骤都记录了最终被污染的写入(寄存器或内存)以及任何被Triton标记为污染的指令。

这是有意最小化的——除了段映射之外,没有libc挂钩、SMT解决或重新定位修复。它专为快速定向答案而设计(“用户控制的数据是否在N步内到达此比较/存储?”)。将其与更丰富的反汇编程序MCP配对,以适应上下文,并与您自己的停止条件配对,以限制探索。

注释和注意事项

  • 需要Python≥3.11和可用的编译器工具链来构建Triton;它从PyPI安装为 triton-library.
  • LIEF处理ELF/PE解析;Mach-O没有连接。
  • 执行是单线程、线性的,并停止在 max_instructionsstop_addresses该循环可能被截断的间接控制流。
  • 如果要对本地Triton克隆进行实验,可以取消注释 triton-local 可编辑源 pyproject.toml 覆盖PyPI包。
  • PIE ELF二进制文件映射到基址 0x00100000 (按该基数移动的片段;入口点也是如此)。非PIE二进制文件在其记录的VA处映射。相应地提供地址(PIE=base+ELF VA的运行时地址)。

目录标签

目录标签

Python安全开发工具二进制分析本地部署污点追踪漏洞分类动态符号执行LLM驱动

接入字段

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

stdio

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

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

1

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdionone部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP