product-demo-video
存在已声明的shell命令注入风险和第三方依赖锁定缺失,但未见明确的凭证窃取或数据外泄行为。
rm -rf / Why this conclusion was reached
1/4 dimensions flaggedDeclared resources and inferred behavior are broadly aligned.
1 high-risk artifacts or egress signals were extracted.
There is no explicit malicious chain in the report.
3 dependency or supply-chain issues need attention.
What drove the risk score up
record-demo.mjs:105-107 将用户提供的 narration 拼入 execSync 命令,未完全转义特殊字符
install-deps.sh:15-17 从 johnvansickle.com 动态匹配文件名,可能被供应链攻击
install-deps.sh:23 实为 rm -rf /tmp/... 子路径,非根目录删除,但命令构造本身需注意
skill-card.md 明确声明了 shell 命令注入和依赖安装风险,行为与文档相符
Most important evidence
shell命令注入 — 用户叙文案文拼接入execSync
record-demo.mjs:105 将 narration 文本直接拼入 shell 命令,仅替换双引号字符,未转义反引号、$()、| 等shell元字符。如果用户导入来自不可信来源的演示定义,可能导致命令注入。
scripts/record-demo.mjs:105 FFmpeg静态构建无版本锁定
install-deps.sh:15-17 使用通配符模式匹配 johnvansickle.com 的FFmpeg发布文件名(ffmpeg-*-amd64-static),攻击者可能通过中间人替换下载产物。
scripts/install-deps.sh:15 puppeteer page.evaluate 沙箱逃逸风险
record-demo.mjs:61-73 的 reactSetValue 函数将用户提供的 selector 传入 page.evaluate 执行DOM操作,但仅作用于headless浏览器沙箱内,理论上不会逃逸。
scripts/record-demo.mjs:61 全局npm/pip安装声明与实践一致
skill-card.md 已知风险中声明了全局npm/pip安装风险,install-deps.sh 确实使用 npm i -g puppeteer 和 pip3 install(无 --user),行为与文档相符。
scripts/install-deps.sh:9 Declared capability vs actual capability
SKILL.md:36-50 声明输出MP4/帧文件;record-demo.mjs:115 写入 /tmp/demo-video-work/ SKILL.md:18 edge-tts 调用 Microsoft 服务器;record-demo.mjs:110 page.goto() 访问用户提供URL SKILL.md:16 声明 npm/pip/ffmpeg;record-demo.mjs:103-129 多处 execSync 调用 SKILL.md:18 Puppeteer headless Chrome;record-demo.mjs:94-126 截图/交互 未发现跨skill调用或agent间通信 Suspicious artifacts and egress
rm -rf / scripts/install-deps.sh:23
https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-amd64-static.tar.xz scripts/install-deps.sh:19
https://yourapp.dev/ scripts/record-demo.mjs:56
https://yourapp.dev/feature1/ scripts/record-demo.mjs:67
https://clawhub.ai/user/xiazai77 skill-card.md:7
https://clawhub.ai/xiazai77/product-demo-video skill-card.md:30
Dependencies and supply chain
| Package | Version | Source | Known vuln | Notes |
|---|---|---|---|---|
| puppeteer | * | npm (global) | No | 全局安装,无版本锁定 |
| edge-tts | * | pip3 | No | 无版本锁定 |
| Pillow | * | pip3 | No | 无版本锁定 |
| ffmpeg | dynamic | johnvansickle.com (HTTPS) | No | 静态构建,文件名通配符匹配,无版本哈希验证 |
File composition
scripts/record-demo.mjs skill-card.md scripts/install-deps.sh