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

Buspirate MCP

MCP Server

基于BusPirate 6的硬件安全测试工具,支持UART、SPI、I2C、1-Wire、电源管理、GPIO和逻辑分析仪操作,适用于嵌入式系统调试和安全测试。

工具数

33

提示词数

0

GitHub Stars

1

资源数

0
PythonClaude安全Claude

安装说明

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

作者 / 组织

mplogas

提供方

mplogas

最后核验

2026/5/17 20:20

快速接入

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

命令预览

pip install -e ".[dev]"

详细介绍

公共汽车海盗mcp

MCP服务器用于BusPirate 6硬件安全测试。显示UART、SPI、I2C、1-Wire、电源、GPIO和逻辑分析仪操作 模型上下文协议 工具通过stdio传输。跨4种总线协议的33个工具+逻辑分析仪。

专为与Claude Code一起使用而构建,但适用于任何MCP客户端。

它的作用

  • UART探测: 检测波特率,捕获串行输出,与调试控制台交互
  • SPI闪存: 探针JEDEC ID,读/转储/写SPI闪存芯片(W25Q系列,SOIC-8夹)
  • I2C总线: 扫描设备、读/写寄存器、转储EEPROM内容
  • 1-Wire: 枚举设备,读取ROM代码(DS18B20、iButton)
  • 电源控制: 具有安全等级的电压/电流管理
  • GPIO控制: 用于引导加载程序入口的拨动引脚(ESP32、ESP8266等)
  • 闪光提取: 通过esptool通过UART桥转储固件
  • 逻辑分析仪: 在所有8个IO引脚上以75 MHz的频率进行后续捕获,并带有协议标识
  • 参与度记录: 每个协议日志(UART文本、SPI/I2C/1-Wire JSONL)、每个参与文件夹

需求

  • Python 3.11+
  • 启用BPIO2二进制模式的BusPirate 6
  • 用户在 dialout 串行访问组(sudo usermod -aG dialout $USER)

安装

git clone --recurse-submodules https://github.com/mplogas/buspirate-mcp.git
cd buspirate-mcp
pip install -e ".[dev]"

MCP客户端配置

复制示例配置并调整计算机的路径:

cp .mcp.json.example .mcp.json
# Edit .mcp.json with the absolute path to your venv's python

.mcp.json 由于路径是特定于机器的,因此被忽略。配置示例:

{
  "mcpServers": {
    "buspirate": {
      "command": "/path/to/.venv/bin/python",
      "args": ["-m", "buspirate_mcp"]
    }
  }
}

PIDEV_ENGAGEMENTS_DIR 环境变量,用于控制参与日志的写入位置。默认为 ./engagements/ 相对于包根。

工具

工具安全级别描述
list_devices只读在USB上查找BusPirate设备
verify_connection只读检查引脚上的信号活动
scan_baud只读自动检测波特率
read_output只读从目标读取UART数据
open_uart允许写入打开带有日志记录的持久UART会话
send_command允许写入发送命令并捕获响应
close_uart允许写入关闭会话,完成日志
enter_download_mode允许写入GPIO切换引导加载程序条目
read_flash允许写入通过UART桥通过esptool转储闪存
set_voltage审批写入设置PSU电压(需要确认)
set_power审批写入启用/禁用PSU(需要确认)
串行外设接口
open_spi允许写入配置SPI模式,创建会话
spi_probe只读读取JEDEC ID+状态寄存器,解码芯片
spi_read只读从SPI闪存地址读取N个字节
spi_dump只读将完整闪存转储为二进制文件
spi_write批准写入擦除+程序+验证SPI闪存(需要确认)
spi_transfer只读原始SPI传输(十六进制输入/输出)
close_spi允许写入关闭SPI会话,重置模式
二线制
open_i2c允许写入配置I2C模式,创建会话
i2c_scan只读设备扫描总线(0x00-0x7F)
i2c_read只读从设备+寄存器读取字节
i2c_write批准写入将字节写入设备+寄存器(需要确认)
i2c_dump只读将EEPROM内容转储到文件
close_i2c允许写入关闭I2C会话,重置模式
单总线
open_1wire允许写入配置1-Wire模式,创建会话
onewire_search只读重置总线,读取ROM,解码家族代码
onewire_read只读原始1-Wire事务
close_1wire允许写入关闭1-Wire会话,重置模式
逻辑分析仪
la_prepare允许写入切换到FALA模式,输入总线协议进行捕获
la_command只读执行总线命令并捕获信号数据
la_analyze只读分析信号特征的捕获
la_identify只读从捕获中自动识别总线协议
la_cleanup允许写入恢复BPIO2模式

安全模型

在MCP服务器边界强制执行三层:

  • 只读: 完全自主,无副作用
  • 允许写入: 自主执行,记录所有调用
  • 批准书: 直到人类确认为止 _confirmed 参数。错误的电压会炸掉芯片。SPI闪存写入和I2C写入不可逆地覆盖数据。

BusPirate 6设置

启用BPIO2二进制模式

连接到BP6终端端口(ACM0)并运行:

binmode -> select 2 (BPIO2 flatbuffer interface) -> y to save

这种情况在重新启动后仍然存在。

引脚映射

UART模式使用IO4(TX->)和IO5(RX\ACM2)。服务器自动检测。

测试

pytest              # 203 tests, no hardware needed
pytest -m hardware  # integration tests, BP6 must be connected

许可证

麻省理工学院

目录标签

目录标签

PythonClaude安全硬件安全测试本地部署嵌入式调试协议分析逻辑分析固件提取

支持客户端

Claude

接入字段

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

stdio

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

none

工具数量(toolCount,工具数)

33

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdionone部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP