Skill Trust Decision
douyin-video-skills
合法的抖音视频文案提取工具,存在轻微文档越权但无恶意行为
Why this conclusion was reached
2/4 dimensions flagged Block
Declared vs actual capability
2 undeclared or violating capabilities were inferred.
Block
Hidden execution and egress
1 high-risk artifacts or egress signals were extracted.
Pass
Attack chain and severe findings
There is no explicit malicious chain in the report.
Review
Dependencies and supply chain hygiene
2 dependency or supply-chain issues need attention.
What drove the risk score up
subprocess 调用 playwright-cli 未声明 +10
run_pipeline.py 通过 subprocess 执行 shell 命令,但 SKILL.md 未声明
依赖无版本锁定 +5
pip install requests ffmpeg-python 无版本控制
API_KEY 环境变量读取 +5
代码访问 API_KEY 但用途为调用硅基流动 ASR API,属于合法使用
Most important evidence
Medium Priv Escalation
subprocess 调用未声明
run_pipeline.py 通过 subprocess.run 调用 playwright-cli 执行浏览器自动化,但 SKILL.md 未声明使用 shell 执行权限
scripts/run_pipeline.py:30 在 SKILL.md 声明中使用 playwright-cli 作为 required-tools
Low Supply Chain
依赖无版本锁定
SKILL.md 中 pip install requests ffmpeg-python 未指定版本,可能引入依赖供应链风险
SKILL.md:21 建议锁定版本,如 pip install requests==2.31.0 ffmpeg-python==0.2.0
Low Doc Mismatch
JavaScript 执行能力未声明
run_pipeline.py 通过 playwright-cli run-code 在浏览器中执行 JavaScript 进行页面交互(搜索、点击),但文档未提及
scripts/run_pipeline.py:58 补充说明浏览器自动化依赖 playwright-cli 的 run-code 能力
Declared capability vs actual capability
Filesystem Block
Declared NONE
→ Inferred WRITE
scripts/douyin_downloader.py:116 创建输出目录 Network Pass
Declared NONE
→ Inferred READ
requests.get/post 调用 douyin.com、api.siliconflow.cn Shell Block
Declared NONE
→ Inferred WRITE
scripts/run_pipeline.py:30 subprocess.run 调用 playwright-cli Suspicious artifacts and egress
High API Key
API_KEY="your-siliconflow-api-key" SKILL.md:67
Medium External URL
https://www.douyin.com/ SKILL.md:59
Medium External URL
https://cloud.siliconflow.cn/ SKILL.md:76
Medium External URL
https://www.iesdouyin.com/share/video/ SKILL.md:155
Medium External URL
https://api.siliconflow.cn/v1/audio/transcriptions scripts/douyin_downloader.py:53
Dependencies and supply chain
| Package | Version | Source | Known vuln | Notes |
|---|---|---|---|---|
| requests | * | pip | No | 无版本锁定 |
| ffmpeg-python | * | pip | No | 无版本锁定 |
| playwright-cli | latest | npm | No | 外部 CLI 工具,通过 subprocess 调用 |
File composition
7 files · 1385 lines
Python 4 files · 947 linesMarkdown 3 files · 438 lines
Files of concern · 3
scripts/run_pipeline.py subprocess 调用未声明 · JavaScript 执行能力未声明
scripts/douyin_downloader.py https://api.siliconflow.cn/v1/audio/transcriptions
SKILL.md 依赖无版本锁定 · API_KEY="your-siliconflow-api-key" · https://www.douyin.com/ · https://cloud.siliconflow.cn/ · https://www.iesdouyin.com/share/video/
Other files · transcript_cleanup.py · title_match_check.py · publish-copy.md · filter-rules.md
Security positives
核心功能与文档描述一致,无恶意阴影功能
所有外部网络请求均指向合法平台(douyin.com、siliconflow.cn)
API_KEY 仅用于调用 ASR 服务,无外传行为
无 base64 编码执行、eval 动态执行等高危操作
无凭证收割、敏感文件访问等恶意行为
代码结构清晰,功能单一明确