Back to skill
Skillv0.1.5

ClawScan security

Langextract Search · ClawHub's context-aware review of the artifact, metadata, and declared behavior.

Scanner verdict

SuspiciousFeb 27, 2026, 12:36 PM
Verdict
suspicious
Confidence
medium
Model
gpt-5-mini
Summary
技能总体和其描述一致(搜索 + 结构化提取),但实际代码/配置会读取多种 API 密钥(通过 conf.json 或环境变量)且这些凭据未在元数据或 SKILL.md 中被明确声明或限制,存在凭据暴露与范围不清的风险。
Guidance
这项技能确实能做它宣称的事情(整合智谱/ DuckDuckGo 与 langextract),但注意: - conf.json 中包含多个 apiKey 占位符(ZHIPU_SEARCH_API_KEY、VOLCENGINE_API_KEY 等)。该脚本会尝试从 conf.json 的字符串或对应的环境变量读取这些密钥,但 SKILL 元数据没有声明需要哪些环境变量。安装前请不要把真实凭据直接写入项目文件。优先通过操作系统环境变量注入密钥,并确认 conf.json 不包含明文密钥。 - 在使用前检查并理解 conf.json 的所有键,确认你只提供必要服务的凭据(例如只启用 DuckDuckGo 时不需要智谱/火山引擎的密钥)。 - 仔细审阅 scripts/search.py 和 langextract_wrap.py(它们会使用 openai/zai-sdk/langextract 等客户端),并在隔离环境或受控网络中首次运行以观察对外请求的目的地(这些请求会发往智谱、火山引擎或其他后端)。 - 如不需要某些后端,禁用相应 conf.json 节点(enabled: false)。避免将敏感凭据提交到共享代码库。若需要,我可以帮助你定位 conf.json 中哪些字段必须提供密钥,以及如何以更安全的方式注入凭据。

Review Dimensions

Purpose & Capability
note名称与描述匹配其行为:整合智谱搜索、DuckDuckGo 和 langextract 结构化提取。包含的脚本实现了这些功能(zhipu + ddgs + langextract)。没有发现与描述完全无关的网络/云服务调用。
Instruction Scope
okSKILL.md 的运行指令与代码行为基本一致:安装 requests/ddgs/langextract,运行 scripts/search.py,配置 conf.json。文档说明会读取/写入项目 conf.json 并提示首次配置,这与脚本中对 conf.json 的读/写逻辑一致。未看到脚本在说明之外访问主机上不相关的敏感路径或任意上传到未知第三方的步骤。
Install Mechanism
ok没有 install spec;代码随包提供,运行时依赖由用户通过 pip 安装(requests、ddgs、langextract、zai-sdk/openai 等)。没有通过不可信的远程 URL 下载并执行二进制的高风险安装步骤。
Credentials
concernconf.json 包含多种 apiKey/botId/baseUrl 字段(智谱、火山引擎/volcengine、langextract/backends 等),脚本的 resolve_api_key 会尝试从环境变量中解析这些值。尽管 SKILL.md/registry 元数据未声明任何 required env vars,该技能实际上需要/使用多种外部服务凭据。未声明的凭据需求和默认配置将鼓励用户在项目 conf.json 中放置显式键名(增加凭据泄露风险)。
Persistence & Privilege
ok技能没有设置 always: true,也没有请求修改其他技能或系统范围的配置。首次运行会在项目目录写入/更新 conf.json(文档已提及),这是合理且与其功能相关。