Scan Report
20 /100
youtube-to-feishu
Download YouTube video audio and upload to Feishu cloud storage
The skill performs legitimate YouTube audio download and Feishu upload functionality with no malicious behavior detected. Minor doc-to-code mismatch exists around capability declarations.
Safe to install
Consider explicitly declaring filesystem:WRITE (for temp directory usage) and documenting the subprocess calls to yt-dlp in SKILL.md for full transparency.
Findings 2 items
| Severity | Finding | Location |
|---|---|---|
| Low | Missing capability declarations | SKILL.md:1 |
| Low | URL passed to subprocess | youtube_upload.py:59 |
| Resource | Declared | Inferred | Status | Evidence |
|---|---|---|---|---|
| Filesystem | NONE | WRITE | ✗ Violation | youtube_upload.py:49 - os.makedirs(temp_dir, exist_ok=True) |
| Shell | NONE | WRITE | ✗ Violation | youtube_upload.py:59-72 - subprocess.run(["yt-dlp", ...]) |
| Network | READ | READ | ✓ Aligned | index.js:70 - url.includes("youtube.com") |
| Environment | NONE | READ | ✓ Aligned | index.js:37 - passes process.env to child process |
7 findings
Medium External URL 外部 URL
https://clawhub.ai PUBLISH_GUIDE.md:24 Medium External URL 外部 URL
https://clawhub.ai/import PUBLISH_GUIDE.md:71 Medium External URL 外部 URL
https://www.youtube.com/watch?v=VIDEO_ID PUBLISH_GUIDE.md:103 Medium External URL 外部 URL
https://clawhub.ai/skills/youtube-to-feishu PUBLISH_GUIDE.md:147 Medium External URL 外部 URL
https://www.youtube.com/watch?v=dyJUscv7b9g README.md:45 Medium External URL 外部 URL
https://youtu.be/VIDEO_ID README.md:51 Medium External URL 外部 URL
https://www.youtube.com/watch?v=... index.js:70 File Tree
7 files · 24.0 KB · 890 lines Markdown 3f · 468L
Python 2f · 342L
JavaScript 1f · 79L
Text 1f · 1L
├─
index.js
JavaScript
├─
PUBLISH_GUIDE.md
Markdown
├─
README.md
Markdown
├─
requirements.txt
Text
├─
SKILL.md
Markdown
├─
youtube_to_feishu_complete.py
Python
└─
youtube_upload.py
Python
Dependencies 1 items
| Package | Version | Source | Known Vulns | Notes |
|---|---|---|---|---|
yt-dlp | >=2024.0.0 | pip | No | Version pinned with minimum constraint |
Security Positives
✓ No credential harvesting - code does not access ~/.ssh, ~/.aws, or .env files
✓ No data exfiltration - no POST requests to external IPs with sensitive data
✓ No base64-encoded payloads or eval() calls
✓ No curl|bash remote script execution
✓ No hidden functionality in HTML comments or elsewhere
✓ yt-dlp version is pinned in requirements.txt (>=2024.0.0)
✓ URL validation exists in index.js before processing
✓ Clean temp file cleanup logic with age-based removal
✓ Documentation clearly describes the workflow and dependencies