Back to skill

Security audit

Tencent VOD

Security checks for vulnerabilities and agentic risk

Overview

The skill is mostly a Tencent VOD automation helper, but it needs Review because it can modify the local Python environment, persist long-lived tokens, store media-related metadata, and send prompts or media URLs to cloud AIGC services with uneven warning.

Install only if you are comfortable with a VOD skill that can call billable Tencent Cloud APIs, upload or fetch media, and use AIGC providers. Prefer running it in an isolated virtual environment with dependencies preinstalled, review dry-run output before execution, keep dotenv files out of source control, and avoid submitting secrets, private URLs, personal data, or regulated media unless approved.

Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Behavioral ASTexec() Call, eval() Call, Dynamic Import
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (59)

subprocess module call

Medium
Category
Dangerous Code Execution
Content
"""
    cmd = [sys.executable, "-m", "pip", "install", "--upgrade", "--quiet"] + specs
    print(f"⏳ 正在自动安装/升级缺失依赖:{', '.join(specs)}", file=sys.stderr)
    result = subprocess.run(cmd, capture_output=True, text=True)
    if result.returncode != 0:
        print(
            f"❌ 自动安装失败,请手动执行:\n"
Confidence
94% confidence
Finding
The subprocess call itself is not shell-injection prone because it uses an argument list rather than shell=True, but it is still security-relevant because it executes pip to change the host Python environment at runtime. In this skill’s context, that means merely importing or running VOD helper scripts can trigger network-backed code installation and package upgrades, which materially expands the skill’s capabilities beyond command generation and can execute untrusted package installation logic.

Tp4

High
Category
MCP Tool Poisoning
Confidence
88% confidence
Finding
The skill’s declared non-trigger scope conflicts with its documented behavior, including MPS-adjacent processing, broader task inspection, and upload flows involving COS-backed transfer. This mismatch is dangerous because routing and trust decisions may rely on the description, causing the agent to invoke a more powerful skill in contexts operators believed were excluded, potentially leading to unintended billable actions, broader data access, or execution on out-of-scope media operations.

Description-Behavior Mismatch

Medium
Confidence
95% confidence
Finding
The document materially expands the skill from a VOD-specific command generator into a general-purpose remote LLM client, including generic chat, reasoning, image/audio/video understanding, and unrelated weather tool-calling examples. In an agent environment, this scope creep can cause over-triggering and unintended transmission of arbitrary user content to external AI endpoints, violating least-privilege and increasing the chance of unsafe or policy-bypassing use outside the declared VOD context.

Context-Inappropriate Capability

Medium
Confidence
94% confidence
Finding
The script persists newly created AIGC tokens into local dotenv files automatically, expanding behavior from API token management into credential storage on disk. Long-lived tokens written to ~/.env or project .env files can be exposed through weak filesystem permissions, backups, shell history workflows, repo inclusion, or other local tooling, increasing the chance of credential leakage.

Description-Behavior Mismatch

Medium
Confidence
91% confidence
Finding
After token creation, the tool silently updates environment files, which is a side effect not clearly conveyed by the stated purpose of managing tokens. Hidden credential persistence is risky because users may invoke a management action expecting only remote API changes, not local storage of a non-expiring secret.

Description-Behavior Mismatch

Medium
Confidence
97% confidence
Finding
This helper performs environment modification by automatically installing or upgrading packages, which is outside the declared role of a VOD command-generation assistant. That mismatch is dangerous because users or hosting platforms may grant the skill broader trust than warranted, while the code can alter dependencies and pull software from package indexes during normal execution.

Context-Inappropriate Capability

High
Confidence
99% confidence
Finding
Invoking pip via subprocess gives the skill the ability to modify the host environment and download/install code from external repositories, a powerful capability not justified by the assistant’s stated purpose. In a shared agent runtime, this can lead to dependency tampering, unintended breakage, or execution of malicious code if package sources, mirrors, or network paths are compromised.

Context-Inappropriate Capability

Low
Confidence
84% confidence
Finding
The helper resolves an application name by enumerating all VOD sub-applications and, on failure or ambiguity, prints the full matching or available app list. That exposes broader account inventory metadata than is necessary for a simple media search and can leak names, descriptions, tags, and IDs to whoever can invoke the skill.

Missing User Warnings

Medium
Confidence
89% confidence
Finding
The documentation instructs users to send prompts, images, audio, and video URLs or Base64 media to remote AI APIs, but it does not clearly warn that these inputs leave the local environment and may contain sensitive or regulated data. In a skill that can process arbitrary user-supplied media and conversation content, the lack of an explicit privacy and data-transmission notice increases the risk of unintentional disclosure to third-party model providers.

Missing User Warnings

Medium
Confidence
92% confidence
Finding
The documentation repeatedly encourages use of `--file-url` and `--file-infos` with external image URLs, but does not clearly warn that those URLs will be fetched by Tencent Cloud and therefore disclose the referenced resource, metadata, and possibly access patterns to a third party. In a cloud media-processing skill, this is contextually more dangerous because users may supply private, signed, intranet-adjacent, or sensitive asset URLs under the assumption that they are only local parameters rather than outbound transfers.

Missing User Warnings

Medium
Confidence
92% confidence
Finding
The documentation encourages users to provide `--file-url`, `--file-infos`, prompts, and `--session-context` for AIGC video generation, but it does not clearly warn that these inputs may be transmitted to Tencent Cloud and potentially third-party model providers named in the document (for example GV/Google Veo, Kling, Hailuo, PixVerse). In this skill context, that omission is meaningful because users may include sensitive media URLs, personal data, or confidential business context, leading to unintentional external disclosure.

Missing User Warnings

Medium
Confidence
89% confidence
Finding
The skill exposes `--input-compliance-check` and `--output-compliance-check` as disable-able options without any warning about the risk of bypassing content-safety screening. In an AIGC video-generation skill, this makes the context more dangerous because users can more easily generate or submit disallowed, harmful, or policy-violating content while believing the examples are endorsed safe usage.

Missing User Warnings

Medium
Confidence
90% confidence
Finding
The document explicitly states that successful creations are automatically appended to a local `mem/elements.json` file, including metadata such as `request_id`, `sub_app_id`, `element_name`, `element_description`, media reference URLs, and optional `session_context`. Persisting this data by default without warning, consent, retention limits, or access-control guidance can expose sensitive business metadata, user-provided prompts/context, and private media URLs to other local users, backups, logs, or downstream tooling.

Missing User Warnings

Medium
Confidence
90% confidence
Finding
The documentation explicitly supports sending user-provided image URLs and arbitrary session-context text to Tencent Cloud VOD APIs, but it does not warn that these values may contain personal, sensitive, or internal data that will be transmitted to a third-party service. In a skill whose purpose is to generate actionable API commands, that omission can lead users or downstream agents to disclose confidential URLs, identifiers, prompts, or contextual data without informed consent or minimization.

Missing User Warnings

Low
Confidence
84% confidence
Finding
The documentation states that verbose output may display output URLs and review results, but it does not warn that such URLs can expose private object locations, signed links, internal asset structure, or moderation metadata. In an agent setting, verbose defaults or casual use can leak sensitive media references into chat logs, terminals, CI logs, or telemetry sinks.

Missing User Warnings

Medium
Confidence
92% confidence
Finding
The documentation explicitly describes importing media into a cloud knowledge base using a large-model understanding template that includes ASR, but it does not warn users that the media content and derived speech/text analysis will be sent to Tencent Cloud for remote processing. This can lead to inadvertent transmission of sensitive audio, video, or personal data, especially because the skill is specifically designed to trigger on concrete VOD operations and may be used with production media assets.

Missing User Warnings

Medium
Confidence
91% confidence
Finding
The document instructs users to submit image content via FileId, external URL, or Base64 to Tencent Cloud VOD image-understanding APIs, but it does not clearly warn that user-provided images, prompts, and referenced URLs will be transmitted to remote cloud services and may contain sensitive personal or proprietary data. In a skill specifically designed to generate operational VOD commands, this omission materially increases the chance of inadvertent privacy or data-handling violations because users may paste sensitive image URLs or inline Base64 content without informed consent or minimization guidance.

Missing User Warnings

Medium
Confidence
80% confidence
Finding
The document instructs users to have the platform fetch arbitrary remote URLs and upload the retrieved content into cloud storage, but it does not warn about privacy, copyright, provenance, or untrusted-network risks. In this skill context, that omission is more meaningful because the skill is specifically designed to generate operational commands, which can normalize pulling third-party or sensitive URLs into VOD without prompting for authorization or data-handling checks.

Missing User Warnings

Medium
Confidence
87% confidence
Finding
The document instructs users to upload local images or submit external image URLs into a cloud AIGC workflow, but it provides no warning about privacy, consent, or handling of sensitive personal/commercial imagery. In this skill context, users may upload model photos, product assets, or third-party URLs, so omission of data-handling guidance increases the risk of unintentional exposure, retention, or processing of sensitive content.

Missing User Warnings

Medium
Confidence
92% confidence
Finding
The examples show `--output-storage-mode Permanent` for generated images without warning that outputs may be retained indefinitely or until explicit deletion. In an image-generation workflow involving personal likenesses, clothing changes, or product media, this can cause users to persist sensitive or regulated content unintentionally, increasing privacy and data-retention risk.

Missing User Warnings

Medium
Confidence
89% confidence
Finding
The documentation explicitly states that verbose output includes URLs, but it does not warn that these media URLs may expose private or time-limited playback/download links in terminals, logs, screenshots, or shared CI output. In a VOD administration skill, users are likely handling real media assets, so encouraging verbose output without a sensitivity warning increases the risk of inadvertent data disclosure.

Missing User Warnings

Medium
Confidence
95% confidence
Finding
The documentation explicitly encourages passing user request information via `--source-context` but provides no warning to avoid including secrets, personal data, tokens, or other unnecessary sensitive content. In a command-generation skill, users may copy raw prompts, IDs, or internal metadata into this field, causing avoidable disclosure to Tencent Cloud and downstream logs.

Missing User Warnings

Medium
Confidence
96% confidence
Finding
The pull-upload feature accepts arbitrary `--url` values but does not warn that Tencent Cloud will fetch the supplied URL from the server side. This can expose private or signed URLs to a third party, trigger unintended access to internal or temporary resources, and create SSRF-like risk against user-controlled infrastructure if operators misunderstand the trust boundary.

Missing User Warnings

Medium
Confidence
97% confidence
Finding
The `--session-context` and `--source-context` fields are described as pass-through containers for user request information, yet the document omits any data-minimization guidance. Because these fields may be stored, logged, or propagated across systems, users may inadvertently transmit chat history, identifiers, secrets, or other sensitive metadata beyond what is needed for the operation.

Missing User Warnings

Medium
Confidence
95% confidence
Finding
The code writes sensitive API tokens to ~/.env or other dotenv files without a clear pre-execution warning about persistence risks. Because the token does not expire, accidental local storage materially increases exposure duration and the blast radius of any local compromise or source-control mistake.

Static analysis

No suspicious patterns detected.