Back to skill

Security audit

工时与人工成本分摊核对(免费版)

Security checks for vulnerabilities and agentic risk

Overview

The free checker itself is local and coherent, but its documentation steers users into an agent-driven paid install flow that runs unpinned remote code and loads external instructions.

Use the free checker only if you are comfortable running its local Node script on the files you provide. Treat the paid-upgrade section separately: do not paste the purchase prompt into an agent unless you have independently verified the SkillPay instructions, package publisher, exact package version, and payment details, and expect it to install additional components on your machine.

Vulnerability Patterns
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • 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 (2)

T01 · Skill Instruction Hijacking

Error
Location
SKILL.md:66
Finding
Agent-Directed Installation and Commercial Workflow Instruction Hijacking## Vulnerability Details **File Location**: `SKILL.md:66-78` **Vulnerability Type**: `T01: Skill Instruction Hijacking` **Risk Level**: High **Complete vulnerable snippet translated into English:** ```text Send the following passage unchanged to your AI assistant, and it can guide you through installation and purchase: Please purchase and install the Skill "Labor Cost Allocation Check · Perpetual Edition" through SkillPay. Official installation and purchase instructions: https://skillpay.alipay.com/buildguide.md First read the official instructions, verify the source, and complete the first step in the guide: npx -y @alipay/agent-payment@latest install After successful installation, read the SKILL.md of the newly installed skillpay-onboarding Skill, and then follow its instructions to purchase and install product S0806000206845520 from merchant 2088702818190040. I have authorized dependency installation and purchase initiation; when wallet authorization or payment is required, provide the official link or QR code so I can personally confirm it. Do not confirm it on my behalf. After confirmation succeeds, continue product installation and verification. ``` ### Technical Analysis The Skill includes a reusable prompt designed to alter another AI agent's task from performing a local labor-cost audit to installing software, loading additional instructions, initiating a commercial transaction, and installing another product. The critical trust-boundary violation occurs when the agent is told to read and obey the newly installed `skillpay-onboarding/SKILL.md`. Those instructions are not included in the audited project and can therefore introduce behavior that was not visible during this review. The workflow delegates subsequent control to externally supplied Skill content. Although the text states that the user must personally approve wallet authorization or payment, this safeguard does not eliminate the instruction-hij ...[truncated 1783 chars]
Remediation
## Remediation Suggestions 1. Remove the prewritten agent prompt and all directions instructing an agent to load and obey another Skill's `SKILL.md`. 2. Keep upgrade information strictly informational and separate it from the operational instructions of the free checker. 3. Direct users to independently visit a verified marketplace page rather than having an agent initiate installation or purchasing. 4. Do not encode purchase authorization, dependency-installation authorization, or post-payment continuation instructions in reusable prompts. 5. If integration with another Skill is essential, vendor and audit its exact instructions as part of the current package rather than transferring control to content installed at runtime. 6. Require a clear, separate, informed user decision before each security-sensitive phase: software retrieval, package execution, instruction loading, purchase initiation, payment confirmation, and product installation. 7. Display the exact package version, publisher identity, requested permissions, and installation effects before asking the user to proceed.

T08 · Insecure Dependencies

