腾讯 BrowserSkill 本地实测:CLI 装完不能用,真正的边界在 52800 端口
腾讯开源的 BrowserSkill 让 AI Agent 复用你已登录的真实浏览器GitHub 上 5,718 star9 月 20 日查的适配 Cursor、Claude Code、Codex、OpenClaw、CodeBuddy、WorkBuddy、Hermes Agent、DeepSeek Harness 等一批主流 harness。这篇在我自己机器上从安装到审计跑了一遍CLI 装得很顺装完却什么都干不了。翻完源码和隐私政策之后我觉得真正需要知道的不是它能干什么是它把浏览器的钥匙交给了谁。引子装完第一个命令就撞墙按官方的 Windows 装法一条命令irmhttps://raw.githubusercontent.com/Tencent/BrowserSkill/main/install.ps1|iex过程干净拉version.json拿到0.3.0下载bsk-v0.3.0-x86_64-pc-windows-msvc.zip校验 checksum 通过解出bsk.exe14,010,368 字节落到~/.local/bin顺手把它加到用户 PATH。然后我想开个会话试试{code:no_browser_connected,message:no browser is currently connected,hint:open the browser-skill extension in your browser and wait for the popup to show \connected\,exit_code:1}一个浏览器都没连上。CLI 装好了daemon 也起来了就是没有浏览器。这怪不得它是我漏了第二步浏览器扩展要从 Chrome 应用商店手动装。而这一步恰好是整件事里最该看清的一步。一、先搞清楚它在你机器上放了什么链路是四段Agent 通过 shell 调bsk→bsk走本地 IPC 找 daemon → daemon 用 WebSocket 连浏览器扩展 → 扩展在独立的 Agent Window 里干活。我机器上的实测状态{daemon_version:0.3.0,protocol_version:1.3,pid:3584,uptime_secs:158,ws_port:52800,sock_path:\\\\.\\pipe\\bsk-daemon-b6cbe6266bd753e0,browsers:[],sessions:[]}bsk --help一共 38 个子命令从navigate、click、fill到screenshot、record、request-help该有的都有。顺带说一个我踩到的小坑第一次跑bsk doctor时它报auto-spawned daemon failed to become ready within 3s7 项检查里 4 项 fail。我去翻bsk logs发现 daemon 其实已经 ready 了——只是 3 秒的探测窗口没赶上冷启动。第二次bsk status就正常了。日志比 doctor 的输出可信后面几个结论都是从日志里挖出来的。二、本地桥没消除攻击面它换了个地方隐私政策里有一句话我建议每个打算用它的人都读一遍原文本地模式信任能够绑定所配置回环端口的进程。翻成白话任何能在你机器上绑到 52800 这个端口的进程都能操控你的已登录浏览器。52800 是默认端口0.3.0 起可在扩展弹窗里改我确认过它确实只绑回环TCP 127.0.0.1:52800 0.0.0.0:0 LISTENING 3584只听127.0.0.1是对的外网连不进来。但这句话换个角度就不好看了防线从谁能访问你的网络变成了谁能在你本机跑起来。在 AI 编码 Agent 普及之后后者的门槛低得吓人。一个 npm 包的postinstall、一个被投毒的依赖、一个跑在你机器上的脚本甚至另一个你装过的 Agent skill都算能在你本机跑起来的进程。它们不需要提权不需要绕过防火墙。两条路。一条是抢端口等 daemon空闲 600 秒自动退出实测日志之后接手 52800让真扩展连到自己身上。另一条更省事直接连上正在跑的 daemon——我翻了ws.rs的握手源码它只校验 Origin 头的形状chrome-extension://加 32 位 a–p 字符不校验具体扩展 ID本地进程随手伪造一个头就过。源码注释自己承认这一点原话a side-loaded extension on the same machine currently passes the gate。连上之后发一帧system.handshake它就把自己注册成 daemon 眼里的一个浏览器。我的判断很具体如果你的机器上会跑来源不明的 npm 包、脚本或其他 Agent 的 skillBrowserSkill 带来的风险比它解决的问题更值得关注。反过来如果你的机器是干净的、只跑你自己审过的东西那这个信任模型完全够用。这是合理的工程取舍。三、代价写在扩展的 manifest 里端口后面那把钥匙有多大看扩展的 manifestapps/extension/wxt.config.ts源码原文permissions:[alarms,activeTab,debugger,downloads,idle,notifications,scripting,tabs,storage,webNavigation,windows,],host_permissions:[all_urls],debugger加上all_urls是 Chrome 扩展能给自己的最高档权限之一。debugger意味着完整的 Chrome DevTools Protocol读 DOM、执行 JS、改请求、拿 cookie都在射程内。隐私政策也直说了用它把 CDP 挂到你选中的标签页上。公平地讲这权限是必需的——要在你已登录的页面上点按钮、填表单不带 CDP 玩不转。而且这份隐私政策是我读过的同类项目里写得最细的12 项权限11 项扩展权限 all_urls主机权限逐一解释用途还明确写了不枚举浏览历史、书签、保存的密码不自己调 AI API不含分析统计和指纹。结论不变装 BrowserSkill 等于把 CDP 级权限交给一个扩展这个扩展再把它交给本地 52800 端口上的任何进程。两条信任链串在一起任何一条出问题都是全套交出去。四、还有一层skill 会被自动加载bsk install-skill会把一份SKILL.md我拉下来是 16,027 字节写进各 Agent 的 skills 目录。我本机install-skill --list --json扫出来的结果harness写入路径本机检出codexC:\Users\lenovo\.agents\skills✅~/.codex,codexon PATHclaude-codeC:\Users\lenovo\.claude\skills✅~/.claude,claudeon PATHcodebuddyC:\Users\lenovo\.codebuddy\skills✅~/.codebuddycursor / openclaw / workbuddy 等各自~/.harness/skills未检出三个 harness 都被认出来了。一次安装三处落盘而且都是会被 Agent自动读取的目录。这和我在 SkillSpector 那篇里扫的注入面是同一件事skill 文件进了这些目录就会被模型当成指令读。BrowserSkill 这份写得相当克制开头就写了Never extract credentials, cookies, tokens, or other secrets全流程要求session stop归还借用的标签页。内容我没发现越界的东西。需要留意的是机制本身CLI 版本升级时daemon 启动、session start、doctor都会尝试同步更新这些文件本地改过的会保留并暂停更新doctor给 WARN。装完它你的 Agent 指令目录就多了一个会自动更新的外部来源。五、审计干净的部分要认不干净的部分也要认干净的部分都是我实跑或读源码确认的依赖干净。Cargo.toml里 tokio、tokio-tungstenite、reqwestrustls、clap、sha2、zip 这些主流 crate没有混淆或来路不明的包。Rust edition 2024rust-version 1.85MIT没有遥测域名。我把源码里的外部域名扫了一遍github.com44 次发布与更新、raw.githubusercontent.com10 次安装脚本、Chrome 商店与 Edge 商店链接剩下的全是example.com/*.test这类测试域。没有分析统计、没有自托管埋点更新检查有校验安装流程有 checksum 校验端口只绑回环已确认发布记录透明CHANGELOG 按 Keep a Changelog 维护6 月 22 日首个 tag、9 月 16 日 0.3.0逐版本列 Added / Changed / Fixed可追溯不干净的部分daemon 会自己联网。日志里明明白白periodic update check failed: download https://github.com/Tencent/BrowserSkill/releases/latest/download/version.json。它不是纯离线组件抓包/进程连接监控确认外联目标只有github.com操作审计默认关闭。开了才写~/.bsk/audit保留 30 天脱敏不存输入值、页面正文、截图、脚本、文件内容。已实测开启后*.jsonl落盘fill/click/evaluate 的输入与选择器均 redacted0.3.0 新增了远程模式。可以配对到远程服务器让服务器上的 Agent 操作你本机浏览器。功能有用攻击面也跟着从本机扩到了你选的那台服务器。本地daemon devices / revoke已实测daemon pair需 daemon 运行在 server 模式未完整跑通 server 侧那个内网域名iwiki.woa.com出现在源码里 8 次看着可疑查下来只是record-steps.test.ts里的录制测试样例不是外联六、补做装上扩展后把能跑的项都跑了一遍前面说装完不能用卡在第二步没装商店扩展。装好后no_browser_connected消失bsk status的browsers里出现chrome实例扩展弹窗显示已连接 / READY。之前交代的未测项基本都补上了只剩两项受环境限制。命令 / 功能实测结果bsk session start成功开出 Agent Window返回session_idbsk navigate https://www.example.comreached: load页面打开成功bsk snapshot / observe / get-html读 DOM、可见控件、原始 HTML 均正常bsk install-skill --all真写入 codex / claude-code / codebuddy 的skills/browser-skill/SKILL.mdbsk update --check 进程外联监控daemon 外联目标只有github.com更新检查直连不走路由系统代理fill→click→evaluate→ canvas 点击本地测试页上填测试员、点按钮、读回显、canvas 命中后读像素[255,0,0,255]全通bsk tab borrow / return把用户窗口里的百度百科页借进 Agent Window操作完归还scope user→agent→user操作审计扩展弹窗开启后~/.bsk/audit/*.jsonl实时落盘fill/click/evaluate 的输入与选择器标记input_redacted: trueURL 只保留到域名bsk record start / stop生命周期跑通trace/trace.jsonstates/成功生成但录制内容来自真人在浏览器里的操作自动化命令触发会被会话锁挡住bsk daemon devices / revoke本地配对管理可列、可删daemon pair需要bsk daemon start --mode server未启动 server 模式故未完整测两个真实约束我留给读者自己追附操作思路照着跑就能复现① 全页截图screenshot --full-page——必须让目标标签页保持可见后台标签页会因page_hidden直接失败我已实踩。正确姿势把被借用的 Agent Window 留在屏幕最前、不最小化、不被遮挡再跑# 在 agent 会话里让标签页可见然后bsk screenshot--full-page--path$env:USERPROFILE\Desktop\full.png截图会平铺整页含视口外内容文件通常比普通截图我那张 22KB大几倍。重点验证窗口被遮住时复现page_hidden移回最前后成功——这本身就是个值得写进评论区的对比。② 远程模式完整链路——需要 daemon 跑在 server 模式daemon devices / revoke的本机配对管理我已测通要让远端 Agent 真控制你浏览器得让 daemon 监听在一台可被对方连到的机器上# 本机被控端以 server 模式起 daemon记下它给的配对码/URLbsk daemonstart--mode server bsk daemon pair# 输出配对码交给远端# 远端控制端用配对码连进来后bsk navigate / click 即操作你的浏览器注意攻击面会跟着从本机扩到「你选的那台 server」——配对码别裸发在公网。这一步需要临时打断你当前已连着的扩展连接所以我没在实测里跑留给想验证远程场景的读者。小结信任边界是谁能碰到 52800绑上它或连上它都行网络反而在防线外。本机进程门槛越低这条边界越危险代价是debuggerall_urls权限是必需的但要知道它串起了两条信任链扩展 ← 本地端口 ← Agentskill 会写进三个会被自动读取的目录且会自动更新装之前想清楚 Agent 指令目录要不要接纳外部来源继续用之前先做三件事用完即关任务一结束就bsk daemon stop。daemon 空闲 600 秒才自退这段窗口就是留给本地攻击者的少开一秒少一分暴露隔离运行环境别在同时跑着来源不明 npm 包或多个第三方 Agent skill 的机器上开浏览器控制。做不到就用独立用户 profile 或干脆换台干净机器——这个信任模型的前提本来就是本机进程可信远程能力守两样只配对你自己审过的那台 server配对码走私密信道用完立刻bsk daemon revoke。顺手把操作审计打开出了事至少有留痕项目地址github.com/Tencent/BrowserSkillMITCLI 0.3.0 / 协议 1.3。本文所有输出均来自本机 Windows 11 bsk 0.3.0 实测源码为 main 分支。相关阅读我扫过 61 个 skills 的注入面结论是 0 条真注入、全是误报——静态扫描只能当线索SkillSpector 注入扫描实测把这套东西变成可执行清单的版本Agent 供应链审计方法论待发布MCP 侧的同题自建 MCP 网关时工具名撞车怎么办系列六你机器上装了几个能操作浏览器的 Agent 工具有没有想过它们各自的信任边界在哪评论区聊聊。这篇装完扩展我又补跑了一遍端到端见第六节全页截图和远程 server 模式两项受环境限制操作思路我已经写在第六节末尾留给想复现的读者自己跑——谁跑通了欢迎回评论区贴结果。参考BrowserSkill 仓库BrowserSkill 隐私政策中文远程浏览器连接文档

