Skip to main content

MCP Server for automated IoT firmware binary security auditing

Project description

autoi-mcp

autoi-mcp 是一个基于 Model Context Protocol (MCP) 的自动化安全审计扩展,该项目通过 MCP 服务调用底层脚本操控 Idat (IDA Pro Python 自动化接口),旨在实现对 IoT 固件二进制程序的批量静态分析、敏感函数挖掘、输入可控点追踪及潜在漏洞定位


安装

方式一:uvx(推荐,用于 Claude Code)

在项目的 .mcp.json 或全局 ~/.claude/claude_desktop_config.json 中添加:

{
  "mcpServers": {
    "autoi-mcp": {
      "command": "uvx",
      "args": ["autoi-mcp"]
    }
  }
}

uvx 会自动从 PyPI 下载并运行最新版本。

方式二:pip

pip install autoi-mcp

然后配置 Claude Code:

{
  "mcpServers": {
    "autoi-mcp": {
      "command": "python",
      "args": ["-m", "autoi_mcp.server"]
    }
  }
}

方式三:源码开发

git clone <repo-url>
cd autoi-mcp
uv sync
uv run python -m autoi_mcp.server

MCP 工具

工具 说明 需要 IDA
scan_firmware 批量扫描固件目录下所有 ELF,风险评分 + 过滤
check_elf 单文件快速检查:安全缓解措施 + 危险符号

核心思路

参考了如下文章 https://mp.weixin.qq.com/s/5mKZ7D1qNoZ9BMDIlxnF6A

1. 自动搜索

自动搜索 system/popen/strcpy/sprintf/strcat/memcpy/gets 等函数的导入和交叉引用

2. 定位输入

定位输入 Source — 搜索 cgi_param/getenv/fgets/fread 等 CGI 输入源

3. 追踪 Source-to-Sink 路径

同一函数内同时调用了输入源和危险函数 = 高风险路径

4. 识别认证函数

识别认证函数 — 函数名含 auth/login/session/check 的全部标记

5. 风险评分排名

有 system/popen 得 30 分,有 strcpy/sprintf 得 25 分,有高危路径再加 30 分


开发说明

本项目使用 DeepSeek 辅助 vibe coding 开发,部分代码由 AI 生成并经人工审查后合入。

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

autoi_mcp-0.1.0.tar.gz (18.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

autoi_mcp-0.1.0-py3-none-any.whl (21.6 kB view details)

Uploaded Python 3

File details

Details for the file autoi_mcp-0.1.0.tar.gz.

File metadata

  • Download URL: autoi_mcp-0.1.0.tar.gz
  • Upload date:
  • Size: 18.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.19 {"installer":{"name":"uv","version":"0.11.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Arch Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for autoi_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 c17ec5407c3de256a87985562e533b48ecad8922789be764a90a40535bd88c17
MD5 e712f98b5d7a2dc44c1d4dfa0dc4f67a
BLAKE2b-256 b61f617c47b89b3142b5cb11b90c0ced8e68daad0c57800d77e51e980fc0e56a

See more details on using hashes here.

File details

Details for the file autoi_mcp-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: autoi_mcp-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 21.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.19 {"installer":{"name":"uv","version":"0.11.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Arch Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for autoi_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4095e43a5733cde98aa6cadc476f7afea43b2ea932ee6a81d0df7ba3fc50442c
MD5 9575d2ce8f08a01178090989d20e903a
BLAKE2b-256 e485c670d5080259f0847c090ddf07d7f58c95bf2892d937aab9569c12bc5bd5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page