移动安全测试工具

frida-mcp是一个基于Frida的移动安全测试服务器,将Frida功能暴露为MCP工具,用于AI辅助的安全研究。

  • by cbxss
  • Python
  • 本地部署
  • 15 星标
  • 更新于
在 GitHub 查看 cbxss/frida-mcp

使用说明

弗里达mcp

MCP服务器用于基于Frida的移动安全测试。展示Frida功能作为人工智能辅助安全研究的MCP工具。

需求

  • Python 3.11+
  • 目标设备上运行的Frida服务器
  • Android设备的ADB访问权限
  • 根设备(适用于大多数操作)

安装

cd frida-mcp
uv pip install -e .

构建Frida代理(必填):

cd agent
npm install
npm run build

添加到克劳德代码

claude mcp add frida-mcp -- frida-mcp

工具

连接和会话管理

工具 说明
list_devices 列出所有可用的Frida设备(USB、远程、本地)
list_processes 列出设备上正在运行的进程
list_apps 列出设备上已安装的应用程序
connect 通过捆绑包ID、名称或PID附加到应用程序。支持 spawn=true 为了重新发布。
disconnect 断开与当前会话的连接
is_connected 检查Frida会话是否仍然有效且健康
list_sessions 列出所有活动的Frida会话(支持多设备)
switch_session 按ID切换到其他活动会话

应用程序生命周期(基于ADB)

工具 说明
get_pid 按包名获取正在运行的应用程序的PID
launch_app 通过ADB启动应用程序并返回其PID
stop_app 按程序包名称强制停止应用程序
spawn_and_attach 强行停止,发射新的,并一步连接Frida

内存操作

工具 说明
memory_list_modules 列出进程中加载的所有模块(库)
memory_list_exports 列出特定模块的导出(函数)
memory_search 在进程内存中搜索十六进制模式或字符串
memory_read 在特定地址读取内存
memory_write 将字节写入内存地址(用于修补)
get_module_base 按名称获取模块的基址(部分匹配)

Android Java挂钩

工具 说明
android_list_classes 列出加载的Java类,可选择过滤
android_list_methods 列出Java类的方法
android_hook_method 挂钩Java方法以监视调用
android_search_classes 搜索与模式匹配的类
android_ssl_pinning_disable 禁用SSL证书固定
android_get_current_activity 获取当前前台活动
dump_class 转储类的所有方法、字段和构造函数
heap_search 在Java堆中搜索类的实时实例

持久挂钩

工具 说明
install_hook 安装一个收集消息的持久钩子脚本
get_hook_messages 从持久钩子中检索收集到的消息
clear_hook_messages 清除挂钩消息缓冲区
uninstall_hooks 卸载所有持久钩子脚本
list_hooks 列出所有已安装的持久挂钩
hook_native 按模块+偏移量挂钩本机函数

文件操作

工具 说明
file_ls 列出设备上某个目录中的文件
file_read 从设备读取文本文件
file_download 将文件从设备下载到本地计算机

自定义脚本

工具 说明
run_script 执行自定义Frida JavaScript代码
run_java 在Java.performNow上下文中运行JavaScript

用法示例

1. list_devices          → Find your device
2. connect target=com.example.app spawn=true  → Attach to app
3. android_search_classes pattern=crypto      → Find crypto classes
4. android_hook_method class_name=... method_name=...  → Hook methods
5. get_hook_messages     → See captured calls

备注

  • 连接时,SELinux会自动设置为许可模式(许多设备上的Frida注入都需要)
  • 这 spawn=true 选项使用基于ADB的启动,这比Frida的原生版本更可靠
  • 多会话支持允许同时连接到多个应用程序/设备