Back to skill

Security audit

Byted Mediakit Image

Security checks for vulnerabilities and agentic risk

Overview

This skill is a straightforward MediaKit image-processing wrapper with cloud processing and CLI setup risks that are disclosed enough to treat as expected for its purpose.

Before installing, confirm you trust the MediaKit CLI package source, consider pinning the npm package version, and avoid submitting sensitive or regulated images unless cloud processing and any local upload to MediaKit are acceptable for your environment.

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

T08 · Insecure Dependencies

Warning
Location
reference/shared.md:9
Finding

Unpinned Global npm Dependency Installation

Content
View full analysis

Vulnerability Details

File Location: reference/shared.md, lines 9–15
Vulnerability Type: T08: Insecure Dependencies
Risk Level: Medium

bash
# 安装
npm install -g @volcengine/mediakit-cli

# 验证
mediakit-cli --version

Technical Analysis

The installation instructions retrieve the latest available version of @volcengine/mediakit-cli and install it globally without an exact version pin, lockfile, or integrity verification. Consequently, the code installed and executed can change after the Skill has been reviewed.

npm packages may execute lifecycle scripts during installation. If the package, a transitive dependency, or the associated publisher account is compromised, following these instructions could execute attacker-controlled code with the privileges of the user running npm. Global installation also makes the resulting executable available broadly within the user's environment and increases the impact of an affected release.

The repository does not contain evidence that the named package is currently malicious. This finding concerns the unsafe dependency acquisition process and its exposure to a future supply-chain compromise.

Attack Path

  1. An attacker compromises the npm publisher account, upstream package repository, or a transitive dependency.
  2. The attacker publishes a malicious release under the existing package name or causes a malicious dependency version to be selected.
  3. A user follows the documented command npm install -g @volcengine/mediakit-cli.
  4. npm resolves and downloads the attacker-controlled release because no exact version or verified integrity value is specified.
  5. Malicious npm lifecycle code executes during installation, or the installed mediakit-cli executable runs attacker logic when invoked.
  6. The attacker gains code execution under the installing or invoking user's account.

Impact Assessment

Successful exploitation could provide arbitrary ...[truncated 605 chars]

Remediation
View remediation

Remediation Suggestions

  1. Pin the CLI to an exact, reviewed version, for example:
    bash
    npm install -g @volcengine/mediakit-cli@<reviewed-version>
    
  2. Document the expected package digest or npm integrity value and verify package provenance before installation.
  3. Prefer a project-local dependency managed by a committed lockfile over global installation where operationally feasible.
  4. Use npm provenance and signature verification mechanisms supported by the deployment environment.
  5. Disable lifecycle scripts with --ignore-scripts if the reviewed package does not require them; otherwise, explicitly review all lifecycle scripts before installation.
  6. Run installation and the resulting CLI as an unprivileged user in a restricted environment.
  7. Establish a controlled upgrade process in which new versions are reviewed and tested before the pinned version is changed.
  8. Monitor the direct package and its transitive dependencies for publisher changes, known vulnerabilities, and unexpected release activity.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (12)

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The skill advertises image-processing capabilities via a shell-permitted external CLI (mediakit-cli) but does not clearly warn that user-supplied image URLs or image content may be transmitted to an external tool or backend service for processing. This can cause users to unknowingly send sensitive images, embedded text, or metadata off-box, creating privacy, confidentiality, and compliance risks.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The documentation states the capability is cloud-only and requires an image URL, but it does not clearly warn users that provided images will be transmitted to and processed by a remote service. This can lead to unintended disclosure of sensitive or private images, especially when users assume local-only processing or do not understand that third-party hosting/service access is required.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The documentation instructs users to provide a publicly accessible image URL to a cloud-only image erasure service, but it does not warn that images will be sent to a remote third-party system and may contain sensitive or personal data. In a skill with shell permission and image-processing scope, this omission can lead users to unknowingly expose confidential images, internal screenshots, or regulated data through public hosting and cloud processing.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The documentation states the capability is "cloud only" and requires a public image URL, but it does not clearly warn users that the provided image will be transmitted to a remote third-party service for processing. This can cause unintentional disclosure of sensitive images or metadata, especially if operators assume processing is local or do not understand the privacy implications of using publicly accessible URLs.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill explicitly states the OCR capability is cloud-only, but it does not warn users that both the image URL and the image content will be transmitted to a remote service. This creates a real privacy and data-handling risk, especially if users provide sensitive documents, screenshots, or internal links under the assumption processing is local.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill explicitly states it is "cloud only" and requires a public image URL, but it does not warn users that submitted image URLs and associated image content are sent to a remote service for processing. This can lead to unintended disclosure of sensitive images, metadata, or internal resource links if users assume processing is local or privacy-preserving.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
64% confidence
Finding

The entire skill documentation is presented only in Chinese, with no indication that the user can choose another language or that the locale restriction is intentional and justified. This may conflict with the language/locale policy when a skill effectively forces a specific language without user opt-in.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
88% confidence
Finding

All natural-language instructions and descriptions in the file are Chinese, with no indication that users may choose another language or that the skill is intentionally restricted to a Chinese-speaking context. This can violate language/locale policy when a skill imposes a single language without opt-in or justification.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
85% confidence
Finding

The file is written entirely in Chinese and states support for Simplified Chinese and English recognition, but it does not offer any user-facing language or locale choice for interaction or output. This can be a natural-language policy concern when a skill effectively forces a specific language presentation without opt-in or justification.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
88% confidence
Finding

All user-facing instructions in this file are presented in Chinese, and the document does not indicate that the skill is region-specific or provide any language opt-in/alternative. Under the policy, forcing a specific language without user choice 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
78% confidence
Finding

文件中的自然语言说明全部为中文,未见任何可选语言、用户偏好协商或区域限定说明。按规则,这可能构成未经用户选择即强制特定语言/locale 的组织政策问题。

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
86% confidence
Finding

该 markdown 文件明确说明通过环境变量或 ~/.mediakit/config.json 提供 MEDIAKIT_API_KEY,并指出云端调用会自动携带 x-surface / x-runtime。但相邻说明中没有任何显式的用户告知,提醒这些值会被发送到远端 API,属于涉及凭据和环境元数据传输的行为说明缺少用户警示。

Content

No source excerpt is available for this finding.