Trust Assessment
youtube-clipper 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 13 findings: 4 critical, 7 high, 1 medium, and 0 low severity. Key findings include Arbitrary command execution, File read + network send exfiltration, Dangerous tool allowed: Bash.
The analysis covered 4 layers: manifest_analysis, llm_behavioral_safety, dependency_graph, static_code_analysis. The manifest_analysis layer scored lowest at 0/100, indicating areas for improvement.
Last analyzed on February 14, 2026 (commit f31f077e). SkillShield performs automated 4-layer security analysis on AI skills and MCP servers.
Layer Breakdown
Behavioral Risk Signals
Security Findings13
| 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. | Unknown | /tmp/skillscan-clone-l2ara41v/repo/scripts/burn_subtitles.py:85 | |
| 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. | Unknown | /tmp/skillscan-clone-l2ara41v/repo/scripts/burn_subtitles.py:210 | |
| 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. | Unknown | /tmp/skillscan-clone-l2ara41v/repo/scripts/clip_video.py:101 | |
| CRITICAL | File read + network send exfiltration AI agent config/credential file access Remove access to sensitive files not required by the skill's stated purpose. SSH keys, cloud credentials, and browser data should never be read by skills unless explicitly part of their declared functionality. | Unknown | /tmp/skillscan-clone-l2ara41v/repo/SKILL.md:60 | |
| HIGH | Dangerous tool allowed: Bash The skill allows the 'Bash' tool without constraints. This grants arbitrary command execution. Remove unconstrained shell/exec tools from allowed-tools, or add specific command constraints. | Unknown | /tmp/skillscan-clone-l2ara41v/repo/SKILL.md:1 | |
| HIGH | Dangerous call: subprocess.run() Call to 'subprocess.run()' detected in function 'check_libass_support'. This can execute arbitrary code. Avoid using dangerous functions like exec/eval/os.system. Use safer alternatives. | Unknown | /tmp/skillscan-clone-l2ara41v/repo/scripts/burn_subtitles.py:85 | |
| HIGH | Dangerous call: subprocess.run() Call to 'subprocess.run()' detected in function 'burn_subtitles'. This can execute arbitrary code. Avoid using dangerous functions like exec/eval/os.system. Use safer alternatives. | Unknown | /tmp/skillscan-clone-l2ara41v/repo/scripts/burn_subtitles.py:210 | |
| HIGH | Dangerous call: subprocess.run() Call to 'subprocess.run()' detected in function 'clip_video'. This can execute arbitrary code. Avoid using dangerous functions like exec/eval/os.system. Use safer alternatives. | Unknown | /tmp/skillscan-clone-l2ara41v/repo/scripts/clip_video.py:101 | |
| HIGH | Sensitive path access: AI agent config Access to AI agent config path detected: '~/.claude/'. This may indicate credential theft. Verify that access to this sensitive path is justified and declared. | Unknown | /tmp/skillscan-clone-l2ara41v/repo/SKILL.md:60 | |
| HIGH | Command Injection via unsanitized arguments in Bash calls The skill instructs the LLM to execute `bash` commands with arguments derived from user input (e.g., YouTube URL) or LLM-generated content (e.g., chapter titles, output paths). For example, `python3 scripts/download_video.py <youtube_url>` and `open <output_path>`. While the `SKILL.md` includes instructions for filename sanitization, it does not explicitly instruct the LLM to shell-escape arguments when constructing `bash` commands. A malicious user could provide a YouTube URL containing shell metacharacters (e.g., `https://youtube.com/watch?v=foo; rm -rf /`) or influence the LLM's chapter title generation to include such characters, leading to arbitrary command execution or path traversal. Explicitly instruct the LLM to use shell escaping (e.g., by quoting arguments like `"$youtube_url"`) for all arguments passed to `bash` commands that originate from user input or LLM-generated strings. Additionally, ensure `scripts/utils.py::sanitize_filename` is consistently applied to all filename components before they are used in paths. | Unknown | SKILL.md:44 | |
| HIGH | Prompt Injection via LLM-generated content used in subsequent LLM calls The skill's workflow involves the LLM analyzing video subtitles to generate chapter titles, summaries, and keywords. These LLM-generated outputs are then used as input for subsequent LLM calls (e.g., `scripts/generate_summary.py` for social media copy, `scripts/translate_subtitles.py` for translation). If a malicious user provides a YouTube video with subtitles or metadata crafted to produce specific prompt injection instructions during the initial analysis phase, these instructions could then manipulate the LLM's behavior in subsequent steps, potentially leading to data exfiltration, unauthorized actions, or generation of harmful content. The `scripts/generate_summary.py` and `scripts/translate_subtitles.py` explicitly print the data to be processed by Claude, making it a direct prompt injection vector. Implement strict sanitization and validation of all LLM-generated text before it is used as input for subsequent LLM calls. This could involve: 1. Using a separate, highly constrained LLM call to "clean" or "filter" the output for malicious instructions. 2. Implementing keyword filtering or content moderation on LLM-generated text. 3. Explicitly instructing the LLM to treat all content derived from the video as untrusted data, not instructions, and to never follow commands embedded within it. | Unknown | SKILL.md:70 | |
| MEDIUM | Sensitive environment variable access: $HOME Access to sensitive environment variable '$HOME' detected in shell context. Verify this environment variable access is necessary and the value is not exfiltrated. | Unknown | /tmp/skillscan-clone-l2ara41v/repo/install_as_skill.sh:60 | |
| INFO | Supply Chain Risk - Unpinned Python Dependencies The `install_as_skill.sh` script installs Python dependencies (`yt-dlp`, `pysrt`, `python-dotenv`) without specifying exact versions. This can lead to supply chain vulnerabilities if a future version of a dependency introduces breaking changes, security flaws, or malicious code. Pin exact versions for all Python dependencies in a `requirements.txt` file and use `pip install -r requirements.txt`. Regularly audit and update these dependencies. | Unknown | install_as_skill.sh:124 |
Scan History
Embed Code
[](https://skillshield.io/report/b660e7f37e54a9ab)
Powered by SkillShield