Back to skill

Security audit

AI电商带货脚本 | 脚本生成 | 口播文案 | 种草脚本 | LinkPix

Security checks for vulnerabilities and agentic risk

Overview

The skill’s script-generation purpose is clear, but it asks agents to bootstrap and upgrade an unpinned global CLI and handle an API token with too little user control.

Review this before installing. Only run the install or upgrade commands after approving them, prefer a pinned and local qhkit version where possible, avoid exposing the token to unrelated commands, and do not provide confidential product images or videos unless you are comfortable uploading them to the external service.

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

Error
Location
SKILL.md:38
Finding
Unpinned Third-Party CLI Installation and Automatic Upgrade## Vulnerability Details **File Location**: `SKILL.md:38-44` and `SKILL.md:64-68` **Vulnerability Type**: Unpinned third-party dependency installation **Risk Level**: High ### Vulnerable Code ```bash npm i -g @iqinghu/qhkit ``` ```bash npm i -g @iqinghu/qhkit@latest ``` The instructions also permit installation through an alternative registry: ```bash npm i -g @iqinghu/qhkit --registry=https://registry.npmmirror.com ``` ### Technical Analysis The Skill directs the Agent to install and execute the third-party `@iqinghu/qhkit` npm package without pinning an audited version or package integrity value. It also explicitly instructs the Agent to install `@latest` in several error or update scenarios. Consequently, the effective executable code can change after this Skill has been reviewed. An npm package installation may execute lifecycle scripts, while subsequent `qhkit` or `npx` invocations execute package-controlled code. Global installation increases exposure by placing the executable into the Agent user's shared command environment. The alternative registry is presented as a network fallback. Although this is not evidence that the mirror is malicious, using another supply-chain source increases the number of systems whose integrity must be trusted. No lockfile, integrity hash, package signature, reviewed artifact, or sandboxing requirement is specified. The Node checksum pipeline elsewhere in the file is not a `curl | bash` execution pattern: ```bash curl -fsSL https://nodejs.org/dist/v22.22.3/SHASUMS256.txt | grep ' node-v22.22.3-linux-x64.tar.xz$' | sha256sum -c - ``` It passes downloaded checksum data to `grep` and `sha256sum`, not to a shell interpreter, and the instructions require successful verification before extraction. Therefore, that pipeline is not classified as a confirmed remote shell payload vulnerability. ### Attack Path 1. An attacker compromises the npm package, its maintainer accou ...[truncated 1675 chars]
Remediation
## Remediation Suggestions 1. Pin `@iqinghu/qhkit` to a specific, reviewed version instead of using an unconstrained package or `@latest`. 2. Record and verify the expected npm package integrity digest before installation. 3. Remove automatic upgrade instructions. Require a separate review before changing the pinned version. 4. Prefer a project-local installation with a committed lockfile over global installation. 5. Avoid `npx` behavior that implicitly downloads an unresolved current package version. If `npx` is necessary, specify the exact audited version. 6. Run the CLI in a sandbox or container with restricted filesystem, credential, and network access. 7. Disable npm lifecycle scripts during installation where compatible: ```bash npm install --ignore-scripts --save-exact @iqinghu/qhkit@AUDITED_VERSION ``` If lifecycle scripts are required, review those scripts before allowing execution. 8. Use the official registry as the default trusted source. If a mirror is required, independently verify package integrity against a trusted digest rather than trusting artifact and verification metadata from the same source. 9. Provide the API token only to the individual CLI invocation that needs it, and prevent unrelated installation scripts from inheriting the token. 10. Inform users before local images or videos are uploaded to the external service, particularly when material may be confidential.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (1)

Missing User Warnings

Medium
Confidence
96% confidence
Finding
The skill instructs the agent to install software globally, modify PATH, download and unpack Node.js binaries, and configure an API token, all as part of normal execution, without any explicit user-consent or safety warning. These actions change the host environment and involve sensitive credential handling; if followed automatically, they could expose tokens, alter system state unexpectedly, or expand the attack surface through remote package installation.

Static analysis

No suspicious patterns detected.