相关新闻

MoE就是复制的mlp;gate 训练就是谁答的好久分给谁奖励

MoE就是复制的mlp;gate 训练就是谁答的好久分给谁奖励

MoE-MLP 完整流转(输入→门控选专家→专家计算→输出) 目录 MoE-MLP 完整流转(输入→门控选专家→专家计算→输出) 一、先固定:几个专家、选几个(人工超参,不是模型决定) 二、内部逐层流转(一个token,从输入到输出) 步骤1:Gate门控打分(核心,一个线性层) 步骤2…

2026/9/25 18:54:33 阅读更多 →
3DGS高斯泼溅项目环境搭建(传统Windows版)和ooosplat直接安装使用

3DGS高斯泼溅项目环境搭建(传统Windows版)和ooosplat直接安装使用

ooosplat直接安装使用 OOOSplat 是一款将普通环绕拍摄视频或图片序列一键转换为 3D Gaussian Splatting 的本地桌面应用。选择素材、项目目录和质量档位后,应用会自动完成画面准备、相机重建、训练与 PLY 发布,并可直接预览、调整和导出结果 github下载…

2026/9/25 18:54:33 阅读更多 →
计算机二级 Python 备考路线:考点分值分布、高频易错点与冲刺计划

计算机二级 Python 备考路线:考点分值分布、高频易错点与冲刺计划

