Hacker News 中文摘要

RSS订阅

浏览器即沙盒 -- The browser is the sandbox

文章摘要

文章核心内容:谷歌开发者Paul Kinlan探讨了浏览器作为代码代理沙箱的潜力,指出浏览器30年来已具备运行不受信任代码的能力。他通过Co-do实验项目验证浏览器技术(文件系统API、沙箱iframe、WebAssembly等)能否满足沙箱三大需求:文件系统、网络访问和安全代码执行。

文章总结

浏览器即沙盒:探索网页作为安全执行环境的潜力

谷歌Web平台开发者倡导者Paul Kinlan近期将研究重心转向编程代理领域,他敏锐地意识到构建安全沙盒环境的重要性,并撰文详述浏览器如何成为理想解决方案:

浏览器作为历经30年演进的沙盒环境,其核心设计目标就是安全执行来自互联网任意来源的不可信代码。基于此,我开发了Co-do实验项目,验证浏览器能否替代传统容器技术(如Claude Cowork使用的多GB本地容器)来实现文件协作功能。

关键技术实现方案: 1. 文件系统:通过实验性File System Access API(目前仅Chrome支持)和跨平台可用的<input type="file" webkitdirectory>标签实现目录级文件访问 2. 网络隔离:采用CSP安全策略与独特的双层iframe技术构建网络访问控制层 3. 代码执行:结合Web Workers和WebAssembly实现安全计算环境

Co-do应用演示: - 用户可选择本地文件夹并配置LLM服务商API密钥 - 系统通过合规API调用实现智能文件处理(如图中展示的"查询最近修改文件"功能) - 界面包含实时工作区状态显示、文件树导航和AI交互面板

技术亮点: - <iframe sandbox>的深度应用(尽管各浏览器文档支持仍不完善) - 新发现的webkitdirectory属性在Firefox/Safari/Chrome的跨平台兼容性 - 作者基于该技术开发的文件树演示工具展示了处理12,000+文件的实际能力

(注:原文中的两幅界面截图描述已精简,保留核心功能说明)

评论总结

评论总结:

  1. 支持浏览器作为沙箱的观点
  • 认为浏览器经过长期实战检验,具备成熟的沙箱机制 "Browser sandboxing has been battle-tested by billions of users" (augusteo) "Browsers are one of the most robust and widely available sandboxing system" (lewisjoe)
  • 指出WebAssembly等技术增强了浏览器的安全能力 "WebAssembly to become the ultimate sandbox standard" (stevefan1999) "A way to run third party code safely in wasm containers" (lewisjoe)
  1. 反对浏览器作为理想沙箱的观点
  • 认为浏览器攻击面过大,存在安全隐患 "Browser sandboxes are swiss cheese...75 zero-day exploits in 2024" (0xbadcafebee) "Browsers are closer to operating systems rather than sandboxes" (politelemon)
  • 指出功能限制问题 "No system calls, no arbitrary binaries...for others it's a dealbreaker" (augusteo) "Chrome-only features can't represent browser标准" (utopiah)
  1. 替代方案建议
  • 推荐使用独立计算机/云实例 "A nano EC2 instance is like $5/m" (bob1029)
  • 建议使用系统级沙箱 "systemd and Linux user permissions/groups...fairly low cost" (ijustlovemath)
  • 提出git worktree等特定解决方案 "git worktree is useful...easy to see what the AI did" (zephen)
  1. 技术实践案例
  • 浏览器中运行完整Linux环境 "We applied...to provide a full Linux environment" (ridruejo) "jslinux and x86 linux examples allow running complete linux env" (anilgulecha)
  • 文件系统访问API的局限性 "user would have to manually re-grant permission every time" (modeless)

关键分歧点: - 支持方强调浏览器的成熟度和便利性:"easy to use and easy to deploy" (0xbadcafebee) - 反对方强调安全风险:"the worst security paradigm" (0xbadcafebee)