Back to skill
Skillv1.0.0
ClawScan security
vispatrol-alarm-query · ClawHub's context-aware review of the artifact, metadata, and declared behavior.
Scanner verdict
SuspiciousApr 29, 2026, 10:52 AM
- Verdict
- suspicious
- Confidence
- high
- Model
- gpt-5-mini
- Summary
- 技能总体用途与查询报警/抓拍一致,但实际代码会在运行时读取并解密宿主机上的 vpup.json(Windows 临时目录),这一敏感行为并未在 SKILL.md 明确说明,存在未披露的凭据访问/本地数据读取风险。
- Guidance
- 要点与建议: - 风险摘要:脚本会在运行时自动读取宿主机上的 vpup.json(通常位于 Windows 临时目录)以获取服务地址和 token/tokenKey,并执行解密和以本地 MAC 为基础的操作。该行为没有在 SKILL.md 的运行规则或权限声明中明确告知,可能会读取或使用敏感凭据。 - 在决定安装/启用前请做的检查: 1) 打开并审阅仓库中的 scripts/alarm_query.py 全文,确认 vpup.json 期望的字段和解密逻辑(代码中已有 AES 解密/MD5 等),并确认 vpup.json 的来源与内容是否可信。 2) 在目标系统上查看 vpup.json 的实际位置和内容,确认它是否包含敏感 token/密钥,是否应该允许运行时被脚本自动读取。 3) 如果不希望脚本自动读取宿主凭据,运行时把脚本放入隔离环境(容器/沙箱)或修改脚本使其只接受显式的 --base-url/--token 参数并禁用自动加载 vpup.json。 4) 因为脚本会访问本地抓拍文件路径并可能读取/附加图片,确认输出通道(例如飞书机器人)是否受信任并配置为仅对预期目的使用这些图片。 5) 注意 SKILL.md 中出现的 base64-block 扫描告警:核对 SKILL.md 是否包含隐藏的编码或注入式内容,谨防被附加的非文档指令。 - 操作建议:如果你信任该环境(这是该报警系统的官方脚本,并且 vpup.json 来自可信管理工具),可以在受控环境下运行;如果来源不明或你无法审计 vpup.json 内容,建议不要在生产主机上直接运行,优先在隔离环境中审计并改造脚本以显式传入凭据/地址。
- Findings
[base64-block] unexpected: 扫描器在 SKILL.md 中检测到 base64-block 模式(可能是 prompt-injection 策略)。SKILL.md 本身主要是参数/调用说明,不应包含 base64 指令片段;这一检测与技能声称用途不一致,应人工复核 SKILL.md 原文是否包含嵌入或注入内容。
Review Dimensions
- Purpose & Capability
- note名称和描述声明该技能用于查询报警并返回抓拍,脚本确实实现了对报警接口的查询并支持抓拍路径返回,功能上与描述一致;但脚本会自动从 vpup.json(Windows 临时目录,含 token、tokenKey、服务地址等)加载运行时凭据和服务地址,这个关键行为没有在 SKILL.md 的执行规则或依赖声明中清晰列出,产生信息不对称。
- Instruction Scope
- concernSKILL.md 指示上层通过命令行传参(--start/--end/--json 等),并强调不要把用户原文直接交给脚本;但脚本源码(模块注释与实现)会自动定位并读取 vpup.json(包括在 WSL 环境对 Windows TEMP 的探测及路径转换),并使用本地 MAC/UUID 等信息与解密逻辑来处理 tokenKey/token。也就是说脚本会访问宿主机的临时文件和本地证书/标识信息——这些运行时文件访问并未在说明中告知或请求授权。
- Install Mechanism
- ok技能为 instruction-only(没有 install spec),并在 SKILL.md 中列出需要 pip 包 requests 与 pycryptodome;这与脚本中使用 requests 和 Cryptodome 的导入一致,安装方式和依赖没有异常的外部下载或不明来源。
- Credentials
- concern注册表/技能元数据没有要求任何环境变量或凭据,但脚本会读取本地 vpup.json 来获取 token、tokenKey、ip/service 地址并可能解密敏感字段;此外脚本还会尝试获取本机 MAC(uuid.getnode()/getmac)并对其进行哈希。这等于在未声明的情况下访问宿主机证书/凭据与本地标识信息,权限/数据访问范围不成比例且未被文档化。
- Persistence & Privilege
- ok技能未设置 always:true,且没有安装脚本到系统或修改其它技能配置;默认行为不要求常驻或提升平台权限。但脚本会写入/读取本地抓拍文件(默认 ~/.openclaw/workspace/tmp_files/ 或 vpup 指定路径),并尝试跨 WSL/Windows 查找临时目录,这涉及本地文件访问权限,用户应注意。
