claw-body
该技能为合法的 NuwaAI 数字人avatar集成工具,核心功能正常,但存在多项文档-行为差异(shell执行、文件写入、凭证读取)未在 SKILL.md 中声明,构成安全分析师级别的越权行为。
Why this conclusion was reached
2/4 dimensions flagged5 undeclared or violating capabilities were inferred.
1 high-risk artifacts or egress signals were extracted.
There is no explicit malicious chain in the report.
Dependencies are present but no obvious high-risk issue stands out.
What drove the risk score up
server.mjs:310、327 两处 execSync 调用解析 PPT/PDF,SKILL.md 完全未提及
将用户上传的 PPT/PDF 写入 os.tmpdir(),SKILL.md 未声明文件系统写入能力
server.mjs 读取 ~/.openclaw/openclaw.json 获取 gateway token,未在 SKILL.md 说明
server.mjs:34 硬编码 NuwaAI demo key,虽注释说明为公开试用key,但仍是源码级凭证暴露
Most important evidence
未声明的 shell 执行(subprocess)
server.mjs 通过 execSync 调用 python3 解析用户上传的 PPT/PDF 文件,执行路径硬编码在 ~/Desktop/openclaw/work/...,执行超时 120 秒。SKILL.md 完全没有提及此行为。
server.mjs:310 未声明的 OpenClaw 凭证读取
server.mjs 读取 ~/.openclaw/openclaw.json 以获取 gateway token。SKILL.md 仅提到需要 enable chatCompletions 端点,未说明需要读取配置文件。
server.mjs:12 硬编码 demo API key
server.mjs 中硬编码了 NuwaAI demo API key(sk-ody1Xk9lw...),虽注释说明为公开试用凭证,但源码中包含活跃的 API key 存在密钥泄露风险。
server.mjs:34 文件上传路径遍历风险(已缓解)
API /api/presentation/ 支持读取任意 dir 参数的 presentation.json 和 slides/ 目录。代码有 path.resolve 校验(server.mjs:368),但 presRoot 硬编码在 ~/Desktop/openclaw/work/presentations。
server.mjs:249 SKILL.md 缺少 allowed-tools 声明
技能元数据完全没有声明 allowed-tools,违反 AI 技能安全规范。
SKILL.md:1 NuwaAI 外部服务集成
技能与 NuwaAI (nuwaai.com) 服务深度集成,涉及 WebSocket 实时通信、API 认证和数字人渲染,属于合法第三方集成但用户应知晓数据流向。
server.mjs:226 Declared capability vs actual capability
server.mjs:58 .nuwa-config.json 写入, server.mjs:318 上传文件写入 os.tmpdir() server.mjs:215 POST到 api.nuwaai.com, server.mjs:226 WebSocket wss://wsapi.nuwaai.com — 均未在 SKILL.md 声明 server.mjs:310 execSync python3 parse-presentation.py, server.mjs:327 同上 server.mjs:10 读取 OPENCLAW_GATEWAY, OPENCLAW_TOKEN; server.mjs:13 读取 HOME 拼接路径 SKILL.md 提到 claw-presenter skill 配合使用,但未声明 dependency Suspicious artifacts and egress
apiKey: "sk-ody1Xk9lw_vXkRWEPnaO8OwTFB9gbCnng2EWUl5jNbzolDSlFItc9DvWqrr6RLcL" server.mjs:34
https://nuwaai.com SKILL.md:25
https://api.nuwaai.com/web/apiKey/auth server.mjs:215
Dependencies and supply chain
| Package | Version | Source | Known vuln | Notes |
|---|---|---|---|---|
| node (runtime) | 18+ | system | No | Node.js 运行时,无第三方 npm 依赖 |
File composition
server.mjs SKILL.md