安全决策报告

product-demo-video

Legitimate product demo video creator with documented risks; shell command injection concern via unsanitized narration is acknowledged but no malicious chain exists.

安装决策优先 来源: ClawHub 扫描时间: 2026/6/21
文件 6
IOC 6
越权项 0
发现 4

为什么得出这个结论

1/4 个维度触发
通过
声明与实际能力

声明资源与推断能力基本一致。

阻止
隐藏执行与外联

提取到 1 个高危 IOC 或外联信号。

通过
攻击链与高危发现

没有形成明确的恶意路径。

复核
依赖与供应链卫生

发现 3 项需要关注的依赖或供应链线索。

风险分是怎么被拉高的

Shell command injection risk +15

Narration text is interpolated into execSync shell commands without sanitization. skill-card.md partially acknowledges this.

Remote binary download +5

Downloads FFmpeg static binary from johnvansickle.com without integrity verification (no checksum).

Global package installs +5

install-deps.sh uses npm i -g and pip install globally, making broad system changes.

最关键的证据

中危 代码执行

Shell command injection via unsanitized narration

The narration text from SCENES array is interpolated directly into edge-tts shell commands without sanitization. A malicious user-provided narration could break out of the shell command.

scripts/record-demo.mjs:112
Escape or validate narration input. Pass arguments as an array to execSync() instead of template strings, or sanitize special shell characters.
中危 供应链

Remote binary download without integrity check

FFmpeg static binary is downloaded from johnvansickle.com without a checksum or signature verification. This could be replaced by a man-in-the-middle attack.

scripts/install-deps.sh:19
Verify the downloaded binary with a SHA256 checksum, or prefer package-manager installation which provides signature verification.
低危 供应链

Unpinned package versions

Dependencies are installed without version pinning (npm i -g puppeteer, pip3 install edge-tts Pillow). This can lead to supply chain attacks via dependency confusion or typosquatting.

scripts/install-deps.sh:6-11
Pin all dependency versions (e.g., [email protected], edge-tts==6.1.10) to prevent unexpected updates.
提示 文档欺骗

Shell execution partially undeclared in SKILL.md

SKILL.md describes the tool stack but does not explicitly declare that arbitrary shell commands are executed via Node.js execSync. The skill-card.md does acknowledge 'shell command construction during demo generation' as a known risk.

SKILL.md:1
Add an explicit section in SKILL.md explaining that shell commands are constructed and executed to invoke FFmpeg, edge-tts, and Python overlay scripts.

声明能力 vs 实际能力

命令执行 通过
声明 WRITE
→
推断 WRITE
SKILL.md documents subprocess usage for FFmpeg, edge-tts
文件系统 通过
声明 WRITE
→
推断 WRITE
record-demo.mjs:47 — fs.mkdirSync, fs.writeFileSync
网络访问 通过
声明 READ
→
推断 READ
record-demo.mjs:56 — page.goto(s.url) for browser recording
浏览器 通过
声明 WRITE
→
推断 WRITE
record-demo.mjs:107 — puppeteer.launch + screenshot
环境变量 通过
声明 NONE
→
推断 READ
child_process execSync inherits env; no explicit env harvesting
credential_access 通过
声明 NONE
→
推断 NONE
No credential harvesting observed

可疑产物与外联

严重 危险命令
rm -rf /

scripts/install-deps.sh:23

中危 外部 URL
https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-amd64-static.tar.xz

scripts/install-deps.sh:19

中危 外部 URL
https://yourapp.dev/

scripts/record-demo.mjs:56

中危 外部 URL
https://yourapp.dev/feature1/

scripts/record-demo.mjs:67

中危 外部 URL
https://clawhub.ai/user/xiazai77

skill-card.md:7

中危 外部 URL
https://clawhub.ai/xiazai77/product-demo-video

skill-card.md:30

依赖与供应链

包名版本来源漏洞备注
puppeteer * npm 否 Version not pinned; global install
edge-tts * pip 否 Version not pinned; calls Microsoft servers
Pillow * pip 否 Version not pinned
ffmpeg static remote_download 否 Downloaded from johnvansickle.com without integrity verification

文件构成

6 个文件 · 643 行
JavaScript 1 个文件 · 303 行Markdown 3 个文件 · 285 行Shell 1 个文件 · 50 行JSON 1 个文件 · 5 行
需关注文件 · 4
scripts/record-demo.mjs JavaScript · 303 行
Shell command injection via unsanitized narration · https://yourapp.dev/ · https://yourapp.dev/feature1/
SKILL.md Markdown · 165 行
Shell execution partially undeclared in SKILL.md
skill-card.md Markdown · 43 行
https://clawhub.ai/user/xiazai77 · https://clawhub.ai/xiazai77/product-demo-video
scripts/install-deps.sh Shell · 50 行
Remote binary download without integrity check · Unpinned package versions · rm -rf / · https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-amd64-static.tar.xz
其他文件 · demo-planning.md · _meta.json

安全亮点

No credential harvesting, API key theft, or environment variable exfiltration observed
No base64-encoded payloads, obfuscated code, or anti-analysis techniques detected
No reverse shell, C2 communication, or data exfiltration endpoints found
skill-card.md acknowledges dependency installation and shell command injection risks
No hidden persistence mechanisms (cron, startup hooks, backdoor installation) detected
Functionality is coherent and matches the stated purpose: product demo video generation