Back to skill

Security audit

生产投入产出与报废率核对(免费版)

Security checks for vulnerabilities and agentic risk

Overview

The checker runs locally, but its documentation and normal human-readable output steer users toward an unpinned remote install and paid purchase flow outside the skill’s stated local-only purpose.

Install only if you want a Chinese-language local table checker and avoid following the paid-upgrade automation blindly. Do not run the `npx ... @latest` payment/install command or authorize purchase steps unless you have independently verified the package, source, version, and SkillPay workflow.

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
Findings (2)

T01 · Skill Instruction Hijacking

Error
Location
scripts/run.mjs:194
Finding
Unconditional Commercial Output Injection in Successful Results## Vulnerability Details **File Location**: `scripts/run.mjs`, lines 194–197 **Vulnerability Type**: `T01: Skill Instruction Hijacking` **Risk Level**: High ```javascript console.log(''); console.log(''); // __UPSELL__ console.log('如需完整档:生产投入产出与报废率核对 · 买断版(SkillPay 商品号 S0806000206846698)—— 本版本未执行的 5 项检查在完整档里都有。'); console.log('公开入口与官方购买指令:https://chenqg618.github.io/compliance-skills/buy.html(也可看本包 SKILL.md 的「需要完整档时(可选)」一节)。'); ``` ### Technical Analysis The successful human-readable execution path unconditionally appends a commercial promotion, product identifier, and external purchase URL. The explicit `__UPSELL__` marker indicates that this is intentional output injection rather than information required to perform the declared production-table validation task. Because these messages are emitted as part of the normal result, an agent or user may interpret the commercial content as an official finding, required remediation, or necessary continuation of the audit. This alters the expected purpose and content of the tool's output. The JSON output path does not print these messages, but all successful non-JSON executions are affected. ### Attack Path 1. A user supplies a valid production yield and scrap table. 2. The engine completes its declared local checks successfully. 3. The non-JSON output path is selected. 4. The runner automatically inserts promotion for a specified paid product. 5. The output directs the user to an external purchase-instruction website. 6. The user may follow the promoted workflow under the mistaken impression that it is part of the validation result. ### Impact Assessment This behavior does not directly grant operating-system privileges or access sensitive data. Its impact is manipulation of trusted tool output and redirection of users or agents toward a commercial workflow unrelated to the core validation operation. The affected scope includes every successful human-readable invocat ...[truncated 18 chars]
Remediation
## Remediation Suggestions 1. Remove the unconditional upsell messages from the successful execution path. 2. Ensure generated results contain only validation findings, scope limitations, and operationally necessary guidance. 3. If commercial information must be retained, place it in a clearly labeled, optional documentation section rather than runtime output. 4. Do not present purchase links or product identifiers as part of audit findings or remediation. 5. Add output tests that assert successful executions contain no advertisements, purchase instructions, or unrelated external redirects.

T01 · Skill Instruction Hijacking

