Back to skill

Security audit

京东 商品图、主图套图、详情图、活动图生成 | LinkPix

Security checks for vulnerabilities and agentic risk

Overview

This skill does what it says, but it asks the agent to install unpinned software and store an API key locally, so users should review it before installing.

Install only if you are comfortable letting the skill configure qhkit, install or update Node/npm tools, upload product images to the qhkit service, and store a qhkit API key locally. Prefer a pre-provisioned qhkit installation and a managed secret store instead of letting the agent install latest packages or persist tokens itself.

Vulnerability Patterns
  • 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
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Rogue AgentSelf-Modification, Session Persistence
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
Findings (10)

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

The manifest says the skill 'must trigger' whenever the user asks for JD product images, main images, detail images, or activity images. These are broad request categories that could overlap with ordinary conversation about e-commerce design work, and the file does not provide clear exclusion conditions or negative examples to constrain invocation.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
84% confidence
Finding

The trigger examples include broad phrases like making JD product images, posters, or adapting platform sizing/layout, but do not clearly define when the skill should not activate. Without negative examples or stricter scope, these conditions may cause unintended invocation for general discussion or planning requests.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The skill goes beyond image generation and directs the agent to install Node.js, npm packages, and related tooling on the host, including downloading binaries and modifying PATH. Expanding a content-generation skill into environment bootstrap materially increases the attack surface and gives untrusted skill content a pathway to trigger software installation and code execution.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
92% confidence
Finding

The skill instructs the agent to execute npx @iqinghu/qhkit without pinning a specific version, allowing whatever version is current on the registry to be fetched and run at execution time. That creates a supply-chain risk: a compromised publisher account, malicious update, or dependency hijack could lead to arbitrary code execution on the host.

Content

No source excerpt is available for this finding.

Session Persistence

Medium
Category
Rogue Agent
Confidence
88% confidence
Finding

This duplicate finding identifies the same persistent installation behavior: extracting a Node runtime into a user-controlled directory and altering PATH for subsequent use. In the context of a product-image skill, that persistence is broader than necessary and makes the skill materially more dangerous because it can establish reusable host tooling outside the immediate task.

Content

Scanner excerpt · SKILL.md (reported line 64)May include surrounding context.

Linux 二进制安装(装到用户目录,无需 root;先校验官方 SHA256 再解包):

cd /tmp && curl -fsSLO https://nodejs.org/dist/v22.22.3/node-v22.22.3-linux-x64.tar.xz cd /tmp && curl -fsSL https://nodejs.org/dist/v22.22.3/SHASUMS256.txt | grep ' node-v22.22.3-linux-x64.tar.xz$' | sha256sum -c - mkdir -p "$HOME/.local/lib" && tar -xJf /tmp/node-v22.22.3-linux-x64.tar.xz -C "$HOME/.local/lib" export PATH="$HOME/.local/lib/node-v22.22.3-linux-x64/bin:$PATH"

text

Session Persistence

Medium
Category
Rogue Agent
Confidence
88% confidence
Finding

This duplicate finding identifies the same persistent installation behavior: extracting a Node runtime into a user-controlled directory and altering PATH for subsequent use. In the context of a product-image skill, that persistence is broader than necessary and makes the skill materially more dangerous because it can establish reusable host tooling outside the immediate task.

Content

Scanner excerpt · SKILL.md (reported line 64)May include surrounding context.

Linux 二进制安装(装到用户目录,无需 root;先校验官方 SHA256 再解包):

cd /tmp && curl -fsSLO https://nodejs.org/dist/v22.22.3/node-v22.22.3-linux-x64.tar.xz cd /tmp && curl -fsSL https://nodejs.org/dist/v22.22.3/SHASUMS256.txt | grep ' node-v22.22.3-linux-x64.tar.xz$' | sha256sum -c - mkdir -p "$HOME/.local/lib" && tar -xJf /tmp/node-v22.22.3-linux-x64.tar.xz -C "$HOME/.local/lib" export PATH="$HOME/.local/lib/node-v22.22.3-linux-x64/bin:$PATH"

text

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The skill instructs the agent to collect an API key from the user and persist it via qhkit config set --token <密钥> or environment variables. Persisting secrets locally broadens the skill from image generation into credential handling and creates risk of secret leakage, reuse by other processes, or retention beyond the user's intended session.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
91% confidence
Finding

The skill tells the agent to run npx --yes sharp-cli without a pinned version during image processing fallback. This fetches and executes the latest published package on demand, exposing the environment to supply-chain compromise and unreviewed code execution outside the skill's primary purpose.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
78% confidence
Finding

The instruction says to relay installation/configuration failures to the user and gives examples explicitly as Chinese user-facing messages, while the rest of the skill is also written to assume Chinese-language interaction. There is no indication that users can choose another language or locale, which may violate language-choice expectations.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Low
Category
Not specified by scanner
Confidence
84% confidence
Finding

The skill instructs the agent to locally transform user-supplied images using Python/Pillow or Node/sharp. While functionally related to image generation, this still expands the skill into host-side file processing with additional tooling, parsers, and executable dependencies that can introduce file handling and supply-chain risk.

Content

No source excerpt is available for this finding.