skshadan/claude-android-reverse

GitHub: skshadan/claude-android-reverse

一款 Claude Code 插件,让 AI agent 自主操控已 root 的 Android 设备进行应用渗透测试,集成了屏幕交互、流量拦截、APK 反编译和安全漏洞分析能力。

Stars: 0 | Forks: 0

# claude-app-tester [![观看演示](https://img.youtube.com/vi/3A_9ydPLp7U/maxresdefault.jpg)](https://www.youtube.com/watch?v=3A_9ydPLp7U) 我给 claude code 配备了一台已 root 的 Android 手机。在一次会话中,它自主地对《地铁跑酷》进行了逆向工程,hook 了金币逻辑,绕过了反作弊系统,并为自己获得了无限金币。在 X 上的完整文章: (原内容有误,遵守规则仅翻译,保留原样:https://x.com/skshadan_/status/2042232847759737264 ) 这是一个用于在已 root 的设备上对 Android 应用进行渗透测试的 claude code 插件。它赋予了 agent 操作手机的双手:它可以读取屏幕、点击和输入、拦截流量、反编译 apk,并在你观察的同时,通过操作应用来寻找漏洞。 该 agent 运行着一个紧密的循环。它将当前屏幕转储为一个带有编号的可交互元素列表,选择一个操作,通过 adb 执行它,读取该操作产生的网络流量,并决定下一步该做什么。重复此过程,直到应用的所有功能都被测试完毕。 ## 前置要求 这些是你需要自行安装的运行时依赖项。插件仅负责编排它们,并不会打包它们。 - 一台已 root 的 Android 设备或模拟器。对于模拟器,通过 [rootAVD](https://gitlab.com/newbit/rootAVD) 安装 magisk 的效果很好。 - 连接到设备的 [adb](https://developer.android.com/tools/adb)(`adb devices` 应该能列出它)。 - 用于流量拦截的 [mitmproxy](https://mitmproxy.org/)。 - 用于绕过 SSL pinning 和 root 检测的 [frida](https://frida.re/)。 - Python 3.10 或更高版本。 ## 安装插件 该插件位于此仓库中。请根据你的使用方式选择合适的方法。 ### 在本地试用 将 claude code 指向当前会话的插件目录: ``` claude --plugin-dir /path/to/claude-android ``` 然后调用该 skill: ``` /claude-app-tester:app-tester ``` 编辑任何插件文件后,运行 `/reload-plugins` 即可直接应用更改,无需重启。 ### 在每次会话中加载 由于该仓库提供了 `.claude-plugin/plugin.json` 文件,将其复制到你的 skills 目录中,claude code 就会在每次启动时自动加载它,路径显示为 `claude-app-tester@skills-dir`: ``` cp -r /path/to/claude-android ~/.claude/skills/claude-app-tester ``` 如果你将其放在项目的 `.claude/skills/` 目录下,首次使用时请接受工作区信任提示。 ### 从 marketplace 安装 此仓库提供了 `.claude-plugin/marketplace.json`,因此其他人可以通过两步操作添加并安装它: ``` /plugin marketplace add skshadan/claude-android-reverse /plugin install claude-app-tester@skshadan ``` 或者运行 `/plugin` 以交互方式浏览并安装。 ## 用法 告诉 agent 要测试什么,如果涉及登录,请提供凭据: ``` Test com.example.app. creds: user@example.com / password123 ``` 接下来,agent 会自行设置代理、启动应用、登录、拦截流量,并查找问题。你可以随时引导它。 ## 工作原理 该 agent 按循环运行四个步骤: 1. 观察。`scripts/ui.py` 将 UI 层级解析为一个紧凑的、带编号的列表,其中包含你实际可以交互的元素。 2. 操作。每个周期通过 adb 执行一个操作:点击、输入、滚动或按键事件。 3. 拦截。`scripts/traffic.py` 显示上一次操作产生的请求。 4. 决策。agent 读取发生的变化并选择下一个操作。 静态分析与该循环并行运行。一个逆向工程子 agent 会提取 apk,使用 apktool 对其进行反编译,并报告导出的组件、deeplink scheme、API endpoint、硬编码的 secret 以及反模式。这些发现会作为反馈,在循环中进行针对性测试。 在主要流程执行完毕后,`scripts/analyze.py` 会审查捕获的流量,以查找 IDOR、损坏的 auth、数据暴露和缺失的安全 header。 ## 包含的内容 | 路径 | 用途 | |------|---------| | `skills/app-tester/SKILL.md` | skill 本身:设置、循环、adb 参考、teardown、规则。 | | `scripts/ui.py` | 通过空间去重,将 UI 层级解析为带编号的可交互元素。 | | `scripts/capture.py` | mitmproxy addon,将 http 流程记录到 jsonl 中。设置 `PRESERVE_AUTH=1` 以保留 auth header。 | | `scripts/traffic.py` | 按时间窗口汇总最近的流量,可选择包含 header 和 body。 | | `scripts/analyze.py` | 安全分析器。模式包括:`endpoints`、`idor`、`auth`、`exposure`、`headers`、`full`。 | | `scripts/bypass.js` | frida SSL pinning 绕过脚本,覆盖 TrustManagerImpl、OkHttp3、SSLContext 和 Conscrypt。 | | `references/frida.md` | frida 设置、codeshare 脚本和 hooking 模式。 | | `references/testing-methodology.md` | 针对每种发现类型的处理方法。 | | `references/agents/reverse-agent.md` | apk 反编译子 agent。 | ## 关于范围的说明 这仅用于测试你拥有或被明确授权测试的应用。它应用的代理设置会在重启后继续保留,因此在完成测试后,请让 agent 运行其 teardown 步骤,或者你也可以使用 `adb shell settings delete global http_proxy` 自行清除。 ## 许可证 MIT
标签:AI智能体, Android, Claude插件, Docker支持, DSL, Frida, 云资产清单, 目录枚举, 移动安全, 逆向工具, 逆向工程