T08 · Insecure Dependencies
- Location
SKILL.md:26- Finding
Unpinned Third-Party Packages Are Downloaded and Executed Automatically
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill is coherent for searching and casting video streams, but it repeatedly tells users to auto-download and run unpinned third-party packages with local-network access.
Install only if you trust the current and future publishers of both `mcporter` and `mcp-vods`, or run pinned, reviewed versions in a sandbox. Be aware that searches and playback actions may reveal viewing interests, media URLs, and local TV addresses to source sites, tooling, or devices on your network.
SKILL.md:26Unpinned Third-Party Packages Are Downloaded and Executed Automatically
The skill instructs use of npx -y mcporter without pinning a specific version, so each execution may fetch and run whatever package version is currently published. This creates a supply-chain risk where a compromised upstream package, malicious update, or typo-squatted dependency could lead to arbitrary code execution in the user's environment.
The skill describes searching multiple source sites and pushing media URLs to TV devices but does not clearly warn users that their search terms, selected URLs, and device addresses may be transmitted to third-party services and local-network endpoints. This omission undermines informed consent and can expose viewing interests, media links, and internal device information.
The server component uvx mcp-vods is also unpinned, so the skill may download and run whatever version is currently available. This creates the same supply-chain and arbitrary code execution risk as unpinned npx, now affecting the MCP server process itself.
The server component uvx mcp-vods is also unpinned, so the skill may download and run whatever version is currently available. This creates the same supply-chain and arbitrary code execution risk as unpinned npx, now affecting the MCP server process itself.
The documented uvx mcp-vods command lacks version pinning and may execute a newly published or compromised release without review. Because this component brokers searches and playback actions, compromise could affect both privacy and local-device interactions.
The documented uvx mcp-vods command lacks version pinning and may execute a newly published or compromised release without review. Because this component brokers searches and playback actions, compromise could affect both privacy and local-device interactions.
The TV playback example runs uvx mcp-vods without pinning, enabling unreviewed code execution in a context that can reach local-network devices. That combination makes compromise more dangerous than a simple read-only content search tool.
The TV playback example runs uvx mcp-vods without pinning, enabling unreviewed code execution in a context that can reach local-network devices. That combination makes compromise more dangerous than a simple read-only content search tool.
This line repeats the unpinned uvx mcp-vods pattern for Android TV playback. If the package is malicious or compromised, it may misuse local IP configuration and send arbitrary requests to connected devices or exfiltrate data.
This line repeats the unpinned uvx mcp-vods pattern for Android TV playback. If the package is malicious or compromised, it may misuse local IP configuration and send arbitrary requests to connected devices or exfiltrate data.
Even the tool-listing example uses unpinned uvx mcp-vods, which still requires fetching and executing code. Users may treat listing operations as safe reconnaissance, but they remain subject to the same supply-chain risks.
Even the tool-listing example uses unpinned uvx mcp-vods, which still requires fetching and executing code. Users may treat listing operations as safe reconnaissance, but they remain subject to the same supply-chain risks.
The recommendation to prefer npx -y mcporter generally institutionalizes an unsafe execution pattern across the skill. Even though this is prose rather than a single command, it encourages repeated use of an unpinned package with supply-chain execution risk.
All user-facing natural-language content in the skill description is written in Chinese, with no indication that users may interact in other languages or that the skill is intentionally restricted to a Chinese-speaking context. Under the stated policy, forcing a specific language without user opt-in is a locale-policy concern.
No suspicious patterns detected.