news 2026/10/1 21:11:35

如何理解 AI 浏览器智能体的安全边界?爪爪 PawWork 的 QuickJS 沙箱、tab 租约与无服务器设计剖析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
如何理解 AI 浏览器智能体的安全边界?爪爪 PawWork 的 QuickJS 沙箱、tab 租约与无服务器设计剖析

如何理解 AI 浏览器智能体的安全边界?爪爪 PawWork 的 QuickJS 沙箱、tab 租约与无服务器设计剖析

【免费下载链接】BrowserKittenPaw Work - selection-first web agent for Chrome: select on the live page, describe the outcome, take away an editable office file. BYOK, sandboxed, no server.项目地址: https://gitcode.com/gh_mirrors/pa/BrowserKitten

爪爪 · PawWork(PawWork_ZhuaZhua)是一款 Chrome MV3 浏览器智能体扩展:你在已登录的网页上选中内容、描述想要的结果,它就能自动操作页面并把成果带走成可编辑的办公文件。它自带模型(BYOK,自带 API Key)、代码在沙箱内运行、完全没有服务器——会话、密钥、交付物全部留在本地。正因为一个"能替你点网页"的 AI Agent 天然危险,本文将带你快速看懂它是怎么画好安全边界的。

一图看懂:安全靠"进程分层",不靠自觉

PawWork 不是单页应用。Chrome 把它的代码拆进 5 类进程,每一层"能做什么、不该做什么"在 AGENTS.md 里有明确契约:

层职责硬性禁区
侧栏 Side panel渲染对话、收集输入不跑模型、不持有存储
Service Worker(src/background.js)权限面:标签、下载、sys系统调用不跑模型循环
Offscreen(src/offscreen/runtime.js)会话仓库 + Agent 工具循环不直接碰 DOM /chrome.tabs
Content script页面选区与action执行无会话语义
Sandbox(src/sandbox/runtime.js)执行模型生成的访客 JS没有任何chrome.*

关键思想:危险能力被集中到最少的进程里,其余进程想越权也拿不到句柄。

QuickJS 沙箱:模型写的代码为什么出不来

Agent 的run工具会执行模型生成的 JavaScript——这是最危险的动作。PawWork 的答案是 src/agent/vnext/adapters/codeRuntime.js 里的 QuickJS-WASM 隔离:

  • 独立 WASM 堆:访客代码运行在自己的 QuickJS 运行时里,天然没有宿主的window、document;
  • 封禁探测,失败即关闭:运行时主动把chrome、fetch、localStorage、indexedDB等 15 个名字定义成"一访问就抛错"的陷阱属性。恶意探测代码不会悄悄拿到宿主数据,而是以非零退出码失败;
  • 资源限额:内存上限、512KB 栈上限、超时 deadline + 中断处理器,死循环会被强制打断;
  • 沙箱页二次隔离:在扩展环境中,代码实际跑在 manifest.json 声明的sandbox.pages页面里(sandbox allow-scripts+ 独立 CSP)。这个页面注释写得直白——"No chrome.* — FS and sys are postMessage RPCs",连文件读写都要发消息请宿主代劳。

访客可用的sys浏览器接口(tab 管理、fetch、截图等)只是"系统调用门面",真正的实现全部在服务 Worker 端(src/agent/vnext/host/browserSysHost.js),并带并发上限(最多 128 个在途调用)与操作级超时。

网络守卫:AI 指哪儿,fetch 不能打哪儿

扩展持有<all_urls>权限,如果没有这道闸,模型可以把 fetch 打到你的内网。src/agent/vnext/primitives/netGuard.js 在宿主侧执行网络策略(注释原话:"Runtime Policy lives in the host, not the prompt"):

  • 拦截localhost、.local/.lan/.internal等内网名;
  • 拦截 RFC1918 私有段、169.254链路本地(含云元数据端点169.254.169.254)、CGNAT、IPv6 ULA/链路本地,甚至::ffff:a.b.c.d这种 IPv4-mapped 马甲;
  • 只放行公网http(s),其余一律NET_DENIED。

tab 租约:多个会话抢同一个标签页怎么办

两个会话同时操作同一个网页,页面状态就会互相踩踏。src/agent/vnext/host/tabLease.js 用一张Map<tabId, { sessionId, executionId }>做跨会话互斥锁:

  • 会话 A 占用 tab 12 后,会话 B 的页面动作直接得到TAB_LEASED错误;
  • 同一会话同一执行内重入是允许的(reentrant);
  • 执行结束、中止或关闭标签时自动释放。

