news-briefing
gen-cover.mjs 存在文档未声明的文件系统写入行为(生成封面图到 /root/.openclaw/),属于阴影功能;其余脚本功能正常但整体权限声明不完整。
Why this conclusion was reached
1/4 dimensions flagged2 undeclared or violating capabilities were inferred.
9 lower-risk artifacts were extracted and still need context.
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
gen-cover.mjs 写入 /root/.openclaw/workspace/skills/news-briefing/cover.png,但 SKILL.md 未声明此功能
gen-cover.mjs 使用 node -e 执行拼接的 JS 代码字符串,存在代码注入风险
SKILL.md 未提及 filesystem:WRITE 权限及具体写入路径
Most important evidence
未声明的封面图生成功能
gen-cover.mjs 在 /root/.openclaw/workspace/skills/news-briefing/ 目录生成 PNG 封面图,但 SKILL.md 全文未提及此功能,属于阴影功能。
scripts/gen-cover.mjs:89 动态代码生成与执行
gen-cover.mjs 将 JS 代码模板保存到 /tmp/gen-cover.js,然后通过 node -e 执行。这种模式增加了代码审查难度。
scripts/gen-cover.mjs:100 硬编码路径访问
gen-cover.mjs 硬编码访问 OpenClaw 技能工作区路径 /root/.openclaw/workspace/skills/news-briefing/,虽为合法用途但路径敏感。
scripts/gen-cover.mjs:10 Declared capability vs actual capability
fetch-news.mjs:56 curl POST/perplexity API; send-card.mjs:95 fetch POST/feishu API gen-cover.mjs:89 writeFileSync cover.png; gen-cover.mjs:101 execSync node -e fetch-news.mjs:33 curl via execSync; news-digest.mjs:44 node subprocess via execSync process.env.PERPLEXITY_API_KEY/PPIO_API_KEY/FEISHU_APP_ID 等 Suspicious artifacts and egress
https://openclaw.ai SKILL.md:138
https://clawhub.com/u/derekhsu529 SKILL.md:138
https://api.perplexity.ai/chat/completions scripts/fetch-news.mjs:65
https://api.ppinfra.com/v3/openai/chat/completions scripts/fetch-news.mjs:122
https://open.feishu.cn/open-apis/auth/v3/tenant_access_token/internal scripts/send-card.mjs:35
https://www.google.com/search?q=$ scripts/send-card.mjs:84
https://open.feishu.cn/open-apis/im/v1/messages?receive_id_type=open_id scripts/send-card.mjs:140
https://clawhub.ai/user/derekhsu529 skill-card.md:7
https://clawhub.ai/derekhsu529/news-briefing skill-card.md:28
Dependencies and supply chain
| Package | Version | Source | Known vuln | Notes |
|---|---|---|---|---|
| @napi-rs/canvas | 0.1.95 | package.json | No | 封面图生成依赖 |
File composition
scripts/fetch-news.mjs scripts/gen-cover.mjs scripts/send-card.mjs SKILL.md skill-card.md