Trust Assessment
bililidownloader received a trust score of 10/100, placing it in the Untrusted category. This skill has significant security findings that require attention before use in production.
SkillShield's automated analysis identified 12 findings: 5 critical, 5 high, 2 medium, and 0 low severity. Key findings include Arbitrary command execution, Dangerous call: subprocess.run(), Unpinned Python dependency version.
The analysis covered 4 layers: Manifest Analysis, Static Code Analysis, Dependency Graph, LLM Behavioral Safety. The Manifest Analysis layer scored lowest at 0/100, indicating areas for improvement.
Last analyzed on February 12, 2026 (commit 9c1b8e80). SkillShield performs automated 4-layer security analysis on AI skills and MCP servers.
Layer Breakdown
Behavioral Risk Signals
Security Findings12
| Severity | Finding | Layer | Location | |
|---|---|---|---|---|
| CRITICAL | Arbitrary command execution Python shell execution (os.system, subprocess) Review all shell execution calls. Ensure commands are static (not built from user input), use absolute paths, and are strictly necessary. Prefer library APIs over shell commands. | Manifest | skills/caiyundc880518/bililidownloader/scripts/download_bilibili.py:24 | |
| CRITICAL | Arbitrary command execution Python shell execution (os.system, subprocess) Review all shell execution calls. Ensure commands are static (not built from user input), use absolute paths, and are strictly necessary. Prefer library APIs over shell commands. | Manifest | skills/caiyundc880518/bililidownloader/scripts/download_bilibili.py:45 | |
| CRITICAL | Arbitrary command execution Python shell execution (os.system, subprocess) Review all shell execution calls. Ensure commands are static (not built from user input), use absolute paths, and are strictly necessary. Prefer library APIs over shell commands. | Manifest | skills/caiyundc880518/bililidownloader/scripts/download_bilibili.py:76 | |
| CRITICAL | Arbitrary command execution Python shell execution (os.system, subprocess) Review all shell execution calls. Ensure commands are static (not built from user input), use absolute paths, and are strictly necessary. Prefer library APIs over shell commands. | Manifest | skills/caiyundc880518/bililidownloader/scripts/download_bilibili.py:152 | |
| CRITICAL | Arbitrary command execution Python shell execution (os.system, subprocess) Review all shell execution calls. Ensure commands are static (not built from user input), use absolute paths, and are strictly necessary. Prefer library APIs over shell commands. | Manifest | skills/caiyundc880518/bililidownloader/scripts/download_bilibili.py:184 | |
| HIGH | Dangerous call: subprocess.run() Call to 'subprocess.run()' detected in function 'get_video_info'. This can execute arbitrary code. Avoid using dangerous functions like exec/eval/os.system. Use safer alternatives. | Static | skills/caiyundc880518/bililidownloader/scripts/download_bilibili.py:24 | |
| HIGH | Dangerous call: subprocess.run() Call to 'subprocess.run()' detected in function 'get_playlist_info'. This can execute arbitrary code. Avoid using dangerous functions like exec/eval/os.system. Use safer alternatives. | Static | skills/caiyundc880518/bililidownloader/scripts/download_bilibili.py:45 | |
| HIGH | Dangerous call: subprocess.run() Call to 'subprocess.run()' detected in function 'list_formats'. This can execute arbitrary code. Avoid using dangerous functions like exec/eval/os.system. Use safer alternatives. | Static | skills/caiyundc880518/bililidownloader/scripts/download_bilibili.py:76 | |
| HIGH | Dangerous call: subprocess.run() Call to 'subprocess.run()' detected in function 'download_video'. This can execute arbitrary code. Avoid using dangerous functions like exec/eval/os.system. Use safer alternatives. | Static | skills/caiyundc880518/bililidownloader/scripts/download_bilibili.py:152 | |
| HIGH | Dangerous call: subprocess.run() Call to 'subprocess.run()' detected in function 'download_playlist'. This can execute arbitrary code. Avoid using dangerous functions like exec/eval/os.system. Use safer alternatives. | Static | skills/caiyundc880518/bililidownloader/scripts/download_bilibili.py:184 | |
| MEDIUM | Unpinned Python dependency version Requirement 'yt-dlp>=2023.01.01' is not pinned to an exact version. Pin Python dependencies with '==<exact version>'. | Dependencies | skills/caiyundc880518/bililidownloader/requirements.txt:1 | |
| MEDIUM | Unpinned dependency in requirements.txt The `yt-dlp` dependency is specified with a minimum version (`>=2023.01.01`) rather than an exact version (`==2023.01.01`). This allows for automatic updates to newer versions, which could introduce breaking changes, vulnerabilities, or even malicious code if a future version is compromised. Pinning to an exact version ensures deterministic builds and reduces supply chain risk. Pin the `yt-dlp` dependency to an exact version (e.g., `yt-dlp==2023.01.01`) to ensure deterministic builds and prevent unexpected changes or vulnerabilities from future versions. | LLM | requirements.txt:1 |
Scan History
Embed Code
[](https://skillshield.io/report/04ee8e16ed9fd5a9)
Powered by SkillShield