计算机二级 Python 备考路线:考点分值分布、高频易错点与冲刺计划 全国计算机等级考试二级 Python(科目 66)通过率并不高,多数人输在公共基础与细节语法上。本文给出一条清晰的备考路线,所有分值数据来自官方考纲。 一…

2026/9/25 18:54:33 阅读更多 →

最新新闻

Notepad++中文版下载安装避坑指南:从官网原生包到纯净中文化

Notepad++中文版下载安装避坑指南:从官网原生包到纯净中文化

1. 为什么你下载的 Notepad 中文版总出问题?真相不是“汉化包”那么简单Notepad 中文版下载安装,看起来只是点几下鼠标的事,但实际操作中,90%的人会在前5分钟就卡住——不是下载失败,就是安装后菜单还是英文&#xff0…

2026/9/26 21:01:42 阅读更多 →
用一个API Key统一管理所有AI模型供应商的接入与成本

用一个API Key统一管理所有AI模型供应商的接入与成本

1. 为什么我把所有AI供应商的API Key都收进了同一个钱包1.1 多Key管理的日常混乱做AI应用开发的人大概都有过这种体验:项目还没上线,桌上已经堆了一排API Key——OpenAI的、Anthropic的、Google的、DeepSeek的,可能还有几个我叫不上名字的小众…

