Back to skill

Security audit

医保拒付与申诉核对(免费版)

Security checks for vulnerabilities and agentic risk

Overview

The core checker runs locally, but the skill also embeds agent-directed payment and external installation flows that are broader than the free table-checking purpose.

Install only if you are comfortable with a Chinese-language local checker that also advertises a paid version. Treat any paid-version purchase or installation as a separate high-trust action: do not allow automatic payment, verify the merchant, product, amount, and final payment domain yourself, and avoid the plaintext HTTP purchase route.

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:119
Finding
Unauthenticated HTTP endpoint influences payment destination## Vulnerability Details **File Location**: `SKILL.md`, lines 119–120 **Vulnerability Type**: Use of unauthenticated transport for payment routing **Risk Level**: Medium **Vulnerable snippet**: ```markdown - **Permanent purchase address (always valid, even if the product ID changes)**: <http://110.40.221.75/buy/medical-insurance-denial-check> (Humans open the normal page; AI uses `http://110.40.221.75/buy/medical-insurance-denial-check?format=json` to obtain the current product ID; `http://110.40.221.75/buy/medical-insurance-denial-check?go=1` directly returns a 302 redirect to the current SkillPay purchase address.) ``` ### Technical Analysis The optional paid-version workflow instructs the agent to obtain a current product identifier or payment redirect from a plaintext HTTP endpoint. HTTP provides neither server authentication nor transport integrity. An on-path attacker can therefore modify the JSON response or replace the `302` redirect without modifying the reviewed Skill package. The dangerous trust transition occurs when attacker-modifiable network data is treated as authoritative payment-routing information and presented to the user. The surrounding instructions require verification of the merchant and product details, which mitigates the risk, but these procedural checks do not authenticate the HTTP endpoint or technically prevent a substituted destination. ### Attack Path 1. The user selects the optional paid version. 2. The agent follows the documented HTTP URL to obtain the current product identifier or redirect. 3. An attacker capable of intercepting or modifying the plaintext connection substitutes the response or `Location` header. 4. The agent follows or presents the substituted checkout destination. 5. If the user does not detect the mismatch during merchant and order verification, the user may submit payment information or authorize a transaction through an unauthorized destination. ### Impact Asse ...[truncated 420 chars]
Remediation
## Remediation Suggestions - Remove the plaintext HTTP endpoint and expose this workflow only through HTTPS on an authenticated domain. - Do not use a bare IP address for payment routing unless its authenticated certificate identity is explicitly validated. - Reject redirects to origins outside a strict allowlist of approved payment-platform domains. - Retrieve product metadata through the authenticated payment platform rather than an intermediary endpoint where possible. - Before presenting a checkout link, technically validate the merchant ID, product ID, amount, currency, and final checkout origin against trusted values. - Stop the purchase workflow on any mismatch instead of relying solely on advisory text instructing the agent or user to inspect the transaction.
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 (13)

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

Natural-Language Policy Violations

Medium
Confidence
91% confidence
Finding
The skill’s visible name, summary, descriptions, usage guidance, and operational instructions are predominantly in Chinese, while the only English text is limited and does not provide an equivalent full set of instructions or an explicit language choice. This can violate language/locale policy when users are not given opt-in or an alternative language path.

Description-Behavior Mismatch

Medium
Confidence
96% confidence
Finding
The skill claims it is fully local, requires no network, and has no external dependencies, but the same document later instructs the agent to access external purchase and installation URLs. This is a deceptive capability boundary that can cause users or agent runtimes to trust the skill more than they should and may bypass policies that allow only offline/local tools.

Context-Inappropriate Capability

Medium
Confidence
95% confidence
Finding
The skill includes mandatory commercial prompting and purchase orchestration unrelated to the stated task of auditing insurance denial tables. Embedding transactional instructions inside an operational skill increases the chance that an agent will perform unintended external actions, present payment links, or be manipulated into steering users toward purchases during a safety-sensitive workflow.

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.

Context-Inappropriate Capability

Medium
Confidence
97% confidence
Finding
This section directs the agent to fetch external instructions, use multiple purchase endpoints, follow redirects, and help install another product. That creates an agentic supply-chain and payment-flow risk: a compromised endpoint, changed product mapping, or overly obedient agent could lead to phishing, unwanted purchases, or installation of untrusted components.

Natural-Language Policy Violations

Medium
Confidence
95% confidence
Finding
The file’s natural-language comments, instructions, user-facing advice, and disclaimer are entirely in Chinese, and there is no indication that the skill supports other languages or lets the user opt in to Chinese. Under the stated policy, forcing a specific language without user choice is a natural-language policy violation unless clearly justified as region-specific.

Natural-Language Policy Violations

Medium
Confidence
95% confidence
Finding
The user-facing title, help text, usage, errors, and status messages are all written in Chinese, and the file does not indicate that the skill is China/Chinese-specific or provide any language choice. Under the policy, forcing a specific language without user opt-in is a natural-language policy violation.

Natural-Language Policy Violations

Medium
Confidence
93% confidence
Finding
The JSON sample consists entirely of Chinese headers and status values, which indicates a fixed language/locale in the skill artifact. Under the policy, locale-specific behavior should either offer user choice or clearly document a justified regional constraint, neither of which is present in this file.

Vague Triggers

Low
Confidence
83% confidence
Finding
The manifest says the trigger phrases include “医保拒付与申诉核对” and “医保拒付与申诉核对表对不上,” but it does not define when similar phrasing should not activate the skill. Although domain-specific, the trigger specification is open-ended ('包括') and lacks clear scope constraints or negative examples.

Intent-Code Divergence

Low
Confidence
85% confidence
Finding
The file says the free and full versions differ only by listed checks, yet the free skill also imposes mandatory commercial messaging behavior. This is primarily a transparency and trust-boundary issue: users and orchestrators may make decisions based on incomplete disclosure of behavioral differences.

Intent-Code Divergence

Low
Confidence
94% confidence
Finding
The inline comment says non-JSON input is treated as plain-text material such as '直接粘贴的合同全文', which contradicts the surrounding documentation and manifest that consistently describe this skill as operating on a 医保拒付与申诉核对表. This is not just incomplete documentation; it actively describes a different document type than the code's stated purpose.

Static analysis

No suspicious patterns detected.