Back to skill

Security audit

Byted Las Audio Extract And Split

Security checks for vulnerabilities and agentic risk

Overview

The skill appears to perform the claimed audio cloud-processing task, but it automatically installs remote SDK code and handles cloud credentials in ways users should review before use.

Install only if you trust the publisher and Volcengine endpoint enough to let the skill install or upgrade SDK code during use. Prefer running it in an isolated workspace, pinning or pre-reviewing the SDK wheel, and using least-privilege, revocable LAS/TOS credentials. Do not store live keys in a project-local env.sh unless permissions and source-control exclusions are handled carefully.

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

Error
Location
scripts/env_init.sh:31
Finding

Unverified Remote SDK Retrieval and Automatic 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 ``` The corresponding workflow makes this initialization mandatory: ```bash source "$(dirname "$0")/scripts/env_init.sh" las_audio_extract_and_split workdir=$LAS_WORKDIR ``` ### Technical Analysis The initialization script retrieves a remote manifest and automatically installs a Python wheel from an external URL. The wheel is not authenticated using a pinned cryptographic hash or package signature, and the reviewed project does not contain a lock file or immutable dependency record against which the downloaded artifact can be verified. Although HTTPS protects the transport connection, it does not ensure that the remotely hosted artifact remains identical to the artifact present when the skill was audited. Anyone capable of compromising the hosting account, storage object, publication process, or relevant service credentials could replace the wheel while retaining the same URL. Installing a wheel introduces an executable dependency into the environment. Its modules and command-line entry points, including `lasutil`, subsequently run with the privileges of the user or agent invokin ...[truncated 2184 chars]
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Warning
Location
SKILL.md:25
Finding

Plaintext API Credential File Guidance Without Access-Control Safeguards

Content
View full analysis
Remediation
View remediation
.env.local ``` 4. Add the credential filename to `.gitignore` and relevant backup or packaging exclusions before the user creates it. 5. Verify ownership and permissions before reading the file, and reject files readable or writable by group or other users. 6. Store the file outside the project tree when practical. 7. Document immediate credential rotation if the file is committed, shared, or otherwise exposed. 8. Recommend short-lived, least-privilege credentials and separate credentials for LAS and TOS operations. 9. Remove the file securely when it is no longer needed and clear exported credentials from long-lived shell sessions. ]]>
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 (14)

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The declared purpose is simple media processing, but the instructions also introduce network access, package/SDK installation and upgrade, virtualenv setup, metadata lookup, and workspace initialization. This behavior expansion materially increases the attack surface and can enable supply-chain risk or unexpected remote interactions beyond what a user consents to when invoking an audio utility.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

High
Category
Not specified by scanner
Confidence
99% confidence
Finding

The script automatically executes pip install --upgrade against a wheel hosted at a remote URL during environment initialization. This is a classic supply-chain risk: anyone able to tamper with the hosted artifact, its hosting account, or the delivery path can cause arbitrary code to run in the user's environment under the permissions of the skill setup process.

Content

No source excerpt is available for this finding.

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
91% confidence
Finding

The skill invokes shell commands (source, ffprobe, lasutil, jq, helper scripts) but does not declare any tool scope or allowed-tools boundary. That leaves the runtime with unclear execution limits, making it easier for an agent to run broader shell actions than the user would expect from an audio-splitting skill.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
86% confidence
Finding

The manifest description says to use this skill when the user wants to 'cut or trim audio files' or 'segment podcasts/lectures into clips,' which are broad, everyday requests that may match many unrelated audio-editing intents. The description does not provide clear exclusions or negative examples to limit when this skill should be selected versus other audio tools.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The skill content and operational instructions are presented in Chinese, which effectively forces a specific language for use and review. The file does not offer a user language choice or explain that the skill is intentionally limited to a Chinese-speaking or region-specific audience.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The skill tells the agent to source local shell environment files and also suggests creating env.sh containing secrets. Sourcing arbitrary local shell content for secret acquisition exceeds the stated media-processing role and can execute unintended commands or expose sensitive environment data from the host.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

The skill requests additional cloud credentials (VOLCENGINE_ACCESS_KEY and VOLCENGINE_SECRET_KEY) for downloading results, even though its core purpose is audio extraction/splitting. Asking the agent to access extra secrets broadens credential exposure and creates an opportunity for misuse or accidental leakage if the skill or downstream commands are compromised.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The script's user-facing comments and echo messages are written exclusively in Chinese, including usage and error/output text. This imposes a specific language on all users without opt-in or justification, which fits the language/locale policy violation criteria.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The initialization script reaches out to a remote endpoint for a manifest and uses that result to drive local environment behavior, which exceeds the narrowly described audio extraction/splitting functionality. Even though this may be intended as SDK bootstrap logic, remote fetches in a skill init path expand the trust boundary and create supply-chain and integrity risks if the endpoint, network path, or returned data is compromised.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The script silently performs network retrieval and package installation with only normal progress messaging, giving the user no meaningful warning that code and metadata are being pulled from the internet. This reduces transparency and increases the chance that risky remote execution behavior is accepted unknowingly, especially in environments where the skill's stated purpose does not imply software installation.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

This shell script contains multiple user-visible strings in Chinese, including the usage context, errors, headings, and billing notice. Because the file provides no opt-in, fallback, or documentation that the skill is intentionally Chinese-only, it appears to enforce a specific language/locale in a way that may violate language-choice policy.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
84% confidence
Finding

This markdown file documents authentication via Authorization: Bearer $LAS_API_KEY, which involves use of sensitive credentials. Under the markdown-specific warning criterion, the document does not provide any caution about protecting the API key, avoiding accidental disclosure, or secure storage/usage.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
86% confidence
Finding

The file presents all user-facing content exclusively in Chinese, with no indication that the user can choose another language or that the skill is intentionally limited to a Chinese-speaking or region-specific audience. Under the policy, forcing a specific language without opt-in can be a natural-language policy violation.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
93% confidence
Finding

This shell script includes user-facing comments and output strings exclusively in Chinese, such as the usage error and format-check messages. Under the policy, forcing a specific language without user opt-in or documented justification is a natural-language policy violation.

Content

No source excerpt is available for this finding.