Back to skill

Security audit

Tóm tắt Video YouTube (Jaskies)

Security checks for vulnerabilities and agentic risk

Overview

This skill coherently fetches YouTube subtitles for summarization, with user-visible dependency and network use, but users should review the install commands and only provide trusted YouTube URLs.

Before installing, review the sudo apt and pip commands, consider installing yt-dlp in a virtual environment, and only run the transcript script with trusted YouTube links. The skill does not show hidden persistence or data theft behavior, but its URL validation and dependency pinning are weak.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
Findings (2)

T09 · Insecure Skill Coding Practices

Warning
Location
scripts/get_transcript.sh:4
Finding

Unrestricted URL Passed to a Network-Capable Downloader

Content
View full analysis
/dev/null 2>&1 ``` ### Technical Analysis The script only verifies that the URL argument is nonempty. It does not enforce the documented restriction to YouTube, validate the URL scheme or hostname, restrict ports, resolve and classify the destination address, or validate redirect destinations. The argument is correctly quoted, so this code does not expose direct shell command injection through ordinary metacharacters. However, quoting does not prevent network-level abuse. `yt-dlp` is network-capable and receives the attacker-controlled target directly, allowing it to initiate requests from the host running the skill. ### Attack Path 1. An attacker supplies a URL pointing to a non-YouTube destination, such as a loopback, link-local, private-network, or otherwise sensitive service. 2. The agent follows the documented workflow and invokes `get_transcript.sh` with that URL. 3. The script checks only whether the argument is empty and passes it to `yt-dlp`. 4. `yt-dlp` attempts to contact the supplied destination from the agent host. 5. Depending on network reachability and the target's response, the request may reveal service behavior or interact with resources unavailable to the attacker directly. Redirects and hostnames whose DNS results resolve to private addresses may provide additional paths around a hostname-only check. ### Impact Assessment Successful exploitation could cause network requests within the security contex ...[truncated 711 chars]
Remediation
View remediation

T08 · Insecure Dependencies

Note
Location
SKILL.md:23
Finding

Unpinned Installation of a Mutable Third-Party Dependency

Content
View full analysis
Remediation
View remediation
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Tool MisuseTool Parameter Abuse, Chaining Abuse, Unsafe Defaults
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
Findings (7)

Tp4

High
Category
MCP Tool Poisoning
Confidence
94% confidence
Finding

Có lệch mô tả-hành vi ở mức đáng kể. Phần mô tả nhấn mạnh chức năng chính là tóm tắt video YouTube và phân tích ý chính, còn mã thực tế chỉ làm một bước hỗ trợ: trích xuất transcript tự động bằng yt-dlp và xuất nguyên văn phụ đề. Việc yêu cầu yt-dlp phù hợp với hành vi; ffmpeg không được dùng trong đoạn mã này nhưng đó không phải là vấn đề chính. Mismatch nằm ở chỗ mục đích chính được công bố là tóm tắt/phân tích, trong khi mã chỉ lấy transcript.

Content

No source excerpt is available for this finding.

Chaining Abuse

High
Category
Tool Misuse
Confidence
75% confidence
Finding

Tool calls are chained to bypass individual safety checks or escalate capabilities beyond what any single tool call would allow.

Content

Scanner excerpt · SKILL.md (reported line 23)May include surrounding context.

bash
# Cài đặt ffmpeg
sudo apt update && sudo apt install -y ffmpeg

# Cài đặt yt-dlp bản mới nhất qua pip3
python3 -m pip install -U yt-dlp

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

The skill instructs users to run installation commands, including privileged package installation, without any safety warning, version pinning, or trust guidance. In a skill context, this increases the chance that users execute impactful system changes blindly, which can expose the host to unwanted package changes or supply-chain risk.

Content

No source excerpt is available for this finding.

Sudo/Root Execution

Medium
Category
Privilege Escalation
Confidence
88% confidence
Finding

The markdown explicitly tells users to run sudo package-management commands. While installing ffmpeg is common, presenting root-level commands in an agent skill encourages privileged execution and can be dangerous if users do not independently verify what is being installed or if package sources are untrusted.

Content

Scanner excerpt · SKILL.md (reported line 23)May include surrounding context.

bash
# Cài đặt ffmpeg
sudo apt update && sudo apt install -y ffmpeg

# Cài đặt yt-dlp bản mới nhất qua pip3
python3 -m pip install -U yt-dlp

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The instruction Luôn trình bày bản tóm tắt in the style of Thanh Tình imposes a fixed presentation style, and the overall skill text is written to always prioritize Vietnamese output unless English subtitles are needed. This creates a language/locale-style constraint without offering the user a choice or opt-in.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

User-facing strings and behavior are fixed to Vietnamese, and subtitle selection explicitly prioritizes "vi" over "en" with no opt-in or configuration. This can violate language/locale policy when a skill forces a specific language without giving the user a choice or documenting a justified regional constraint.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
86% confidence
Finding

This shell script performs an external network operation to fetch subtitles from a supplied URL, but the only indication is an internal comment in Vietnamese rather than a user-facing warning or prompt. For code files, network calls that transmit user-provided data should have some visible disclosure unless clearly surfaced to the user.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.