本文介绍了作者开发的 JailJS 库,一个用 JavaScript 编写的 JavaScript 解释器,用于在浏览器扩展中安全地执行 LLM 生成的代码。主要解决了两个问题:一是绕过内容安全策略(CSP)的限制,在严格限制 eval 和动态脚本的页面上运行用户/LLM 生成的代码;二是提供有限的沙箱环境,防止恶意代码访问敏感 DOM API(如 document.cookie、fetch)。文章深入讲解了如何将 Babel 解析器打包进 content script,通过消息传递执行代码,并用代理对象限制暴露的 API,同时探讨了沙箱逃逸的多种攻击向量(如原型污染)。JailJS 降低了 LLM 驱动的浏览器自动化开发门槛,但安全防护仍需完善。