Back to skill

Security audit

Byted Las Video Edit

Security checks for vulnerabilities and agentic risk

Overview

The skill matches its advertised LAS video-clipping purpose, but its normal setup can install mutable remote SDK code and one helper executes a project .env file as shell, so it needs Review before installation.

Install only if you trust the publisher and the Volcengine-hosted SDK update path. Run it in an isolated workspace with narrowly scoped LAS/TOS credentials, review or disable automatic SDK installation, and do not let untrusted content write to the project-root .env file before using the background polling helper.

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

T03 · Remote Payload Retrieval and Execution

Warning
Location
scripts/env_init.sh:28
Finding

Unverified Remote SDK Retrieval and Execution

Content
View full analysis
/dev/null | grep -oE '[0-9]+\.[0-9]+\.[0-9]+' || echo "0.0.0") remote_ver=$(echo "$manifest" | jq -r '.sdk_version // "unknown"') if [ "$local_ver" = "0.0.0" ] || [ "$local_ver" != "$remote_ver" ]; then echo "📦 SDK 更新: $local_ver → $remote_ver,正在安装..." pip install --quiet --upgrade https://las-ai-cn-beijing-online.tos-cn-beijing.volces.com/operator_cards_serving/public/skills/sdk/las_sdk-0.2.0-py3-none-any.whl fi ``` ### Technical Analysis The mandatory environment-initialization procedure retrieves a remote manifest and automatically installs a Python wheel from an external URL. Neither the manifest nor the wheel is authenticated using a pinned cryptographic hash or trusted package signature. HTTPS provides transport security but does not protect against compromise of the hosting account, object-storage configuration, publication pipeline, or another trusted component. The effective package payload can therefore change after the skill has been reviewed without any corresponding modification to this repository. A malicious wheel can install executable modules, replace the `lasutil` entry point, or include Python startup behavior such as a malicious `.pth` file. The installed code may consequently run when Python or `lasutil` is subsequently invoked. The manifest also controls whether the installation branch executes, while the downloaded wheel URL is independently hard-coded. This creates an inconsistent update mechanism in which any reported remote version differing from ...[truncated 1546 chars]
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Warning
Location
scripts/poll_background.sh:18
Finding

Arbitrary Shell Execution Through Sourced Environment File

Content
View full analysis
Remediation
View remediation
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
Findings (15)

Tp4

High
Category
MCP Tool Poisoning
Confidence
97% confidence
Finding

The public description presents a video-editing skill, but the workflow also performs environment initialization, virtualenv activation, SDK update/install behavior, and remote network retrieval via env_init.sh. Hidden setup and package-management behavior expands the attack surface substantially, because executing update scripts or downloading dependencies can introduce supply-chain risk or unexpected code execution not obvious from the declared purpose.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The public description presents a video-editing skill, but the workflow also performs environment initialization, virtualenv activation, SDK update/install behavior, and remote network retrieval via env_init.sh. Hidden setup and package-management behavior expands the attack surface substantially, because executing update scripts or downloading dependencies can introduce supply-chain risk or unexpected code execution not obvious from the declared purpose.

Content

No source excerpt is available for this finding.

Credential Access

High
Category
Privilege Escalation
Confidence
91% confidence
Finding

Using shell source on a project-root .env file executes that file as shell code, not just as data. If an attacker can modify .env, they can achieve arbitrary command execution in the context of this script and gain access to exported credentials or the environment used by subsequent tooling.

Content

Scanner excerpt · scripts/poll_background.sh (reported line 19)May include surrounding context.

sh
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_ROOT="$(cd "${SCRIPT_DIR}/../../.." && pwd)"

if [ -f "${PROJECT_ROOT}/.env" ]; then
  source "${PROJECT_ROOT}/.env"
  export LAS_API_KEY LAS_REGION
fi

Credential Access

High
Category
Privilege Escalation
Confidence
91% confidence
Finding

The direct sourcing of .env means any shell syntax in that file is executed before exporting LAS_API_KEY and LAS_REGION. In a skill that may run in shared project directories or CI-like environments, a poisoned .env can turn routine polling into arbitrary code execution and secret exposure.

Content

Scanner excerpt · scripts/poll_background.sh (reported line 20)May include surrounding context.

sh
PROJECT_ROOT="$(cd "${SCRIPT_DIR}/../../.." && pwd)"

if [ -f "${PROJECT_ROOT}/.env" ]; then
  source "${PROJECT_ROOT}/.env"
  export LAS_API_KEY LAS_REGION
fi

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
97% confidence
Finding

The skill requires shell execution (source .../env_init.sh, lasutil, jq, file operations) but does not declare any permissions or allowed-tools. This creates a capability gap where reviewers and runtime policy may not clearly constrain what the skill can execute, increasing the risk of unintended command execution or over-privileged operation.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The skill title and operational description are entirely in Chinese, and the instructions later prescribe exact Chinese wording for required user-facing output. There is no indication that the user may choose another language or locale, which can violate language/locale policy requirements.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

This markdown file presents all user-facing information exclusively in Chinese, including pricing and usage instructions. Under the policy for natural-language violations, forcing a specific language without user opt-in can be a locale-policy issue when no alternative language option or justification is provided.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The script fetches a remote manifest and then conditionally installs SDK code from a network URL during environment initialization. This creates a supply-chain and remote code execution risk because anyone who can tamper with the manifest source, wheel host, transport path, or release process can cause arbitrary code to be installed and later executed in the user's environment.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

pip install --upgrade on a direct remote wheel URL executes externally sourced code without any explicit warning, consent, or integrity verification. In a shell init flow, this is especially dangerous because users may source the script expecting local setup, not code download and installation with the permissions of their current account.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
82% confidence
Finding

The manifest describes a video editing/search skill, but this helper script explicitly sources the repository .env file and exports LAS_API_KEY and LAS_REGION. While network use to call the LAS service is expected for this skill, directly reading credentials from local environment files is an additional capability not described in the skill's stated purpose.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The script sources a project .env file and exports LAS_API_KEY and LAS_REGION, which is access to sensitive credentials. Although the code comments mention loading the environment, there is no user-facing warning, confirmation, or disclosure that credentials will be read and used.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
94% confidence
Finding

The prompt and expected_output fields consistently force Chinese-language interaction across the evaluation set. The policy requires flagging language or locale constraints when the skill does not provide user opt-in or a justified region-specific limitation.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
96% confidence
Finding

This shell script presents its title, error messages, and warnings only in Chinese. The policy for this category flags language or locale constraints when the skill forces a specific language without user opt-in, and there is no indication here that the skill is intentionally region-specific or that users can choose another language.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
95% confidence
Finding

The script's comments and runtime messages are presented in Chinese only, including error and status output. This imposes a specific language on all users without offering a language selection or documenting a justified locale restriction.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
88% confidence
Finding

The file contains Chinese user-facing text, including the header description and error output, but does not provide an opt-in language choice or explain that the skill is intentionally locale-specific. This can violate language/locale policy when users are not given a choice.

Content

No source excerpt is available for this finding.