Back to skill

Security audit

AI爆款视频复刻 | 爆款模仿 | 热门视频复刻 | 视频二创 | LinkPix

Security checks for vulnerabilities and agentic risk

Overview

The skill has a clear video-cloning purpose, but it should be reviewed carefully because it can install or upgrade unpinned tools, handle an API token, and follow upgrade commands from a remote response.

Install only if you trust the qhkit publisher and are comfortable sending video links, product images, prompts, and generated-task data to the LinkPix/qhkit service. Prefer explicit confirmation before installing or upgrading packages, avoid executing upgrade commands copied from remote error messages, and use a scoped token or environment variable rather than persisting broad credentials in local config.

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:61
Finding
Remote Service Response Can Direct Local Command Execution## Vulnerability Details **File Location**: `SKILL.md`, lines 61–64 **Vulnerability Type**: Remote-controlled command execution **Risk Level**: High **Relevant Code Snippet**: ```text command returns {"ok":false,"stage":"version",...} (version gate, message contains the upgrade command, execute it directly) ... npm i -g @iqinghu/qhkit@latest ``` ### Technical Analysis The Skill instructs the Agent to execute an upgrade command supplied in the `message` field of a remote CLI or service response. The response text is not constrained to a fixed command, parsed against an allowlist, or otherwise validated before execution. This creates a remote command-execution channel: the effective command can change after the Skill has been reviewed. Although the documented upgrade command installs `@iqinghu/qhkit`, the instruction to execute the response-provided command directly does not technically restrict the response to that package or even to an npm command. ### Attack Path 1. An attacker compromises the remote service, its response-generation path, the installed CLI, or another trusted component involved in returning the version response. 2. The attacker causes the CLI to return `stage:"version"` and places an arbitrary shell command in the response's `message` field. 3. The Agent follows the Skill instruction to execute that command directly. 4. The attacker-controlled command runs locally with the privileges and environment access of the Agent process. 5. The command may subsequently download payloads, access local data, alter user-owned files, or establish additional execution mechanisms. ### Impact Assessment Successful exploitation permits arbitrary command execution under the operating-system account running the Agent. The attacker could access any files, credentials, environment variables, and network resources available to that account. The instructions do not require administrative elevation, so direct root co ...[truncated 197 chars]
Remediation
## Remediation Suggestions - Never execute commands taken from a remote response's free-form `message` field. - Treat remote messages only as displayable diagnostic data. - Implement upgrades through a locally defined, fixed command that permits only the expected package and registry. - Pin the package to an explicitly reviewed version instead of using `@latest`. - Validate the requested target version against a strict version format and an approved-version allowlist. - Require explicit user approval before installing or upgrading executable software. - Run installation and upgrade operations in a restricted environment without access to unrelated credentials or sensitive files. - Where possible, verify package integrity and provenance before execution.

T08 · Insecure Dependencies

Warning
Location
SKILL.md:43
Finding
Unpinned Third-Party CLI Installation and Execution## Vulnerability Details **File Location**: `SKILL.md`, lines 43–64 **Vulnerability Type**: Unsafe and mutable third-party dependency installation **Risk Level**: Medium **Relevant Code Snippet**: ```bash npm i -g @iqinghu/qhkit ``` ```bash npx @iqinghu/qhkit <command> ... ``` ```bash npm i -g @iqinghu/qhkit@latest ``` The Skill metadata also declares the dependency without an exact version: ```yaml package: "@iqinghu/qhkit" ``` ### Technical Analysis The Skill installs or directly executes a mutable version of the third-party `@iqinghu/qhkit` npm package. No exact version, lockfile, package integrity value, or verified artifact digest is specified. The `@latest` upgrade instruction explicitly permits the executed code to change after the Skill audit. Both global npm installation and `npx` can retrieve executable package content from a registry. Depending on npm configuration and package contents, installation may also run package lifecycle scripts. The documented fallback to a mirror introduces an additional source that must be trusted to serve authentic package metadata and artifacts. The dependency is functionally necessary for the declared cloud video workflow, but automatically installing an unpinned executable globally exceeds the minimum safe installation scope. A project-local or isolated, version-pinned installation would reduce both persistence and supply-chain exposure. ### Attack Path 1. An attacker compromises the package publisher account, npm package release process, registry path, configured mirror, or a transitive dependency. 2. A malicious package version is published under the expected package name or served through the selected registry. 3. The Agent runs an unpinned `npm install`, `npx`, or `@latest` upgrade command. 4. npm downloads the attacker-controlled version. 5. Malicious lifecycle code or CLI code executes with the Agent user's privileges. 6. The package can acc ...[truncated 745 chars]
Remediation
## Remediation Suggestions - Pin `@iqinghu/qhkit` to an exact, reviewed version in both metadata and installation commands. - Use a lockfile and verify the package's integrity digest and provenance before installation. - Prefer a project-local or isolated installation over a global installation. - Avoid `npx` with an unpinned package name and remove automatic `@latest` upgrades. - Require explicit user approval before downloading or executing a new package version. - Use the official npm registry by default and only use mirrors with independently verified integrity metadata. - Disable npm lifecycle scripts where compatible with the package, or inspect and approve required scripts before execution. - Run the CLI with only the filesystem, credential, and network access required for the requested video operation. - Maintain an approved-version list and perform security review before changing the pinned version.
Vulnerability Patterns
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (3)

Context-Inappropriate Capability

Medium
Confidence
95% confidence
Finding
The skill directs the agent to modify the host environment by installing Node.js and globally installing or upgrading qhkit. That expands the agent's capabilities beyond the immediate task, creates persistence on the system, and introduces supply-chain and execution risk from externally fetched software. In this context, the broad 'install whatever is missing' behavior is more dangerous because it normalizes arbitrary environment changes for a marketing/video task that should be isolated or user-mediated.

Context-Inappropriate Capability

Medium
Confidence
93% confidence
Finding
The skill instructs the agent to obtain, set, and use an external API token for qhkit, giving it credential-handling behavior not strictly limited to local content transformation. Handling user secrets inside a skill increases the risk of accidental disclosure, misuse, persistence in shell history/config files, or transmission to third-party services without strong consent boundaries. The risk is elevated here because the skill also tells the agent how to configure the token into the environment/tooling, making the credential operational for subsequent commands.

Vague Triggers

Medium
Confidence
87% confidence
Finding
The trigger conditions are very broad, causing the skill to activate on common requests involving imitation, benchmarking, or 'same style' video creation. Overbroad triggering can route unrelated user inputs into a workflow that installs tools, handles credentials, and sends data to an external service, increasing the chance of unintended execution and data exposure. In this skill's context, that broad routing is more dangerous because the downstream actions are high-impact and not merely informational.

Static analysis

No suspicious patterns detected.