Warning
Location
SKILL.md:72
Finding
Execution of a Remotely Resolved Package Through an Unpinned Latest Tag## Vulnerability Details **File Location**: `SKILL.md:72` **Vulnerability Type**: `T08: Insecure Dependencies` **Risk Level**: Medium **Complete vulnerable snippet:** ```bash npx -y @alipay/agent-payment@latest install ``` ### Technical Analysis The installation command uses `npx` to retrieve and execute the package selected by the mutable `latest` distribution tag. No exact version, lockfile, archive digest, or package integrity value is provided. As a result, the effective code can change after this Skill has been audited without any modification to the repository. The `-y` option automatically accepts the package-execution prompt, reducing the opportunity for the user to inspect and reject the resolved dependency before it runs. The retrieved implementation is absent from this project and was therefore outside the audit scope. This is a supply-chain trust issue: compromise of the package publisher, npm account, release process, registry response, or a future `latest` release could cause materially different code to execute under the same documented command. ### Attack Path 1. A user or AI agent follows the command in `SKILL.md`. 2. `npx` contacts the configured package registry and resolves `@alipay/agent-payment@latest`. 3. The mutable tag selects whichever release is current at execution time rather than a version reviewed with this project. 4. `npx` downloads the selected package and executes its command. 5. If the selected release is compromised or unexpectedly changed, attacker-controlled code runs with the invoking user's privileges. 6. That code may then alter the installation workflow or supply further instructions through installed files. ### Impact Assessment A malicious package release could execute arbitrary code with the privileges of the local user invoking `npx`. The precise impact depends on the user's environment and permissions, but may include reading or modifying user-accessible files, acces ...[truncated 369 chars]
Remediation
## Remediation Suggestions 1. Replace `@latest` with an exact, previously audited package version. 2. Verify and pin the package archive's cryptographic integrity where the installation mechanism supports it. 3. Remove `-y` so the resolved package name and version are shown for explicit user approval before execution. 4. Publish the expected package publisher, registry, version, digest, and source repository alongside the command. 5. Prefer a lockfile-backed installation process over ad hoc `npx` execution. 6. Retrieve the package for inspection before execution and verify its provenance, signatures, lifecycle scripts, and dependency tree. 7. Run any unavoidable installer in a sandbox or restricted account with no access to unrelated credentials or sensitive files. 8. Establish a controlled update process in which new package versions are reviewed before changing the pinned version.
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 (10)

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

Description-Behavior Mismatch

Medium
Confidence
89% confidence
Finding
The documentation says the free version excludes specific checks, but also says behavior is determined by whatever checks the bundled engine exports. This weakens the stated security boundary, because users cannot reliably know what the local engine will actually do, which can lead to over-trust, auditability problems, and unexpected behavior if the engine contents diverge from the docs.

Intent-Code Divergence

Medium
Confidence
91% confidence
Finding
The file claims the only difference between free and paid versions is a specific omitted list, while elsewhere deferring actual behavior to engine exports. This inconsistency can mislead users about product capabilities and boundaries, increasing the chance they rely on missing controls or execute an engine with broader behavior than expected.

Missing User Warnings

Medium
Confidence
94% confidence
Finding
The skill includes a copy-paste block telling the user's AI assistant to install dependencies and proceed into a payment flow, but it lacks a strong safety warning about environment modification, third-party package execution, and transactional risk. In an agent context, this is especially dangerous because users may treat the block as trusted automation guidance and authorize actions they do not fully inspect.

Rp1

Medium
Category
MCP Rug Pull
Confidence
97% confidence
Finding
The skill embeds instructions to run `npx -y @alipay/agent-payment@latest install`, which fetches and executes remote code without version pinning. That creates a supply-chain risk: if the package is updated maliciously or compromised, users following the documented flow could execute attacker-controlled code on their local machine.

Natural-Language Policy Violations

Medium
Confidence
97% confidence
Finding
This JavaScript file contains user-facing documentation, prompts, error/advice text, labels, and output strings entirely in Chinese. Under the policy rule for language/locale, forcing a specific language without user opt-in is a natural-language policy violation unless the constraint is explicitly justified as region-specific.

Natural-Language Policy Violations

Medium
Confidence
96% confidence
Finding
This code file contains natural-language strings that force a specific language/locale for core instructions, usage, and status output. Under the policy, locale-specific language is a violation unless the skill offers the user a language choice or clearly documents a justified region-specific constraint.

Intent-Code Divergence

Low
Confidence
94% confidence
Finding
L077 的注释写明“不是 JSON 就当作纯文本材料(例如直接粘贴的合同全文)”,但该技能清单、帮助文本和整体实现都围绕“工时与人工成本分摊表(含表头)”展开。这里的内联文档把适用材料说成“合同全文”,会让开发者误解该技能接受和处理的文档类型,属于文档意图与代码实际用途不一致。

Natural-Language Policy Violations

Low
Confidence
90% confidence
Finding
The JSON template's only user-facing content is entirely in Chinese, including column headers and sample values, with no indication that language selection is optional. For a generic sample template, this imposes a specific language/locale without user opt-in or a stated region-specific justification.

Static analysis

No suspicious patterns detected.