【AI安全】智谱ZCode补丁扩展CDP调试API支持模型自动断点调试"

admin 2026-10-17 10:20:22 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

cover_image

【AI安全】智谱ZCode补丁扩展CDP调试API支持模型自动断点调试

原创

挖个洞先
挖个洞先

挖个洞先

2026年8月9日 00:38
北京

在小说阅读器读本章

去阅读

“ 当日嫌它的唱法做作,现在听起来竟然很生动,可能是时光让耳朵变得宽容。——《幻听》 ”

01

—

操作步骤

1、输入提示词,可以看到Zcode无法调用断点调试相关api

https://cdn-zcode.z.ai/zcode/electron/releases/3.7.3/windows-x64/ZCode-3.7.3-win-x64.exe
访问 baidu.com,然后 evaluate(\"1+1\")、enableDebugger、events、openDevTools

2、查看调用轨迹日志,调用browser-use skill

C:\\Users\\Administrator\\.zcode\\cli\\rollout\\

3、查看运行日志里的 tool 顺序

C:\\Users\\Administrator\\.zcode\\cli\\logSkill → mcp__node_repl__js(setupBrowserRuntime)→ mcp__node_repl__js(getForUrl+documentation)→ mcp__node_repl__js(tabs.new+goto)→ mcp__node_repl__js(playwright.evaluate)

4、查看browser-use提供的API,没有断点调试相关接口

C:\\Users\\Administrator\\.zcode\\cli\\plugins\\cache\\zcode-plugins-official\\browser-use\\0.2.1\\docs\\api.json

5、主机日志确认IAB已经attach CDP,只是没有提供API调用

C:\\Users\\Administrator\\.zcode\\v2\\logs\\

6、模型如何驱动浏览器

C:\\Users\\Administrator\\.zcode\\cli\\plugins\\cache\\zcode-plugins-official\\browser-use\\0.2.1\\scripts\\browser-client.mjs
模型  → 工具 mcp__node_repl__js  → 执行 JS:import browser-client,使用 agent.browsers 与 tab 上的方法  → 客户端把操作收成 command 对象,经 transport.execute(browserId, generation, command) 发出  → Node REPL 浏览器 Broker(命名管道或 socket,zcode.cjs 侧)收到请求  → Broker 调用 browserControlPort.execute,把 command 交给桌面浏览器控制口  → Host 进程 IPC:interaction/browserExecute  → Main 进程:校验消息后执行 runBrowserCommandOnView,再进入 BrowserUse.execute(command)  → Main 根据 command.method 选择分支处理    (出厂已有例如 navigate、playwright、getState、screenshot、close;     没有 cdp 分支,所以 enableDebugger 一类调不到)「command.method 分支」说明:command 是一个 JSON 对象,里面有字段 method。Main 里类似 if (method === \"navigate\") 做导航,if (method === \"playwright\") 做 Playwright 动作。出厂枚举到 list 为止,没有 method === \"cdp\",模型再怎么调断点相关名字也不会进调试分支。

7、出厂执行桥:没有 method=cdp

C:\\Users\\Administrator\\.zcode\\report\\local-backups-373\\app.asar.bak-unpacked\\out\\main\\index.js

8、补丁执行桥:增加 method=cdp

C:\\Users\\Administrator\\.zcode\\report\\files\\asar-extracted\\out\\main\\index.js

9、出厂 Main schema

C:\\Users\\Administrator\\.zcode\\report\\local-backups-373\\app.asar.bak-unpacked\\out\\main\\chunk-PWHDRJIQ.js

10、补丁 Main schema:加上 cdp

C:\\Users\\Administrator\\.zcode\\report\\files\\asar-extracted\\out\\main\\chunk-PWHDRJIQ.js

11、补丁 Host schema:加上 cdp

C:\\Users\\Administrator\\.zcode\\report\\files\\asar-extracted\\out\\host\\chunk-VMEOUWWD.js

12、补丁 Broker:g.enum 加 cdp

C:\\Users\\Administrator\\.zcode\\report\\files\\glm\\zcode.cjs

13、补丁 Broker:parse 前先取请求 raw.id,避免错误回包 id 错乱

C:\\Users\\Administrator\\.zcode\\report\\files\\glm\\zcode.cjs

14、补丁模型侧:模型侧暴露 tab.cdp 入口

C:\\Users\\Administrator\\.zcode\\report\\files\\plugin\\scripts\\browser-client.mjs

15、补丁文档:api.json 声明 enableDebugger

C:\\Users\\Administrator\\.zcode\\report\\files\\plugin\\docs\\api.json

16、效果如下

打开 https://www.baidu.com。用 tab.cdp.evaluate(\"1+1\")、tab.cdp.enableDebugger()、tab.cdp.events({limit:50})、tab.openDevTools() 依次调用。然后控制台执行(function() {    var stringify = JSON.stringify;    JSON.stringify = function(params) {        console.log(\"Hook JSON.stringify ——> \", params);        debugger;        return stringify(params);    }})();

17、替换清单

关闭进程Get-Process -Name ZCode -ErrorAction SilentlyContinue | Stop-Process -Force
https://github.com/Almost-Zhangsan/zcode-cdp-patch-3.7.3/blob/main/files/glm/zcode.cjs.gz(下载后解压为 zcode.cjs,见同目录 README)→ D:\\ZCode\\resources\\glm\\zcode.cjs
https://github.com/Almost-Zhangsan/zcode-cdp-patch-3.7.3/blob/main/files/plugin/scripts/browser-client.mjs→ C:\\Users\\Administrator\\.zcode\\cli\\plugins\\cache\\zcode-plugins-official\\browser-use\\0.2.1\\scripts\\browser-client.mjs→ D:\\ZCode\\resources\\glm\\packages\\browser-use-plugin\\scripts\\browser-client.mjs
https://github.com/Almost-Zhangsan/zcode-cdp-patch-3.7.3/blob/main/files/plugin/docs/api.json→ C:\\Users\\Administrator\\.zcode\\cli\\plugins\\cache\\zcode-plugins-official\\browser-use\\0.2.1\\docs\\api.json→ D:\\ZCode\\resources\\glm\\packages\\browser-use-plugin\\docs\\api.json
https://github.com/Almost-Zhangsan/zcode-cdp-patch-3.7.3/tree/main/files/asar-patches(解包本机官方 app.asar 后覆盖下列 3 个文件,再 asar pack)  out/main/index.js  out/main/chunk-PWHDRJIQ.js  out/host/chunk-VMEOUWWD.js→ 打包结果覆盖 D:\\ZCode\\resources\\app.asar
raw(可直接下载):https://raw.githubusercontent.com/Almost-Zhangsan/zcode-cdp-patch-3.7.3/main/files/plugin/scripts/browser-client.mjshttps://raw.githubusercontent.com/Almost-Zhangsan/zcode-cdp-patch-3.7.3/main/files/plugin/docs/api.jsonhttps://raw.githubusercontent.com/Almost-Zhangsan/zcode-cdp-patch-3.7.3/main/files/glm/zcode.cjs.gz
打包 asar 步骤见仓库 README:https://github.com/Almost-Zhangsan/zcode-cdp-patch-3.7.3


【AI安全】智谱ZCode补丁扩展CDP调试API支持模型自动断点调试" 网络安全文章

【AI安全】智谱ZCode补丁扩展CDP调试API支持模型自动断点调试"

本文详细介绍了如何通过补丁方式为智谱ZCode的browser-use插件扩展CDP调试API支持,使模型能够进行断点调试。作者分析了出厂版本缺少cdp分支的底层原因,并提供了修改执行桥、schema、Broker及模型侧脚本的完整步骤与替换清单。该方案可操作性强,为AI安全研究和浏览器自动化调试提供了实用参考。
如何实现「红牛自由」—一次LFI漏洞挖掘的完整复盘" 网络安全文章

如何实现「红牛自由」—一次LFI漏洞挖掘的完整复盘"

本文复盘了作者参与红牛赏金计划挖掘LFI漏洞的完整过程。在常规测试无果后,作者收窄范围专注路径穿越漏洞,收集并改造payload体系,通过httpx自动化验证,最终在四个子域名命中漏洞,发现401状态码下仍存在路径穿越。关键启示:深耕单一漏洞类型、迁移改造他人思路、自动化重复验证、不轻易放弃看似排除的信号。
云原生篇-攻击Pod&污点Taint&横向移动&容器逃逸" 网络安全文章

云原生篇-攻击Pod&污点Taint&横向移动&容器逃逸"

本文演示了云原生环境下的攻击链,包括利用Web漏洞(如Struts2)获取容器权限、通过危险挂载或特权模式进行容器逃逸、创建后门Pod挂载宿主机根目录,以及利用Kubernetes污点Taint机制横向移动到master节点。关键发现是攻击者可通过APIServer未授权访问或节点config泄漏实现横向移动。建议防御方加强容器安全配置、限制APIServer访问并监控异常Pod创建。
评论:0   参与:  0