mcpField
F
frida-script-review

frida-script-review

github.com/rudra-ravi测试与质量7107 次安装25 周前更新
代码仓库

关于 frida-script-review

frida-script-review 面向准备运行公开、生成或大量修改状态的 Frida 脚本的开发者,检查平台假设、Hook 时机、修改风险和安全问题,并给出针对性调整及验证建议。

主要功能

  1. 01识别平台假设
  2. 02检查修改点和执行时机
  3. 03检查指针、重载和生命周期
  4. 04标记高风险 Hook 与日志
  5. 05建议修改方案和验证方式

适用场景

  1. 01运行生成的 Frida 脚本前进行审查
  2. 02将宽泛 Hook 精简到目标行为
  3. 03检查指针和字符串处理风险

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/rudra-ravi/frida-skills --skill frida-script-review

安装后在 Claude Code 中输入/frida-script-review确认已加载。

附带文件agents/openai.yaml

详细介绍

Frida 脚本审查

运行公开、生成或大量修改类 Frida 脚本前,请使用此技能。

审查步骤

  1. 确认平台假设:Android、iOS、原生、桌面、Gadget。
  2. 确认修改点:替换返回值、重写参数、写入文件、进程控制、网络变更。
  3. 检查时机:spawn 与 attach、模块加载、类加载器、ObjC 是否可用。
  4. 检查安全性:空指针、重载、字符串生命周期、retval 副本、递归、产生大量日志的 Hook。
  5. 将范围过广的代码包缩减为与目标行为相关的 Hook。

风险信号

  • 未确认实际触发了哪个 Hook,就盲目绕过所有检查。
  • 读取原生指针时未检查空指针或长度。
  • 未确认缓冲区大小,就将字符串替换到固定缓冲区中。
  • 存在重载时,Java 方法 Hook 未显式指定重载。
  • 未检查 ObjC.available 以及类和方法是否存在,就假定 ObjC 选择器可用。
  • 将 retval 或参数包装对象存储起来供后续使用,而不是复制其内容。
  • 日志中不必要地打印机密信息。

加固模式

修改前:

console.log("hook fired", targetName);
console.log(Thread.backtrace(this.context, Backtracer.ACCURATE)
  .map(DebugSymbol.fromAddress).join("\n"));

验证后:

if (shouldPatchThisCall()) {
  retval.replace(1);
}

输出

返回:

  • 风险摘要。
  • 要保留、移除或修改的确切代码行或 Hook 代码块。
  • 更安全、经过审查的脚本或补丁。
  • 验证命令和预期的验证结果。

参考资料

评论

支持 Markdown