T03 · Remote Payload Retrieval and Execution
- Location
README.md:49- Finding
Remote Installer Is Executed Directly Without Integrity Verification
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill appears purpose-aligned for YouTube transcript extraction and summaries, but its documented dependency installation uses unverified remote code and system-wide writes that deserve review before installation.
Review before installing. Prefer a package manager or pinned, checksum-verified yt-dlp and Deno versions, avoid curl-to-sh and broad sudo installs, run the skill with only the needed network and filesystem access, write outputs to a dedicated directory, and treat all video-derived transcript text as untrusted content.
README.md:49Remote Installer Is Executed Directly Without Integrity Verification
README.md:44Unpinned System-Wide yt-dlp Binary Is Installed Without Integrity Verification
SKILL.md:14Untrusted YouTube Subtitle Content Is Read by the Agent Without Prompt-Injection Isolation
The implemented code is narrowly focused on metadata retrieval and subtitle/transcript extraction from YouTube via yt-dlp. That aligns with only one part of the declared description: transcript/subtitle extraction in a transcript-first workflow. However, the declared purpose substantially overstates the skill's capabilities by claiming summarization, translation, timestamp/chapter generation, visual understanding, and QA over video content, none of which are present in this code chunk. There is no video download or frame analysis, no NLP summarization or translation logic, and no QA interface. Therefore the description does not accurately represent the actual behavior of this supplied code chunk.
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.
# yt-dlp
sudo curl -L https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -o /usr/local/bin/yt-dlp
sudo chmod +x /usr/local/bin/yt-dlp
# deno
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.
# yt-dlp
sudo curl -L https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -o /usr/local/bin/yt-dlp
sudo chmod +x /usr/local/bin/yt-dlp
# deno
The skill instructs use of shell commands, network access, and reading/writing local files, but it declares no explicit tool scope or permission boundaries. In an agent environment, that gap can let the skill run with broader-than-necessary capabilities, increasing the chance of unintended downloads, filesystem access, or command execution beyond the user’s expectations.
The skill hard-codes Chinese as the output language for the 'Quick Chinese summary' workflow without indicating that this should be conditioned on user preference or locale. This can cause the agent to ignore the user's requested language, leading to unintended disclosure or usability issues in multilingual contexts, though it is not a direct code-execution or data-exfiltration risk.
The translation guidance defaults parts of long-video output to Chinese ('中文摘要', '关键段落精译') without first checking the user's target language. In a translation skill, hard-coded language defaults can override user intent and produce incorrect or policy-misaligned outputs, especially for users expecting another language.
subprocess module calls execute external commands. Without careful input validation, this enables command injection.
def run(cmd):
proc = subprocess.run(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True)
return proc.returncode, proc.stdout, proc.stderr
The script creates output directories and writes transcript.txt and summary.json without an explicit upfront notice that it will modify the filesystem. In an agent skill, undisclosed file creation can surprise users, overwrite expected workspace contents, or expose sensitive transcript data if written to shared locations.
The script performs outbound network requests to YouTube via yt-dlp using user-supplied input, but does not provide any explicit user-facing notice that external requests and metadata transmission will occur. In an agent/skill context, this can create privacy and consent issues because invoking the skill causes network access to third-party services and may leak the requested URL, IP/proxy usage, and request metadata.
No suspicious patterns detected.