Skip to content
This repository was archived by the owner on Nov 9, 2026. It is now read-only.

Latest commit

 

History

History
32 lines (25 loc) · 2.71 KB

security.md

File metadata and controls

32 lines (25 loc) · 2.71 KB

安全

这个工具能完全控制你的手机。部署前请了解下面这些风险,以及默认采取的措施。

风险

风险 说明 默认措施
WebDriverAgent 没有认证 能访问 WDA 端口的人就能操作手机 端口转发只监听 127.0.0.1(不用 go-ios 的 ios forward,它监听所有网卡);MCP 走 docker exec 的 stdio,不开网络端口
实时画面没有认证 能访问 MJPEG 端口的人就能看到手机屏幕,包括正在输入的内容 端口转发只监听 127.0.0.1;不需要时在 .env 里设 MJPEG_PORT=0 关闭
WebView 调试(CDP)没有认证 本机任何进程都能读取和操作 Safari 标签页和可检查的 WebView,包括已登录的网站;桥接不检查请求来源 默认关闭(CDP_PORT=0),要显式开启;只监听 127.0.0.1
容器以 privileged 运行 为了直接访问 USB 设备 隧道用用户态网络栈,不建内核网卡、不改宿主机网络;容器只挂 USB 设备和数据目录
数据目录里有敏感材料 配对记录、Apple ID 登录状态、开发私钥、锁屏密码 敏感子目录权限 700;.gitignore 排除 data/ 和 .env;CI 跑 gitleaks
自动解锁 能登录宿主机、或能调用这个 MCP 的人,都能解锁手机 默认关闭,要显式 iphonectl passcode set;密码不进日志,也不会出现在返回给 AI 的内容里
自动解锁输错 iOS 连续输错会越锁越久,开了「抹掉数据」10 次会清空手机 每按一位都核对,不完整的输入不提交;整串输错一次就永久停用,直到人工恢复
Apple ID plumesign 登录需要密码和双重认证 只在你自己的终端里输入;建议用专门注册的免费 Apple ID,不用主账号
第三方 anisette 服务 plumesign 登录时请求 mac-ani.jkcoxson.com 生成设备标识 文档告知;它拿不到密码
AI 误操作 AI 可能点到付款、删除、发消息 MCP 说明里要求这类操作先征求用户同意;Claude Code 默认每次调用工具都要确认

建议

  • 只在你信任、只有你能登录的机器上部署。
  • 备份 data/,但备份也要按敏感数据对待。
  • 要从其他机器看实时画面或调试 WebView,用 SSH 端口转发,不要把端口绑到其他网卡。
  • WebView 调试用完就把 CDP_PORT 改回 0 并 iphonectl up。
  • 不用时可以 iphonectl down,或在手机上关闭开发者模式。
  • 停用自动解锁:iphonectl passcode clear,再把手机的「自动锁定」改回「永不」。
  • 换手机或不再使用时:在 Apple ID 的开发者设备列表里删掉这台手机,删掉 data/。

报告安全问题

请通过 GitHub 的 Security Advisories 私下报告,不要公开提 issue。