扫描报告
15 /100
douyin-video-download
抖音视频批量下载工具 - 支持单视频、批量下载、自动去重、无水印下载
合法的抖音视频下载工具,功能与文档基本一致,使用spawn防护命令注入,无恶意行为证据,存在依赖版本未锁定等供应链风险
可以安装
可用。生产环境部署时建议锁定依赖版本,确保npm install --save-exact。
安全发现 3 项
| 严重性 | 安全发现 | 位置 |
|---|---|---|
| 中危 | npm依赖无版本锁定 供应链 | package.json:24 |
| 低危 | 下载大型二进制依赖 供应链 | package.json:29 |
| 提示 | 读取环境变量 敏感访问 | scripts/download.js:9 |
| 资源类型 | 声明权限 | 推断权限 | 状态 | 证据 |
|---|---|---|---|---|
| 文件系统 | WRITE | WRITE | ✓ 一致 | scripts/download.js:94 fs.readFileSync读取链接列表; lib/downloader.js:68 fs.mkdirSync创… |
| 网络访问 | WRITE | WRITE | ✓ 一致 | lib/downloader.js:119 curl请求aweme.snssdk.com; lib/parser.js启动Playwright浏览器请求抖音 |
| 命令执行 | WRITE | WRITE | ✓ 一致 | lib/downloader.js:25 spawn('curl')和spawn('yt-dlp'),已使用参数数组防止注入 |
5 项发现
中危 外部 URL 外部 URL
https://v.douyin.com/xxxxx SKILL.md:46 中危 外部 URL 外部 URL
https://www.douyin.com/video/123456 SKILL.md:49 中危 外部 URL 外部 URL
https://v.douyin.com/yyyyy SKILL.md:61 中危 外部 URL 外部 URL
https://aweme.snssdk.com/aweme/v1/play/?video_id=$ lib/downloader.js:119 中危 外部 URL 外部 URL
https://dotenvx.com package-lock.json:209 目录结构
7 文件 · 40.9 KB · 1312 行 JSON 3f · 673L
JavaScript 3f · 554L
Markdown 1f · 85L
├─
▾
lib
│ ├─
downloader.js
JavaScript
│ └─
parser.js
JavaScript
├─
▾
scripts
│ └─
download.js
JavaScript
├─
_meta.json
JSON
├─
package-lock.json
JSON
├─
package.json
JSON
└─
SKILL.md
Markdown
依赖分析 4 项
| 包名 | 版本 | 来源 | 已知漏洞 | 备注 |
|---|---|---|---|---|
axios | ^1.6.0 | npm | 否 | 无版本锁定 |
cheerio | ^1.0.0-rc.12 | npm | 否 | 无版本锁定 |
dotenv | ^16.3.1 | npm | 否 | 无版本锁定 |
playwright-chromium | ^1.58.2 | npm | 否 | 无版本锁定,需下载Chromium |
安全亮点
✓ 使用spawn参数数组而非exec执行命令,有效防止命令注入
✓ videoId验证使用正则/^[a-z0-9A-Z_]+$/允许列表过滤
✓ 下载后检查文件头,防止抓取到HTML反爬页面
✓ SKILL.md明确说明隐私政策,声明不涉及用户登录信息
✓ 功能单一明确,文档与代码行为一致
✓ 支持--concurrent并发控制,体现工程考虑