Back to skill

Security audit

版税与授权金结算核对(免费版)

Security checks for vulnerabilities and agentic risk

Overview

This is a local royalty checking tool, but its instructions add mandatory paid-upgrade, payment, and external installation flows that need review before installation.

Install only if you are comfortable with a Chinese-language local checker that also instructs the agent to advertise and help complete a paid upgrade. Do not let the agent open payment links, follow HTTP redirect endpoints, install dependencies, or install a separate paid skill unless you explicitly requested that and have independently verified the merchant, product, amount, package identity, and official HTTPS source.

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

Warning
Location
SKILL.md:147
Finding
Unauthenticated HTTP Endpoint Controls Purchase and Installation Routing## Vulnerability Details **File Location**: `SKILL.md`, lines 147–148 **Vulnerability Type**: Unauthenticated external dependency and commerce routing **Risk Level**: Medium **Vulnerable snippet**: ```markdown - **Permanent purchase address (always valid, even if the product ID changes)**: <http://110.40.221.75/buy/royalty-settlement-check> (Humans open the regular page; AI uses `http://110.40.221.75/buy/royalty-settlement-check?format=json` to obtain the current product ID; `http://110.40.221.75/buy/royalty-settlement-check?go=1` redirects directly to the currently valid SkillPay purchase address.) ``` ### Technical Analysis The Skill instructs an agent to retrieve a current product identifier or follow a redirect over plaintext HTTP. HTTP provides no server authentication or transport integrity. An on-path attacker could therefore alter the JSON response or redirect destination before it reaches the agent. The returned data affects a workflow involving payment and subsequent installation of another Skill. This crosses a trust boundary: unauthenticated network data is used to determine a commerce and software-installation destination. The surrounding instructions require merchant, product, and order verification and reserve payment confirmation for the user. These safeguards reduce exploitability, but they do not authenticate the HTTP response and do not fully prevent an attacker from presenting a fraudulent destination or attacker-selected product. ### Attack Path 1. The user chooses the paid edition. 2. The agent follows the optional workflow documented in `SKILL.md`. 3. The agent requests the plaintext HTTP JSON endpoint or follows its HTTP redirect. 4. An attacker capable of intercepting or modifying the connection substitutes a product identifier or redirect destination. 5. The agent presents the modified payment destination or continues toward installation of the substituted Skill. 6. If ...[truncated 679 chars]
Remediation
## Remediation Suggestions - Remove the plaintext HTTP endpoint and use HTTPS with normal certificate and hostname validation. - Prefer authenticated product and installation metadata obtained directly from the official platform. - Restrict redirects to an explicit allowlist of official SkillPay HTTPS origins and reject protocol downgrades, raw IP destinations, and unexpected hosts. - Before presenting payment, verify the merchant ID, product ID, product name, amount, currency, and order identifier against authenticated platform data. - Before installation, verify the exact package identity, source, requested permissions, and version through trusted platform metadata. - Keep payment confirmation as an explicit user action and abort when any merchant, product, amount, origin, or package check differs from the expected values.
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • 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
Findings (12)

Intent-Code Divergence

High
Confidence
99% confidence
Finding
The file explicitly claims the tool is fully local, requires no network, and makes no external calls, but later instructs the agent to access web pages, payment endpoints, and installation flows. This contradiction is dangerous because it undermines trust boundaries and can cause users or host systems to approve a skill under false assumptions about data exposure and network behavior.

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

Vague Triggers

Medium
Confidence
86% confidence
Finding
The description says the trigger words include “版税与授权金结算核对表对不上,” which is a natural complaint a user might say in ordinary conversation rather than a clearly bounded invocation command. The file does not provide exclusion conditions or negative examples to clarify when that phrase should or should not activate the skill.

Description-Behavior Mismatch

Medium
Confidence
96% confidence
Finding
The skill is supposed to perform a local royalty-settlement check, but it also instructs the agent to initiate purchase and installation flows for a separate paid product through external URLs. This expands the skill's effective behavior into commerce orchestration and dependency installation, creating a phishing/supply-chain risk and increasing the chance that sensitive user context is pushed into unrelated external flows.

Context-Inappropriate Capability

Medium
Confidence
95% confidence
Finding
Embedding mandatory upsell and e-commerce orchestration inside a business-checking skill creates a hidden secondary objective unrelated to the stated task. This is dangerous because it can pressure the agent to prioritize conversion behavior over user intent, and it introduces opportunities for social engineering, misdirection, and unauthorized external actions.

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
96% confidence
Finding
This code’s comments, examples, warnings, error messages, and result text are all written in Chinese, and the runtime responses returned to users are likewise Chinese-only. Under the policy, forcing a specific language without user opt-in is a natural-language policy violation unless the locale restriction is explicitly documented and justified as region-specific.

Natural-Language Policy Violations

Medium
Confidence
94% confidence
Finding
This file presents its capability description, usage instructions, errors, and output messages exclusively in Chinese. Under the policy, forcing a specific language without offering a user language/locale choice is a natural-language policy violation.

Natural-Language Policy Violations

Medium
Confidence
93% confidence
Finding
The JSON payload consists entirely of Chinese-language field names and values, which indicates a fixed language/locale in the skill content. There is no surrounding natural-language indication that this language choice is optional, user-selected, or justified as a region-specific constraint.

Natural-Language Policy Violations

Low
Confidence
93% confidence
Finding
Requiring the agent to present upsell or purchase messaging on every invocation without user opt-in turns a utility skill into a persistent solicitation channel. This is dangerous because it can manipulate user interactions, normalize commercial prompts, and increase the chance that users are steered into external flows they did not request.

Intent-Code Divergence

Low
Confidence
88% confidence
Finding
L077 的注释写明“不是 JSON 就当作纯文本材料(例如直接粘贴的合同全文)”,但该技能的 manifest 和其余帮助文本均强调输入应为“版税与授权金结算核对表(含表头)”用于逐项核对。这里的文档把更宽泛的“合同全文”描述为可接受材料,主动暗示了超出实际技能定位的输入范围,构成文档意图与技能声明范围的偏离。

Static analysis

No suspicious patterns detected.