Low Risk — Risk Score 15/100
Last scan:8 hr ago Rescan
15 /100
youtube-transcript
Fetch and summarize transcripts from any YouTube video using yt-dlp
合法的 YouTube 字幕获取工具,代码行为与文档声明完全一致,无恶意行为,依赖管理有轻微不规范。
Skill Nameyoutube-transcript
Duration47.6s
Enginepi
Safe to install
可直接使用,建议规范依赖管理(清理未使用依赖,统一 license)。

Findings 2 items

Severity Finding Location
Low
未使用依赖 Supply Chain
package.json 声明 xml2js 依赖但代码中未使用;package-lock.json 包含 @distube/ytdl-core、youtubei.js 等未声明依赖
"dependencies": { "xml2js": "^0.6.2" }
→ 清理未使用依赖,保持 package.json 和 package-lock.json 一致
package.json, package-lock.json:13
Low
License 字段不一致 Supply Chain
package.json 声明 MIT license,package-lock.json 根包显示 ISC
"license": "MIT" vs "license": "ISC"
→ 统一 license 字段值
package.json:21, package-lock.json:5
ResourceDeclaredInferredStatusEvidence
Network READ READ ✓ Aligned transcript.js:72 调用 yt-dlp 访问 youtube.com 获取字幕,符合 SKILL.md 声明
Shell READ READ ✓ Aligned transcript.js:18 execSync('which yt-dlp'), transcript.js:73 spawnSync 调用 yt-dlp,…
Filesystem READ READ ✓ Aligned transcript.js:79-80 仅操作 os.tmpdir() 临时目录,读取后立即删除
3 findings
🔗
Medium External URL 外部 URL
https://www.youtube.com/watch?v=LAdJsmTe8LM
SKILL.md:37
🔗
Medium External URL 外部 URL
https://www.youtube.com/watch?v=$
transcript.js:76
🔗
Medium External URL 外部 URL
https://www.youtube.com/watch?v=abc123
transcript.js:118

File Tree

4 files · 13.1 KB · 436 lines
JSON 2f · 260L JavaScript 1f · 138L Markdown 1f · 38L
├─ 📋 package-lock.json JSON 238L · 8.0 KB
├─ 📋 package.json JSON 22L · 520 B
├─ 📝 SKILL.md Markdown 38L · 960 B
└─ 📜 transcript.js JavaScript 138L · 3.7 KB

Dependencies 4 items

PackageVersionSourceKnown VulnsNotes
xml2js ^0.6.2 npm No package.json 中声明但代码未使用
@distube/ytdl-core ^4.16.12 npm No 未在 package.json 中声明
youtubei.js ^16.0.1 npm No 未在 package.json 中声明
youtube-transcript ^1.3.0 npm No npm 同名包,与本项目无关,未在 package.json 中声明

Security Positives

✓ 代码行为与 SKILL.md 文档完全一致,无阴影功能
✓ 使用 spawnSync 正确传递参数,避免 shell 注入风险
✓ 正确清理临时文件,防止残留
✓ 无凭证访问、无数据外泄、无混淆代码
✓ HTML 标签和 VTT 格式处理规范,有去重逻辑