它的诚实之处同样写在注释里:"Not a journal: process death drops the map"——Service Worker 被 Chrome 杀掉后锁会丢,因此它只做互斥,不承诺跨崩溃的精确一次语义。

无服务器设计:数据与密钥都不出门

"BYOK, sandboxed, no server" 是 PawWork 的三件套,对应到实现上:

  1. 自带 Key:模型密钥填在侧栏,存于chrome.storage.local,请求直连你配置的 OpenAI 兼容端点(src/agent/provider.js);
  2. 会话本地持久化:会话仓库用 IndexedDB + OPFS 存在本机(src/agent/vnext/sessionWorkspace/durableStore.js),不经过任何第三方中转;
  3. 边界诚实:AGENTS.md「未实现的边界」一节明确列出"没有跨崩溃 exactly-once""截图不是原子快照""出不了浏览器"等硬边界——知道能力到哪里为止,本身就是安全设计的一部分。

小结

PawWork 的安全模型可以浓缩成四句话:危险代码关进 QuickJS 沙箱、浏览器特权收敛到 Worker 系统调用、网络请求经宿主守卫、并发冲突用 tab 租约互斥,再加上全程无服务器。对于想自建浏览器 Agent 的开发者,这套"进程分层 + 宿主策略 + 诚实边界"的清单,是一份可以直接抄的参考答案。

【免费下载链接】BrowserKittenPaw Work - selection-first web agent for Chrome: select on the live page, describe the outcome, take away an editable office file. BYOK, sandboxed, no server.项目地址: https://gitcode.com/gh_mirrors/pa/BrowserKitten

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/1 21:11:26

上海适合跨境品牌推广的GEO服务商选择指南 避坑挑选指南

苏州聚合增长信息科技有限公司是国内较早布局AI生成式引擎优化赛道的科技企业&#xff0c;其推出的Juhe AI 3.0国际版专为出海企业打造一站式海外全网营销方案&#xff0c;覆盖全球40余种语言市场&#xff0c;以GEOA2PAgent三位一体架构&#xff0c;完整覆盖海外客户从产生需求…

作者头像 李华
网站建设 2026/10/1 21:08:59

HowToCook 可乐炒饭做法详解:以可乐代糖的家常焦香炒饭烹饪指南

文档教程 【免费下载链接】HowToCook Programmers guide about how to cook at home. 项目地址&#xff1a; https://gitcode.com/GitHub_Trending/ho/HowToCook 点击查看 免费下载 导读 本文基于 HowToCook 程序员做饭指南仓库中的 可乐炒饭 菜谱&#xff0c;系统讲解这道创…

作者头像 李华
网站建设 2026/10/1 21:08:12

鸿蒙PC端迁移实战:从Web应用到上架,一周搞定APP移植

系列前两篇&#xff0c;一篇拆了鸿蒙PC端的生态机会&#xff0c;一篇带大家把DevEco Studio和基础工程跑通。今天这篇&#xff0c;解决最实际的诉求&#xff1a;你手上已经有一个能跑、有用户的APP&#xff0c;怎么低成本把它搬到鸿蒙PC端&#xff0c;并借着这波红利拿到流量和…

作者头像 李华
网站建设 2026/10/1 21:07:20

数字孪生智能工厂建设方案:三层架构与MES+ERP集成落地指南

简介&#xff1a;这份PPT方案面向制造业数字化转型从业者、智能工厂规划人员及企业信息化负责人&#xff0c;系统讲解数字孪生智能工厂的总体结构、技术架构与MESERP整合路径。内容从建设背景、目标定位与效益分析切入&#xff0c;依次展开物理层、数据层、应用层的总体结构规划…

作者头像 李华
网站建设 2026/10/1 21:07:07

盖茨PowerBand联组V带顶部连接层:载荷均布机理与强度校核

摘要多根V带并联传动是重载风机、空压机、破碎机等设备的主流传动方案&#xff0c;但受制造长度公差、绳芯蠕变差异、轴系对中偏差、带轮槽磨损等多重因素影响&#xff0c;载荷分配严重不均。现场统计显示&#xff0c;并联V带系统中最大单带载荷可达平均值的1.38倍&#xff0c;…

作者头像 李华