2026/9/26 21:01:42 阅读更多 →
统一限流中间件实战:令牌桶、滑动窗口与分布式限流设计

统一限流中间件实战:令牌桶、滑动窗口与分布式限流设计

最近我一直在打磨一个内部代号叫 atlas 的限流组件,起因很简单:线上服务时不时被突发流量冲垮,下游数据库连接被打满,业务方第一反应永远是“加机器”,但加了机器之后,问题又从数据库蔓延到第三方 API 的配…

2026/9/26 21:01:42 阅读更多 →
Python第一次作业通关指南:从环境搭建到跑通代码的完整闭环

Python第一次作业通关指南:从环境搭建到跑通代码的完整闭环

1. 从“python第一次作业”说起:这一关到底卡在哪如果你正在读这篇东西,多半是刚在Python课上领到了人生第一份编程作业,或者正在帮身边人搞定这件事。作为看过太多人迈过这道坎的老手,我可以很负责任地告诉你:第一次作…

2026/9/26 21:01:42 阅读更多 →
让Code Review不走过场:Open Code Review落地实践指南

让Code Review不走过场:Open Code Review落地实践指南

open-code-review 这个主题,聊的是怎么把代码审查这件事真正做起来、做扎实。我见过太多团队把 Code Review 挂在嘴边,实际上 PR 一发、合并按钮一点,审查沦为走过场。我也见过一些团队想推审查制度,结果流程太重、意见太冲&#…

2026/9/26 21:01:42 阅读更多 →
Qwen3-VL ConvRot多模态模型INT8量化部署实战

Qwen3-VL ConvRot多模态模型INT8量化部署实战

1. 这不是“跑个模型”那么简单:Qwen3-VL-32B-Ultra-Heretic-MiniMax-H3-INT8-ConvRot的本质挑战你看到这个标题的第一反应可能是:“又一个大模型部署教程?”——但我要先泼一盆冷水:这根本不是常规意义上的“部署”。它是一场在硬…

2026/9/26 21:00:42 阅读更多 →

日新闻

数据库课后习题答案别硬背:当测试用例集刷,效率翻倍

数据库课后习题答案别硬背:当测试用例集刷,效率翻倍

简介:万常选版《数据库原理与设计》课后习题答案资源,覆盖第2至6章及第9章,适合正在学习关系模型、数据库建模、关系数据理论与模式求精的本科生、自学者作为复习与自测材料。压缩包共7个文件,含3个doc参考答案、2个sql示例脚本、…

2026/9/26 0:00:25 阅读更多 →
学校官网模拟全流程实践:从页面布局到后端接口与部署

学校官网模拟全流程实践:从页面布局到后端接口与部署

如果你正在找一门 Web 大作业的题目,或者刚开始接触 Web 前端开发想做点能拿来展示的东西,“学校官网模拟”几乎是最稳的选择。题目看着简单,但要把导航、新闻列表、轮播 Banner、二级页面、后台数据都串起来,其实已经把前端布局、…

2026/9/26 0:00:25 阅读更多 →
超级玛丽游戏源码C++:从零搭建横版跳跃游戏工程

超级玛丽游戏源码C++:从零搭建横版跳跃游戏工程

简介:这是一份面向游戏开发初学者与C进阶学习者的超级玛丽(超级马里奥)游戏源码,基于C面向对象编程实现,适合想通过经典项目理解游戏主循环、角色类设计、地图关卡加载与物理碰撞检测的读者参考。压缩包共49个文件&…

2026/9/26 0:00:25 阅读更多 →

周新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/25 19:27:14 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/26 20:27:29 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/25 20:29:09 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/25 20:29:43 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/25 20:29:31 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/25 19:27:26 阅读更多 →