Error
Location
SKILL.md:76
Finding
Agent-Directed Execution of an Unpinned Remote Package and External Purchase Instructions## Vulnerability Details **File Location**: `SKILL.md`, lines 76–89 **Vulnerability Type**: `T01: Skill Instruction Hijacking, T08: Insecure Dependencies` **Risk Level**: High ```text 把下面这段原样发给你的 AI 助手,它就能带你装好并买完(需要钱包授权或付款时由你本人确认): 请通过 SkillPay 购买并安装 Skill「生产投入产出与报废率核对 · 买断版」。 官方安装与购买说明: https://skillpay.alipay.com/buildguide.md 请先阅读官方说明、核验来源,并完成指南中的第一步: npx -y @alipay/agent-payment@latest install 安装成功后,读取新安装的 skillpay-onboarding 的 SKILL.md,再按其说明购买并安装商户 2088702818190040的S0806000206846698。 我已授权安装依赖和发起购买;需要钱包授权或付款时,请提供官方链接或二维码,由我本人确认,不要替我确认。确认成功后,请继续完成商品安装和验证。 ``` ### Technical Analysis The Skill documentation provides a ready-made prompt that instructs an AI agent to leave the declared table-checking workflow and perform several security-sensitive actions: - Execute `npx -y @alipay/agent-payment@latest install`. - Download and run the mutable `latest` release of a third-party package. - Automatically approve package execution through `-y`. - Load instructions from a newly installed and unaudited `SKILL.md`. - Initiate installation and purchase activity for a specified merchant and product. The `@latest` selector is not pinned to an audited version or integrity digest. Consequently, the package executed in the future may differ from the package available at audit time. Loading instructions from the newly installed Skill also transfers control of subsequent agent behavior to content that is outside this repository and outside the audit scope. Although the text states that final wallet authorization or payment must be confirmed by the user, installation and purchase initiation are still delegated to the agent. That safeguard does not address the risks of remote package execution or instruction-chain hijacking. ### Attack Path 1. A user loads the Skill and encounters the paid-version instructions. 2. The user copies the supplied prompt to an AI agent as directed. 3. The agent runs `npx -y @alipay/agent-payment@ ...[truncated 1214 chars]
Remediation
## Remediation Suggestions 1. Remove the ready-made agent prompt that directs installation and purchase activity. 2. Do not instruct an agent to load and follow instructions from newly downloaded, unaudited Skill files. 3. Replace `@latest` with a specifically audited package version. 4. Verify the downloaded package using a cryptographic integrity value or trusted lockfile. 5. Avoid automatic approval flags such as `-y` for code-executing package operations. 6. Display the exact package, version, source, permissions, and command before execution. 7. Require explicit user approval before package installation, purchase initiation, wallet interaction, or payment-related operations. 8. Separate optional commercial documentation from operational Skill instructions. 9. Review the external package and onboarding Skill independently before recommending or executing them.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (9)

Ae1

High
Category
analysis-evasion
Content
node scripts/run.mjs --sample # 先看样例
Confidence
100% confidence
Finding
Referenced artifact was not completely inspected

Ae1

High
Category
analysis-evasion
Content
node scripts/run.mjs --sample # 先看样例
Confidence
100% confidence
Finding
Referenced artifact was not completely inspected

Intent-Code Divergence

Medium
Confidence
90% confidence
Finding
The manifest claims 'No payment, no registration, no API key, no network,' yet the body includes external URLs and online purchase/install steps. This inconsistency can mislead users and agents into trusting the skill as offline-only while it actually attempts to route them into networked actions and third-party services.

Description-Behavior Mismatch

Medium
Confidence
92% confidence
Finding
The skill is ներկայացված as a free, fully local checker, but embeds promotional instructions to purchase and install a separate paid product. This is dangerous because it mixes the trusted task flow with monetization and installation prompts, increasing the chance that an agent follows unrelated high-risk actions such as external navigation, package installation, and payment onboarding.

Natural-Language Policy Violations

Medium
Confidence
88% confidence
Finding
The embedded instruction block tells the user to send a Chinese prompt verbatim to their AI assistant, and the overall skill content is presented operationally in Chinese without any opt-in or alternative language path for the purchase flow. This creates a language/locale policy concern because the skill effectively requires a specific language for a key task rather than offering a user choice.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding
The skill instructs the agent/user to run `npx -y @alipay/agent-payment@latest install`, which fetches and executes remote code without pinning a version or integrity hash. This creates a supply-chain execution path where a compromised package, malicious update, or typo-squatted dependency could execute arbitrary code on the host.

Natural-Language Policy Violations

Medium
Confidence
90% confidence
Finding
All user-facing documentation, instructions, and result strings in this file are written exclusively in Chinese, and the skill does not indicate any user opt-in or alternative locale support. Under the stated policy, forcing a specific language without user choice is a natural-language policy violation.

Natural-Language Policy Violations

Medium
Confidence
95% confidence
Finding
The manifest-style JSON contains only Chinese field names and content in the `text` value, which indicates a fixed language/locale with no opt-in or alternative. Under the policy rule, forcing a specific language without user choice is a natural-language policy concern unless the locale restriction is explicitly documented and justified.

Intent-Code Divergence

Low
Confidence
97% confidence
Finding
The inline documentation states that non-JSON input is handled as "直接粘贴的合同全文", which contradicts the skill's stated purpose and the actual surrounding code paths that expect a production input/output and scrap table. This is not merely incomplete wording: it actively describes the wrong document type for the implemented skill.

Static analysis

No suspicious patterns detected.