Back to skill

Security audit

Parse Video - 视频去水印

Security checks for vulnerabilities and agentic risk

Overview

This video parser can download and run an unverified program from the internet, so it needs review before use.

Install only if you trust the Gitee publisher and are comfortable running closed-source native code from a mutable remote branch. Prefer a version with pinned releases, published hashes or signatures, explicit confirmation before download, and documented localhost-only service behavior.

Vulnerability Patterns
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • 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
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
Findings (2)

T03 · Remote Payload Retrieval and Execution

Error
Location
scripts/parse.sh:7
Finding

Automatic Retrieval and Execution of Unverified Remote Binaries

Content
View full analysis
/dev/null) || { rm -rf "$git_dir" } fi if [[ ! -d "$git_dir" ]]; then echo "⏬ 克隆仓库(仅最新版本)..." rm -rf "$git_dir" git clone --depth=1 --branch "${GITEE_BRANCH}" "${GITEE_REPO}" "$git_dir" 2>&1 fi if [[ -f "$git_dir/dist/$binary_name" ]]; then cp "$git_dir/dist/$binary_name" "$binary_path" chmod +x "$binary_path" echo "✅ 下载完成: $binary_path" else echo "错误: 仓库中找不到 $binary_name" exit 1 fi } download_binary "$BINARY_NAME" "$BINARY_PATH" "$BINARY_PATH" parse "$VIDEO_URL" ``` From `scripts/serve.sh`: ```bash GITEE_REPO="https://gitee.com/qiushuihanjing/parse-video-nomark.git" GITEE_BRANCH="master" BIN_DIR="${HOME}/.cache/parse-video" PORT="${1:-8080}" download_binary() { local binary_name="$1" local binary_path="$2" local git_dir="${BIN_DIR}/.git-repo" mkdir -p "$BIN_DIR" if [[ -f "$binary_path" && -x "$binary_path" ]]; then return 0 fi echo "📦 首次使用,正在下载 $binary_name(通过 Git 克隆,约 30MB)..." if [[ -d "$git_dir" ]]; then echo "📡 更新仓库..." (cd "$git_dir ...[truncated 3212 chars]
Remediation
View remediation

T08 · Insecure Dependencies

Error
Location
scripts/serve.sh:7
Finding

Mutable and Unversioned Upstream Supply-Chain Dependency

Content
View full analysis
/dev/null) || { rm -rf "$git_dir" } fi if [[ ! -d "$git_dir" ]]; then echo "⏬ 克隆仓库(仅最新版本)..." rm -rf "$git_dir" git clone --depth=1 --branch "${GITEE_BRANCH}" "${GITEE_REPO}" "$git_dir" 2>&1 fi ``` From `scripts/serve.sh`: ```bash GITEE_REPO="https://gitee.com/qiushuihanjing/parse-video-nomark.git" GITEE_BRANCH="master" BIN_DIR="${HOME}/.cache/parse-video" PORT="${1:-8080}" if [[ -d "$git_dir" ]]; then echo "📡 更新仓库..." (cd "$git_dir" && git fetch --depth=1 origin "${GITEE_BRANCH}" 2>/dev/null) || { rm -rf "$git_dir" } fi if [[ ! -d "$git_dir" ]]; then echo "⏬ 克隆仓库(仅最新版本)..." rm -rf "$git_dir" git clone --depth=1 --branch "${GITEE_BRANCH}" "${GITEE_REPO}" "$git_dir" 2>&1 fi ``` Relevant documentation from `README.md`: ```markdown - 🔒 **安全可靠**:不开源可执行文件,仅本地运行 ## 二进制下载 二进制文件托管在 Gitee Release dist/ 目录: - `parse-video-darwin-arm64` — macOS ARM64 - `parse-video-darwin-amd64` — macOS Intel - `parse-video-win64.exe` — Windows x64 ``` ### Technical Analysis The external native-code dependency is selected from the mutable `master` branch instead of an immutable commit, signed release tag, or fixed artifact version. Consequently, two installations of Skill version `1.0.0` can retrieve different executable content even though the local package has not changed. A shallow clone also provides limited history for provenance review, while the scripts never verify that the ...[truncated 1809 chars]
Remediation
View remediation
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
Findings (18)

Missing User Warnings

High
Category
Not specified by scanner
Confidence
96% confidence
Finding

The script performs a network clone and prepares an executable for local execution without prominently informing the user in advance. This lack of transparency increases the risk of users unknowingly running third-party code, and if the upstream content is malicious or replaced, the result is arbitrary code execution.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

High
Category
Not specified by scanner
Confidence
97% confidence
Finding

The script ultimately executes a binary fetched from a remote repository with the user-provided URL as input. Even if video parsing is the stated goal, this gives remote, updateable code execution capability that exceeds what a simple shell wrapper should assume without strong trust controls, making compromise of the upstream repository immediately dangerous.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

High
Category
Not specified by scanner
Confidence
98% confidence
Finding

This is a true remote code execution supply-chain risk: the script clones a remote repository, copies a binary out of dist/, marks it executable, and launches it. The skill's stated purpose is narrow video parsing/de-watermarking, but the bootstrap introduces broad code execution capability that can run any behavior embedded in the downloaded binary, making compromise of the upstream repo or release contents highly dangerous.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The README mentions automatic download behavior but does not prominently warn that first use results in downloading and then executing a platform-specific binary. This is a significant security-relevant action involving opaque code, and insufficient disclosure undermines informed consent and increases the risk of users unknowingly running unverified executables.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The claim that the tool is '仅本地运行' is misleading because the README also states it will automatically download a platform-specific binary on first use. That means code provenance depends on a remote source, and users may be induced to trust and execute opaque binaries under a false assumption of purely local behavior.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The activation language is broad enough to trigger on generic requests like 'download video' or 'parse link,' which can cause the skill to run unexpectedly. In this skill, accidental triggering is more dangerous because first use may download and run an external binary, so overbroad invocation expands the chance of silent code execution pathways.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The README documents a serve.sh HTTP service even though the skill is presented primarily as a video parsing/downloading skill. Exposing a local HTTP service increases attack surface, can enable unintended local network exposure, and materially changes the trust model users should evaluate before installation.

Content

No source excerpt is available for this finding.

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
93% confidence
Finding

The skill documents shell-based execution paths and binary installation behavior but declares no explicit tool scope or permission boundary. That creates an authorization gap where an agent may invoke shell capabilities unexpectedly, increasing the chance of unsafe execution or privilege overreach in environments that rely on metadata to constrain behavior.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The trigger list contains broad phrases such as '下载视频', '解析链接', and 'parse video' that can match common user requests outside a clearly intended context. Overbroad activation can cause the agent to select this skill unexpectedly, leading to unintended network access, shell execution, binary download, or content processing without informed user intent.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The skill states that it will automatically download a platform-specific binary from Gitee into the local cache on first use, but it does not present a strong upfront warning or integrity-verification details. Automatically fetching and storing executables creates supply-chain and arbitrary code execution risk, especially if the download source, transport, or artifact integrity is compromised.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The script silently retrieves code from an external Git repository, copies out a platform-specific executable, and runs it locally. That creates a software supply-chain risk: a repo compromise, malicious update, branch rewrite, or man-in-the-middle against the clone source could lead to arbitrary code execution on the user's machine under their account.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
84% confidence
Finding

The user-supplied video URL is passed to an externally downloaded binary whose internal behavior is not visible here, and that binary is expected to perform network operations to third-party platforms. This can leak user-provided links, tracking parameters, or private share tokens to external services without clear notice or consent.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The script fetches a platform-specific executable from a remote Git repository and then runs it locally, effectively delegating trust to mutable external content at runtime. Because there is no integrity verification, signature check, pinned commit, or reproducible build path, anyone who can alter the upstream repository or the network path can cause arbitrary code execution on the user's machine.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The script initiates network retrieval of executable code and prepares it for execution without an explicit warning, consent prompt, or security explanation to the user. While the main issue is still the unsafe remote binary execution, the lack of disclosure increases the chance that users unknowingly run untrusted code and cannot make an informed trust decision.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
88% confidence
Finding

The natural-language instructions and usage guidance are entirely in Chinese, which implicitly forces a specific language for users without indicating an opt-in or region-specific justification. This can violate language/locale policy when no user choice is provided.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
85% confidence
Finding

The documentation includes a service mode that starts an HTTP server and exposes a Web UI, but does not clearly warn about local listening behavior, interface binding, or access scope. A local server can unintentionally expose functionality or parsed media data to other local users or, if bound beyond localhost, to the network.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
93% confidence
Finding

All user-facing comments and console messages are written in Chinese, with no indication that another language can be selected. This can violate language or locale policy when a skill imposes a specific language without user opt-in or documented justification.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
91% confidence
Finding

User-facing comments and runtime messages are written in Chinese only, with no indication that another language is available. Under the stated policy, forcing a specific language without user opt-in is a natural-language policy violation unless the locale restriction is documented and justified.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.