Back to skill
Skillv1.5.0
ClawScan security
旅游攻略多平台抓取助手 · ClawHub's context-aware review of the artifact, metadata, and declared behavior.
Scanner verdict
SuspiciousApr 24, 2026, 3:19 AM
- Verdict
- suspicious
- Confidence
- medium
- Model
- gpt-5-mini
- Summary
- 技能总体上看起来是为多平台抓取旅游攻略而设计,但其运行说明要求未申明的本地二进制/工具、在用户主目录持久化会话文件、并动态 eval 本地 JS 内容(潜在任意代码执行/数据暴露),存在若干不一致与风险,建议在确认缺失文件与执行细节前谨慎安装。
- Guidance
- 简明建议: - 在将技能投入真实环境前,先审查并确认引用的外部脚本(例如 ~/.openclaw/workspace/skills/xiaohongshu-crawler/scripts/extract-article.js)真实、安全,可提供其源码以供审核;当前技能包并未包含该文件但多处依赖它。 - 注意运行时依赖:脚本会使用 google-chrome/chrome、python3、curl 和一个名为 agent-browser 的工具,但这些未在元数据中声明。请确认本机是否安装这些工具,并确认 agent-browser 的实现来自可信来源。 - 谨慎对待 Chrome --remote-debugging-port=18800:该端口一旦暴露在网络上,可能被本地网络中的其他节点利用。建议仅在受控环境或本机回环地址上启动,并确认防火墙/网络设置。 - eval 本地 JS 的行为增大风险:任何被写入到被 eval 的本地文件都将被执行。确保您信任这些文件的来源,或在沙箱/隔离环境中试运行技能。 - 审查将被创建的持久文件(~/.openclaw/workspace/tasks/*)并决定是否接受长期存储抓取结果;如不希望长期持久化,可在使用后手动删除这些目录。 - 若需更高保证,请要求技能作者补充:明确的依赖清单、完整的 extract-article.js 源码、解释何处会与外部服务器通信(列出域名/端点),以及是否有任何网络回传或上报机制。 基于以上不一致点(未声明的依赖、外部脚本引用、eval 执行与持久化文件),我建议将该技能视为可用但需审慎:在受控/隔离环境中测试并审阅缺失脚本与依赖后再将其用于含敏感数据的系统。
Review Dimensions
- Purpose & Capability
- concern技能声明的目标(抓取并整合多平台攻略)与大部分指令一致:使用浏览器的 CDP 接口、按平台提取特定指标、写入任务/状态/数据文件等都是抓取工作会用到的。但清单中宣称“无必需二进制/环境变量”,实际上脚本和 SKILL.md 依赖 curl、python3、google-chrome/chrome、以及平台特有的 agent-browser/agent-subagent 工具;这些运行时依赖未在元数据中声明,造成不一致。另有对 ~/.openclaw/workspace/skills/xiaohongshu-crawler/scripts/extract-article.js 的引用——该文件并未随技能包提供,依赖外部内容。
- Instruction Scope
- concernSKILL.md 明确指示创建并写入用户主目录下的长期任务/状态/数据文件、按固定 sessionKey 启动持久化 subagent,并多次要求通过命令 eval "$(cat <path>/extract-article.js)" 将本地 JS 注入浏览器执行。读取/执行主目录下任意脚本和长期持久化 session 文件可以被用来保留敏感数据或执行任意代码;该行为虽可用于恢复抓取任务,但扩大了攻击面(例如:若 extract-article.js 被替换或来源不可信,可能导致数据泄露或滥用)。此外,文档期望使用 Chrome 的远程调试端口(18800),公开该端口在本地网络中可能带来风险。
- Install Mechanism
- ok该技能为 instruction-only 并无安装规范,未在系统上下载或写入额外二进制,属于低安装层面风险。但运行时会在用户机器上创建 ~/.openclaw/workspace/tasks 下的多份文件(持久化),这是预期行为但仍应被用户知晓与审查。
- Credentials
- note技能未声明需要任何凭据或环境变量,这看起来有利于安全审查;但运行说明与脚本会访问/写入用户主目录路径、使用浏览器会话并提示用户扫码登录第三方平台(这会涉及用户凭据在浏览器层面的交互)。此外,使用 eval 读取并执行位于 ~/.openclaw/workspace/skills/... 的脚本意味着本地文件内容变成执行输入,应确认这些文件的来源与完整性。
- Persistence & Privilege
- note技能不具有 always:true,也不修改其他技能配置,但明确设计了长久化 sessionKey 与三文件持久化方案,意在跨重启恢复任务。这种持久化会在用户主目录留下可复用的任务/状态/数据文件,可能长期保留抓取结果或会话信息,用户应了解并同意这种持久化。
