一个基于 MCP 协议的 Android 安全测试工具集。把它接入 Claude Code 后,你只需要说"帮我测这个 APK",AI 就会自动完成解包、反编译、组件分析、代码扫描、动态 Hook,最后输出漏洞报告。
Android Pentest MCP
让 AI 自动完成 Android APK 安全测试。基于 MCP 协议,为 Claude Code 提供 27 个安全测试工具。
v1.0.0 当前版本聚焦 Android。后续版本将覆盖 iOS 和鸿蒙平台。
功能
| 类别 | 能力 | 工具数 | |------|------|--------| | APK 操作 | 解包、基本信息提取 | 3 | | 静态分析 | 反编译、代码搜索、敏感信息扫描 | 3 | | 组件安全 | Manifest 分析、导出组件检测与验证 | 3 | | 设备管理 | ADB 设备列表、安装、日志、Shell、截图 | 6 | | 动态分析 | Frida 进程管理、Hook 注入、类枚举 | 12 | | 环境检测 | 依赖工具检查 | 1 |
内置 Skill:5 阶段渗透测试工作流,AI 自动按流程引导测试。
快速开始
前置要求
- Python 3.10+
- Java JDK 17+(用于 apktool 和 jadx)
- ADB(用于设备管理)
- Frida(可选,用于动态 Hook)
安装
# 1. 克隆仓库
git clone https://github.com/imcfyulong/Android-MCP-v1.0.0.git
cd android-pentest-mcp
# 2. 运行安装脚本
# Windows:
install.bat
# Linux / macOS:
./install.sh
安装脚本自动完成:
- ✅ 检查环境依赖
- ✅ 配置 MCP Server
- ✅ 部署 Skill 文件
- ✅ 设置权限白名单
使用
重启 Claude Code,然后:
/android-pentest D:\path\to\app.apk
或自然语言:
帮我测试这个 APK 的安全问题:D:\app.apk
架构
┌─────────────────────────────────┐
│ Claude Code │ ← AI 决策
│ + Skill(流程编排) │
├─────────────────────────────────┤
│ MCP Server(本项目 - 27 Tools) │
│ ┌───────────────────────────┐ │
│ │ apktool jadx frida adb│ │ ← 工具封装
│ └───────────────────────────┘ │
├─────────────────────────────────┤
│ Android 设备 / 模拟器 │ ← 测试目标
└─────────────────────────────────┘
项目结构
android-pentest-mcp/
├── README.md # 本文件
├── LICENSE # Apache 2.0
├── CHANGELOG.md # 变更日志
├── pyproject.toml # Python 项目配置
├── install.bat / install.sh # 安装脚本
├── start_mcp.py # MCP Server 启动入口
├── CLAUDE.md # Claude Code 项目配置
├── src/android_pentest/
│ ├── server.py # MCP Server(27 个 Tools)
│ ├── config.py # 全局配置
│ ├── tools/
│ │ ├── apk_ops.py # APK 解包
│ │ ├── static_ops.py # 反编译、代码搜索
│ │ ├── component_ops.py # 组件安全分析
│ │ ├── device_ops.py # ADB 设备管理
│ │ └── dynamic_ops.py # Frida 动态分析
│ └── utils/
│ ├── runner.py # CLI 命令执行器
│ ├── output.py # 输出标准化
│ └── env_check.py # 环境检测
├── skills/android-pentest/
│ ├── SKILL.md # 渗透测试工作流(5 阶段)
│ └── references/
│ ├── testing-methods.md # 测试方法大全(7 大类)
│ └── h1-cases.md # 真实漏洞案例
└── tools/ # 内置工具
├── apktool.jar
└── jadx.jar
测试流程
| 阶段 | 内容 | 核心工具 |
|------|------|---------|
| Phase 0 | 确认需求 | 交互确认 |
| Phase 1 | 信息收集 | apk_decode, analyze_manifest, adb_devices |
| Phase 2 | 静态分析 | decompile, search_code, scan_sensitive |
| Phase 3 | 动态分析 | frida_hook_*, adb_logcat, adb_shell |
| Phase 4 | 漏洞验证 | test_exported_*, adb_screenshot |
| Phase 5 | 报告生成 | 结构化漏洞报告 |
已知限制
| 限制 | 说明 | 解决方案 | |------|------|---------| | Frida Java bridge | 部分模拟器(如 LDPlayer)Java Hook 不可用 | 使用真机或 Android Studio AVD | | jadx 大 APK | 超大型 APK(8000+ 方法)反编译可能超时 | 降级使用 apktool smali 分析 |
路线图
| 版本 | 平台 | 计划 | |------|------|------| | v1.0.0 | Android | ✅ 当前版本 — 静态分析 + 动态分析 + 组件安全 | | v1.1.0 | Android | 抓包集成(Burp Suite)、MobSF 集成 | | v2.0.0 | iOS | IPA 安全测试工具集 | | v3.0.0 | 鸿蒙 | HAP 安全测试工具集 |
贡献
欢迎提交 Issue 和 Pull Request。
许可证
Apache 2.0 — 仅限授权安全评估、CTF 竞赛和防御性安全研究。