Back to skill

Security audit

电商背景替换 | 换背景 | 一键替换背景 | 场景合成 | LinkPix

Security checks for vulnerabilities and agentic risk

Overview

The skill appears to perform the advertised image background replacement, but it asks the agent to install and auto-upgrade an unpinned global third-party CLI, so it should be reviewed before use.

Before installing, confirm you trust the @iqinghu/qhkit npm package and are comfortable with a global CLI install, image uploads to the LinkPix/qhkit service, API-token configuration, and possible credit charges. Prefer a pinned, local install or sandboxed account if available, and review any upgrade command before running it.

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
SKILL.md:43
Finding
Unpinned Third-Party CLI Is Installed and Executed## Vulnerability Details **File Location**: `SKILL.md`, lines 43–64 **Vulnerability Type**: Unpinned npm dependency installation and execution **Risk Level**: Medium **Relevant Code Snippet**: ```bash npm i -g @iqinghu/qhkit ``` ```bash npx @iqinghu/qhkit ``` ```bash npm i -g @iqinghu/qhkit@latest ``` ### Technical Analysis The Skill instructs the Agent to install and execute `@iqinghu/qhkit` without pinning it to an audited version or integrity value. It also recommends installing the package globally and automatically upgrading to the latest available release. npm packages can execute package lifecycle scripts during installation, while the installed CLI can perform arbitrary operations under the privileges of the Agent's operating-system account. Because no exact version, lockfile, or integrity hash is specified, the code executed when the Skill is used can differ from the code that existed when the Skill was reviewed. The `npx` fallback does not remove this risk because it can download and immediately execute the currently resolved package version. Use of the optional npm mirror further expands reliance on external package-distribution infrastructure, although the documented mirror is not itself evidence of malicious behavior. Global installation is broader than necessary for the declared image-processing functionality. A project-local, version-pinned installation would reduce filesystem scope and make the effective dependency version reproducible. ### Attack Path 1. An attacker compromises the npm publisher account, package registry path, distribution mirror, or a transitive dependency used by `@iqinghu/qhkit`. 2. The attacker publishes a malicious release under the same package name or causes the unpinned request to resolve to a compromised dependency. 3. The Agent follows the bootstrap or upgrade instructions and runs `npm i -g @iqinghu/qhkit`, `npx @iqinghu/qhkit`, or `npm i -g @iqinghu/qhkit@latest` ...[truncated 1164 chars]
Remediation
## Remediation Suggestions 1. Pin `@iqinghu/qhkit` to a specific, reviewed version rather than using an unversioned package or `@latest`. 2. Record and verify package integrity through a committed lockfile, npm integrity metadata, or an independently maintained checksum. 3. Prefer a project-local installation over `npm i -g` to limit filesystem scope and improve reproducibility. 4. Require explicit user approval before installing or upgrading executable dependencies. 5. Do not automatically execute upgrade commands supplied through CLI output. Validate any requested version against an approved version list first. 6. Where compatible, install with lifecycle scripts disabled and explicitly review any scripts required by the package before enabling them. 7. Run the CLI in a sandbox or restricted account with access only to the input images and output directory required for the task. 8. Provide the API token only to the generation process, avoid placing it in command history, and remove it from the environment after use. 9. Document the package version and registry used for each execution so installations can be audited and reproduced.
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • 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
Findings (2)

Vague Triggers

Medium
Confidence
93% confidence
Finding
The metadata description says the skill 'must' trigger for a broad set of image-editing requests, which can cause overbroad or unintended invocation outside the user's actual intent. In an agent setting, this may route unrelated image tasks into a tool that installs software, requests credentials, and performs external network operations, increasing the chance of unsafe or confusing behavior.

Natural-Language Policy Violations

Medium
Confidence
87% confidence
Finding
The skill instructs the agent to relay CLI error messages and operational guidance in Chinese without offering language adaptation, which can override the user's language preference. This is primarily a safety/usability issue: users may misunderstand installation, authentication, quota, or failure messages, leading to mistaken consent or incorrect operational steps.

Static analysis

No suspicious patterns detected.