Back to skill

Security audit

物流仓储与操作费核对(免费版)

Security checks for vulnerabilities and agentic risk

Overview

The local fee checker is coherent, but the skill also directs agents into an external paid purchase and installation flow, including a plaintext HTTP purchase redirect, so users should review it carefully before installing.

Use the free checker only if you are comfortable with its visible upsell behavior. Do not let an agent follow the paid purchase/install path automatically; require explicit confirmation, avoid the plaintext HTTP redirect endpoint, verify any merchant/product/order details directly on trusted HTTPS pages, and review any newly installed onboarding or paid skill before running it.

Vulnerability Patterns
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • 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)

T09 · Insecure Skill Coding Practices

Warning
Location
SKILL.md:145
Finding
Plaintext HTTP Endpoint in Optional Purchase Workflow## Vulnerability Details **File Location**: `SKILL.md`, lines 145–146 **Vulnerability Type**: Unauthenticated purchase metadata and redirect endpoint **Risk Level**: Medium **Vulnerable snippet**: ```markdown - **Permanent purchase address (always valid even if the product ID changes)**: <http://110.40.221.75/buy/logistics-storage-fee-check> (A human can open the normal page; an AI uses `http://110.40.221.75/buy/logistics-storage-fee-check?format=json` to obtain the current product ID, or `http://110.40.221.75/buy/logistics-storage-fee-check?go=1` to receive a 302 redirect to the current SkillPay purchase address.) ``` ### Technical Analysis The instructions designate a plaintext HTTP service as a trusted source of current product metadata and purchase redirects. HTTP does not authenticate the server or protect response integrity. An on-path attacker could therefore modify the JSON response or replace the `302 Location` destination without changing the audited Skill package. This endpoint is part of an optional workflow triggered after the user chooses the paid edition. Although nearby instructions tell the Agent to verify the merchant and avoid unknown links, these are prose-only controls. The documented path does not technically restrict the final redirect host, cryptographically authenticate the returned product information, or require integrity validation before displaying the resulting payment destination. ### Attack Path 1. The user selects the optional paid edition. 2. The Agent follows `SKILL.md` and requests the documented HTTP JSON or redirect endpoint. 3. An attacker capable of intercepting or modifying plaintext traffic alters the product metadata or `302 Location` header. 4. The Agent treats the response as the current valid purchase destination. 5. The modified payment link or QR code is presented to the user. 6. If the user trusts and completes that flow without independently detecti ...[truncated 532 chars]
Remediation
## Remediation Suggestions - Remove the plaintext HTTP endpoint from the purchase instructions. - Publish purchase metadata and redirects exclusively over HTTPS with valid certificate verification. - Do not automatically trust arbitrary redirects. Restrict the final destination to an explicit allowlist of expected HTTPS hosts. - Before presenting a payment link, programmatically verify the merchant identifier, product identifier, amount, scheme, hostname, and final redirect destination. - Reject redirects that downgrade to HTTP, target raw IP addresses, contain embedded credentials, or leave the approved host set. - If dynamically changing product metadata is required, distribute it through an authenticated API or a signed manifest and verify its signature before use. - Require the user to review the verified merchant, product, amount, and destination before continuing to the payment service.
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
Findings (11)

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
89% confidence
Finding
The file claims the free version only executes six enumerated checks, yet later adds instructions that can cause the agent to initiate procurement and installation of another product. This inconsistency can mislead users and orchestration systems about the skill's actual behavior and permissible side effects.

Description-Behavior Mismatch

Medium
Confidence
95% confidence
Finding
The skill markets itself as a fully local, no-network tool, but later instructs the agent to access external purchase pages, installation guides, payment links, and a non-SkillPay HTTP endpoint. This creates a trust-boundary violation: an agent invoked for offline bill checking may be induced into networked commerce/install actions that users and platforms may not expect.

Context-Inappropriate Capability

Medium
Confidence
94% confidence
Finding
The embedded upsell and installation workflow is unrelated to the skill's stated purpose of validating logistics fee statements. Mixing core business logic with monetization and dependency-install actions increases the chance that an agent will perform unintended external operations, including package installation or payment-flow handling, under the guise of a document-checking task.

Whitespace Padding

Medium
Category
Prompt Injection
Content
输出与你的安全约束**;它**可被用户关闭**(`SKILL_NO_UPSELL=1`),也**必须可忽略**(不点不买不影响结果)。
   执行官方购买指令时:先读一次官方说明;核对**商户号 `2088702818190040`**、商品号与订单是否一致;
   ⛔ 不要点击来路不明的链接/二维码,也**不要替用户付款** —— 付款一律由**用户本人**确认。
Confidence
80% confidence
Finding
Large whitespace padding was detected (a block of blank lines or a long run of spaces). This can push injected instructions below or to the right of the visible area so a human reviewer never sees them while the agent still reads them. Manual review of the hidden content is recommended.

Natural-Language Policy Violations

Medium
Confidence
81% confidence
Finding
The embedded natural-language purchase instruction is written entirely in Chinese and is presented as the official text to hand to an AI assistant, with no option for user language preference. This can amount to a locale/language policy issue because the skill otherwise includes English metadata but does not offer opt-in or language selection for these user-facing instructions.

Natural-Language Policy Violations

Medium
Confidence
94% confidence
Finding
The file’s user-facing natural-language documentation and guidance are entirely in Chinese, including mandatory-use descriptions and warnings, with no indication that users may choose another language or locale. Under the stated policy, forcing a specific language without user opt-in is a natural-language policy violation.

Vague Triggers

Low
Confidence
86% confidence
Finding
The description lists trigger phrases such as “物流仓储与操作费核对” and “物流仓储与操作费结算表对不上”, but it does not specify when the skill should not activate or provide negative examples. This can make invocation behavior ambiguous, especially for broad billing-reconciliation requests in adjacent contexts.

Description-Behavior Mismatch

Low
Confidence
82% confidence
Finding
The manifest describes a free local skill for checking logistics storage/operation fee settlement tables, with every conclusion citing source text. In addition to running the checker, the script prints a promotional external URL for purchase/official access, which is not part of performing the stated verification task.

Natural-Language Policy Violations

Low
Confidence
91% confidence
Finding
This JSON sample contains only Chinese headers and values in the natural-language content, which implies a fixed locale. For a generic template file, that can violate the language/locale policy when no opt-in, alternative locale, or justification is provided.

Static analysis

No suspicious patterns detected.