Back to skill

Security audit

电商服装多姿势套图 | 模特姿势生成 | 多角度展示 | 服装套图 | 青虎AI

Security checks for vulnerabilities and agentic risk

Overview

The skill’s image-generation purpose is coherent, but it asks agents to automatically install and upgrade mutable external software and handle API tokens, which users should review before enabling.

Install only if you are comfortable with an external Qinghu/qhkit service receiving the model images you provide and consuming account credits. Prefer a preinstalled, pinned qhkit version managed by the platform or an administrator, and provide the API token through a proper secret mechanism rather than pasting it into commands or chat.

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 Package Installation and Execution<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md`, lines 43–67 **Vulnerability Type**: Supply-chain exposure through unpinned npm installation, immediate `npx` execution, and automatic latest-version upgrades **Risk Level**: Medium ### Complete Code Snippet ```bash npm i -g @iqinghu/qhkit ``` ```text Default to the official npm registry. If the official registry is slow or times out, add: --registry=https://registry.npmmirror.com Only when global installation fails because of permissions and privilege elevation is unavailable, use: npx @iqinghu/qhkit <command> ... ``` ```bash npm i -g @iqinghu/qhkit@latest ``` ```text If the official registry is slow or times out, likewise add: --registry=https://registry.npmmirror.com ``` ### Technical Analysis The Skill instructs the Agent to install and execute `@iqinghu/qhkit` without pinning an exact reviewed version or verifying package integrity. It also explicitly directs upgrades to `@latest`, allowing the effective executable code to change after the Skill itself has been audited. The `npx` fallback may download and immediately execute the current package version. Global installation additionally gives the dependency broader availability than a project-local installation requires. Use of a registry mirror introduces another supply-chain trust boundary, even though the documented mirror is not itself evidence of malicious behavior. This is not evidence that the current package is malicious. The vulnerability is that package execution depends on mutable, externally controlled artifacts without version or integrity constraints. ### Attack Path 1. An attacker compromises the npm publisher account, package release process, registry infrastructure, or an accepted mirror. 2. The attacker publishes or serves a malicious release under the legitimate `@iqinghu/qhkit` package name. 3. The Agent follows the Skill instructions and runs an unpinned global installation, an immediate `npx` invocation, or an ...[truncated 911 chars]
Remediation
<![CDATA[ ## Remediation Suggestions 1. Pin `@iqinghu/qhkit` to an exact version that has been reviewed instead of using an implicit current version or `@latest`. 2. Remove automatic upgrade instructions. Require review and validation before changing the pinned version. 3. Prefer a project-local dependency with a committed lockfile over global installation. 4. Verify package integrity using a trusted lockfile integrity value or independently published digest. 5. Avoid immediate remote execution through `npx`; execute only a previously installed and verified local package. 6. Disable npm lifecycle scripts during installation where compatible, then explicitly run only required reviewed setup steps. 7. Treat registry mirrors as separate trust boundaries. Use them only when explicitly approved and apply the same version and integrity checks. 8. Run the CLI in a restricted environment with access limited to the specific input images, output directory, required token, and documented service endpoints. 9. Document the package's remote endpoints and data-handling behavior so users can make an informed decision before images and credentials are provided. ]]>
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 (4)

Context-Inappropriate Capability

Medium
Confidence
95% confidence
Finding
The skill instructs the agent to install and upgrade external software (`qhkit`, and potentially Node.js) at runtime, including downloading binaries and changing PATH. This expands the execution scope far beyond image generation, creating supply-chain and environment-modification risk if an agent follows the instructions automatically on a host system.

Context-Inappropriate Capability

Medium
Confidence
97% confidence
Finding
The skill directs acquisition and configuration of API credentials, including prompting the user to obtain a token and set it via CLI or environment variable. In an agent setting, this can normalize secret handling inside task flows and lead to credential exposure, persistence in shell history, logs, or unintended reuse across contexts.

Vague Triggers

Medium
Confidence
89% confidence
Finding
The metadata says the skill 'must trigger' for broad classes of common product-image requests, which can cause the agent to invoke this external-image-generation workflow when the user intent is ambiguous. Over-broad mandatory triggering increases the chance of unnecessary tool use, external data transfer, costs, and action without sufficiently specific consent.

Vague Triggers

Medium
Confidence
82% confidence
Finding
The 'when to trigger' section gives example scenarios but does not clearly separate hard requirements from illustrative use cases, leaving room for the agent to over-invoke the skill. In context, that ambiguity matters because the skill can call an external CLI, upload local images, and incur credits.

Static analysis

No suspicious patterns detected.