Browser

无头浏览器,读懂动态网页

基于 Puppeteer 的无头浏览器自动化工具,可渲染 JS 密集型网页并提取文本内容,适合获取动态加载内容,但存在 SSRF 风险和沙箱配置问题。

收藏
60k
安装
12.7k
版本
1.0.0
CLS 安全性认证2026-05-07
点击查看完整报告 >

使用说明

核心用法

Browser Skill 是基于 Puppeteer 的无头浏览器自动化工具,主要用于:

  • 渲染 JavaScript 密集型网页(SPA、动态内容网站)
  • 提取干净、可读的文本内容
  • 访问常规 HTTP 请求无法获取的动态加载数据

基础命令:

openclaw browser read <url>

该命令会启动 Chromium 无头浏览器,导航至指定 URL,等待页面完全渲染后提取文本内容返回。

显著优点

1. 动态内容支持:相比简单的 HTTP 请求,能完整执行页面 JavaScript,获取 React、Vue 等框架渲染后的真实内容
2. 内容结构化:自动提取可读文本,过滤广告和导航等噪音

3. 官方依赖:基于 Puppeteer 官方库,依赖审计通过,无已知 CVE

4. 代码简洁:仅 41 行可执行代码,结构清晰,无混淆或恶意特征

潜在缺点与局限性

1. 安全沙箱绕过:使用 --no-sandbox 启动参数,降低了浏览器与宿主机的隔离级别
2. SSRF 风险:URL 输入缺乏验证,可能访问内网服务、元数据端点(如 AWS 169.254.169.254)或 file:// 协议

3. 性能开销:启动完整浏览器比 HTTP 请求消耗更多资源,不适合高频调用

4. 超时控制不足:缺乏明确的页面加载超时和请求大小限制

5. 错误信息泄露:原始错误消息可能暴露内部系统信息

适合人群

  • 需要获取 JavaScript 渲染内容的用户(如现代新闻网站、文档站点)
  • 在受控网络环境中使用的开发者
  • 能够评估并承担 SSRF 风险的进阶用户

不建议使用场景:

  • 处理不可信用户输入的 URL
  • 多租户环境或共享基础设施
  • 对延迟敏感的高频查询

常规风险

| 风险项 | 等级 | 说明 |
|--------|------|------|
| SSRF(服务器端请求伪造) | 中 | 可访问内网资源,需严格输入控制 |
| 沙箱绕过 | 中 | 恶意页面可能突破浏览器隔离 |
| 数据外泄 | 低 | 可能将本地数据编码至 URL 发出 |
| 资源耗尽 | 低 | 无超时/大小限制,可能挂起或内存溢出 |

缓解建议: 在隔离容器中使用,配合 URL 白名单(仅允许 http/https,拒绝私有 IP 和 localhost),添加 30 秒超时和响应大小限制。

安全解读

Browser Skill 综合评估:高风险的无头浏览器内容提取工具

1. 核心用法

Browser Skill 是一个由未知实体「OpenClaw」发布的轻量级(41行JavaScript代码)技能,其核心功能是调用 Puppeteer 无头浏览器来渲染用户指定的网页,并通过 document.body.innerText 提取并返回页面的纯文本内容。用户通过命令行 openclaw browser read <url> 即可使用该工具,旨在将纷繁复杂的网页噪声剥离,为下游的智能体提供清晰、可读的文字上下文。该技能理应为内容聚合、网页摘要或数据抓取等场景提供便利。

2. 显著优点

  • 功能简明直接:代码量极小,逻辑清晰无混淆,能够快速部署并执行网页转纯文本这一原子化任务。
  • 依托成熟技术:其唯一依赖是 Google 维护的合法 Puppeteer 库,该库社区活跃、文档完善,理论上提供了强大的浏览器自动化能力。
  • 使用门槛低:通过单一命令行指令即可触发,无需复杂配置,符合开发者的快速集成需求。

3. 潜在缺点与局限性

根据 CLS-Certify 安全性认证报告,该技能存在致命缺陷:

  • 严重的安全漏洞:完全没有对用户输入的 URL 进行任何格式校验、协议白名单检查或目标IP黑名单过滤。这直接导致了一个不受限的服务器端请求伪造(SSRF)漏洞,攻击者可任意构造 URL,通过技能访问内网服务、读取本地文件系统(如通过 file:// 协议读取 /etc/passwd 或 SSH 密钥),甚至窃取云平台实例元数据(如 AWS http://169.254.169.254/)上的 IAM 临时凭证。
  • 安全防护机制被禁用:代码中显式使用了 --no-sandbox--disable-setuid-sandbox 参数启动 Chromium,彻底禁用了浏览器的进程沙箱隔离。一旦访问恶意网页,浏览器漏洞可轻易逃逸,直接威胁宿主机安全。
  • 缺乏运行时保护与依赖管理:页面导航没有设置超时时间,可能导致进程无限期挂起或资源耗尽;返回内容大小不受限制,存在内存耗尽风险。同时,项目缺少 package.json 文件来锁定依赖版本,可能在安装时引入具有已知漏洞的Puppeteer版本。
  • 来源可信度极低:维护者「OpenClaw」属于T3信任等级(个人开发者/社区项目),在GitHub等公开平台上找不到对应仓库,无社区信誉、无Star数、无任何可验证的维护历史。
  • 隐私合规空白:技能完全缺失用户同意机制、数据删除策略和任何数据使用目的声明,不符合基本的隐私保护要求。

4. 适合的目标群体

该技能的原始设计意图可能适用于对安全要求不高的个人开发者,在隔离的、无敏感数据的沙箱环境中进行受控的网页内容抓取实验。然而,鉴于其缺乏基本的安全控制,不推荐任何生产环境、处理敏感数据的企业用户或对内部网络有访问权限的 Agent 直接使用当前版本。目标群体应限于具备安全加固能力的开发者,他们能以该代码为基础,在实施完整的安全整改(如严格URL白名单、恢复沙箱)后,再集成到系统中。

5. 使用该技能可能存在的常规风险

  • SSRF 与内网横向移动风险:未经改革的技能是攻击者绝佳的内网探测和攻击跳板,可能导致内部系统被扫描、攻击或数据泄露。
  • 敏感信息泄露风险:可以轻易读取服务器本地文件系统和云平台临时凭证,造成单点突破口演变为灾难性数据泄露。
  • 主机失陷风险:由于浏览器沙箱被禁用,访问恶意构造的页面将面临浏览器零日或N-Day漏洞的完全利用,可能导致运行该技能的宿主机被完全控制。
  • 服务可用性风险:缺少超时和资源限制,可能因单个恶意请求或异常网页导致技能进程死锁,耗尽系统资源,影响关联服务的稳定性。
  • 合规与审计风险:使用一个来源不明、无隐私设计的工具处理数据,将使企业面临法律、合规和声誉上的巨大风险。

综上所述,Browser Skill 是一个功能和意图清晰,但安全实现为“裸奔”状态的工具。C级安全评级红色警示明确指出,非经彻底的安全加固,该技能是一个危险的存在,其潜在危害远超其带来的效率收益。

Browser 内容

手动下载zip · 1.7 kB
index.jstext/javascript
请选择文件