Scan Report
10 /100
douyin-video-analyzer
抖音视频深度拆解分析器 - Analyzes Douyin videos by extracting frames and audio for AI-powered visual and speech analysis
This is a legitimate video analysis tool that downloads Douyin videos, extracts frames/audio using standard CLI tools, and sends them to Zhipu AI for visual/speech analysis. All declared capabilities align with actual functionality.
Safe to install
Skill is safe to use. Ensure ZHIPU_API_KEY is properly secured and not logged in CI environments.
Findings 1 items
| Severity | Finding | Location |
|---|---|---|
| Low | Pre-scan IOC: Hardcoded IP address Doc Mismatch | lib/scraper.js:11 |
| Resource | Declared | Inferred | Status | Evidence |
|---|---|---|---|---|
| Filesystem | WRITE | WRITE | ✓ Aligned | scripts/analyze.js:57 - fs.mkdirSync for temp dirs |
| Network | READ | READ | ✓ Aligned | lib/scraper.js, lib/ai-analyzer.js - HTTPS requests to Douyin + Zhipu AI |
| Shell | WRITE | WRITE | ✓ Aligned | lib/frame-extractor.js:88, lib/video-downloader.js:67 - exec ffmpeg/yt-dlp |
| Environment | READ | READ | ✓ Aligned | scripts/analyze.js:20 - reads ZHIPU_API_KEY |
| Skill Invoke | NONE | NONE | — | No inter-skill invocation found |
1 High 9 findings
High IP Address 硬编码 IP 地址
120.0.0.0 lib/scraper.js:11 Medium External URL 外部 URL
https://v.douyin.com/xxxxx PRD.md:72 Medium External URL 外部 URL
https://v.douyin.com/xxxxxx/ SKILL.md:44 Medium External URL 外部 URL
https://ffmpeg.org/download.html lib/frame-extractor.js:59 Medium External URL 外部 URL
https://v.douyin.com/6biejtHeP30/ lib/playwright-scraper.js:98 Medium External URL 外部 URL
https://www.douyin.com/ lib/scraper.js:38 Medium External URL 外部 URL
https://www.douyin.com/video/$ lib/scraper.js:151 Medium External URL 外部 URL
https://open.bigmodel.cn/api/paas/v4/chat/completions openspec/changes/phase2-video-analysis/design/architecture.md:117 Medium External URL 外部 URL
https://dotenvx.com package-lock.json:209 File Tree
18 files · 78.6 KB · 2482 lines JavaScript 9f · 1319L
JSON 3f · 695L
Markdown 6f · 468L
├─
▾
lib
│ ├─
ai-analyzer.js
JavaScript
│ ├─
audio-processor.js
JavaScript
│ ├─
frame-extractor.js
JavaScript
│ ├─
playwright-scraper.js
JavaScript
│ ├─
scraper.js
JavaScript
│ ├─
url-resolver.js
JavaScript
│ ├─
utils.js
JavaScript
│ └─
video-downloader.js
JavaScript
├─
▾
openspec
│ └─
▾
changes
│ └─
▾
phase2-video-analysis
│ ├─
▾
design
│ │ └─
architecture.md
Markdown
│ ├─
▾
specs
│ │ └─
requirements.md
Markdown
│ ├─
▾
tasks
│ │ └─
implementation.md
Markdown
│ └─
proposal.md
Markdown
├─
▾
scripts
│ └─
analyze.js
JavaScript
├─
_meta.json
JSON
├─
package-lock.json
JSON
├─
package.json
JSON
├─
PRD.md
Markdown
└─
SKILL.md
Markdown
Dependencies 4 items
| Package | Version | Source | Known Vulns | Notes |
|---|---|---|---|---|
axios | ^1.6.0 | npm | No | Version range not pinned |
cheerio | ^1.0.0-rc.12 | npm | No | Pre-release version with caret range |
dotenv | ^16.3.1 | npm | No | Standard practice for env loading |
playwright-chromium | ^1.40.0 | npm | No | Major version pinned |
Security Positives
✓ All shell commands (ffmpeg, yt-dlp, ffprobe) are legitimate video processing tools clearly required for the stated purpose
✓ Network communication limited to declared endpoints: Douyin.com and open.bigmodel.cn (Zhipu AI)
✓ No credential harvesting beyond the expected ZHIPU_API_KEY usage for API authentication
✓ No base64-encoded payloads or obfuscated execution detected
✓ No unauthorized access to sensitive paths (~/.ssh, ~/.aws, .env)
✓ Temporary files are properly cleaned up after processing
✓ Documentation clearly states data transmission to external AI service
✓ API key only used for Zhipu AI authentication, not exfiltrated