Back to skill

Security audit

AI视频超清修复 | 画质提升 | 超分辨率 | 视频增强 | 青虎AI

Security checks for vulnerabilities and agentic risk

Overview

This skill does what it claims, but it asks the agent to install and update mutable third-party command-line software and to follow an upgrade command supplied by tool output.

Review this skill before installing. Use it only if you are comfortable uploading selected videos to Qinghu/QHKit and using a qhkit API token. Avoid running upgrade commands copied from tool output; use a fixed, reviewed install command instead. Prefer a pinned package version in an isolated environment, and avoid entering secrets in ways that may be saved in shell history or logs.

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
SKILL.md:58
Finding
Execution of an Untrusted Upgrade Command Supplied Through CLI Output## Vulnerability Details **File Location**: `SKILL.md:58` **Vulnerability Type**: Remote command retrieval and execution **Risk Level**: High **Relevant instruction translated from the source**: ```text If the command returns {"ok":false,"stage":"version",...}, the message contains the upgrade command; execute it as instructed. ``` ### Technical Analysis The Skill instructs the Agent to execute an upgrade command obtained dynamically from the `message` field returned by `qhkit`. The command is not constrained to a fixed allowlist, parsed as structured version data, or verified before execution. This creates an indirect remote command-execution channel. If the CLI package, its backend service, the service response path, or a related dependency is compromised, the returned message could contain an arbitrary shell command. Following the Skill's instruction would then execute attacker-controlled content with the privileges of the Agent process. The risky behavior is distinct from the checksum pipeline at lines 48–49. That pipeline does not pipe `curl` output into a shell; it pipes a checksum record into `sha256sum -c`. The vulnerability here is the instruction to execute command text obtained from a mutable external response. ### Attack Path 1. The Agent invokes `qhkit` for a video-processing operation. 2. A compromised CLI, backend service, dependency, or response path returns a result with `stage` set to `version`. 3. The attacker places a malicious shell command in the returned `message` field. 4. The Skill directs the Agent to execute the command without validation. 5. The command runs under the local account hosting the Agent. 6. The attacker can access or modify resources available to that account and may install additional payloads. ### Impact Assessment Successful exploitation provides arbitrary command execution with the privileges of the Agent user. Potential impact includes reading accessible files and env ...[truncated 443 chars]
Remediation
## Remediation Suggestions - Never execute commands copied from CLI output, standard error, API responses, model output, or service-provided messages. - Treat the `message` field as display-only text. - Replace the instruction with a fixed, reviewed upgrade workflow. - Parse only a strictly validated semantic version from structured data and construct the command locally. - Pin upgrades to an explicitly approved version rather than accepting arbitrary command text or `latest`. - Require explicit user approval before installing or upgrading executable software. - Run package management and media-processing commands under an unprivileged, isolated account. - Reject shell metacharacters and unexpected fields if any remote version metadata must be consumed.

T08 · Insecure Dependencies

Error
Location
SKILL.md:40
Finding
Execution of Unpinned Third-Party npm Packages## Vulnerability Details **File Location**: `SKILL.md:40-43, 58-63` **Vulnerability Type**: Insecure dependency installation and execution **Risk Level**: High **Vulnerable code snippets**: ```bash npm i -g @iqinghu/qhkit ``` ```bash npx @iqinghu/qhkit ``` ```bash npm i -g @iqinghu/qhkit@latest ``` The instructions also permit using this alternate registry: ```bash --registry=https://registry.npmmirror.com ``` ### Technical Analysis The Skill installs and executes a mutable third-party npm package without pinning an audited version or package integrity digest. The `@latest` tag can resolve to different code over time, while the unversioned `npm install` and `npx` forms similarly depend on current registry metadata. npm installation can execute package lifecycle scripts, and `npx` can download and immediately execute package content. Consequently, compromise of the package publisher, a newly malicious release, registry metadata, or a configured mirror can cause code that was not present during this audit to run locally. Global installation unnecessarily broadens the modification scope by changing shared user or system tooling. The mirror fallback introduces an additional supply-chain trust boundary. These installation privileges exceed the minimum necessary for submitting and polling a remote video-enhancement task. ### Attack Path 1. The Agent determines that `qhkit` is missing or should be upgraded. 2. The Skill directs it to perform an unversioned global installation, invoke the package through `npx`, or install the `latest` release. 3. A compromised publisher account, package release, registry response, or mirror supplies malicious package content. 4. npm downloads the mutable package. 5. Package lifecycle logic or the invoked CLI executes under the Agent user's account. 6. Malicious code accesses the Agent's files, environment, credentials, and network permissions or modifies shared tooling ...[truncated 579 chars]
Remediation
## Remediation Suggestions - Pin `@iqinghu/qhkit` to a specifically reviewed version. - Verify package integrity using an approved lockfile, npm integrity value, or independently pinned artifact digest. - Remove `@latest` and unversioned `npx` execution from automated instructions. - Avoid global installation; install into a dedicated, isolated project or disposable environment. - Disable lifecycle scripts where compatible, then explicitly run only reviewed entry points. - Require explicit user approval before installing or upgrading executable dependencies. - Prefer the official registry and treat registry mirrors as separate supply-chain dependencies requiring verification. - Execute the package in a sandbox with restricted filesystem, credential, and network access. - Keep API tokens outside child-process environments unless they are required for the specific operation.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (4)

Vague Triggers

Medium
Confidence
91% confidence
Finding
The skill metadata says the skill 'must' trigger for a wide range of common video-quality requests, which can cause the agent to invoke an external tool too aggressively without first checking user intent, consent, cost, or privacy implications. In this context, invocation may lead to local file upload and paid third-party processing, so overbroad triggering increases the risk of unintended data exposure and surprise charges.

Vague Triggers

Low
Confidence
82% confidence
Finding
The trigger examples are broad and do not clearly distinguish between casual discussion of improving video quality and an actual request to run the external upscaling service. That ambiguity can cause unnecessary or premature tool use, especially because this skill can upload local media and incur usage costs.

Missing User Warnings

Medium
Confidence
95% confidence
Finding
The skill notes that local file paths are accepted and that the CLI will automatically upload them, but it does not present this as a prominent user-facing warning before use. Because videos often contain sensitive or proprietary content, silent or poorly disclosed upload behavior to a third-party service creates a meaningful privacy and confidentiality risk.

Missing User Warnings

Low
Confidence
80% confidence
Finding
The token setup instructions tell the operator to pass the API token directly on the command line or via environment variable, but they do not warn about secret-handling risks such as shell history, process inspection, accidental logging, or transcript exposure. In an agent setting, this can lead to credential leakage if the token is echoed, stored in logs, or shared back to the user inadvertently.

Static analysis

No suspicious patterns detected.