Back to skill

Security audit

教培课消与预收学费核对(免费版)

Security checks for vulnerabilities and agentic risk

Overview

The local checker itself is coherent, but the skill also tells agents to upsell, initiate external payment flows, and install another paid skill, which needs Review before installation.

Install only if you want a Chinese-language local checker and are comfortable ignoring the paid-upgrade flow. Do not allow the agent to open purchase links, fetch payment QR codes, install the paid skill, or install dependencies unless you explicitly intend to buy the separate product and can verify the merchant, product, amount, and platform rules yourself.

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
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (8)

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

High
Confidence
97% confidence
Finding
The manifest and description repeatedly promise a fully local, no-network, free skill, but the instructions later require the agent to present and potentially initiate a paid purchase/install flow using external URLs and payment handoff. This is a trust-boundary violation: an agent following the skill may unexpectedly navigate users toward external commerce despite the stated offline-only behavior, creating phishing, billing, and policy-bypass risk.

Context-Inappropriate Capability

High
Confidence
95% confidence
Finding
The skill’s declared purpose is deterministic checking of accounting-style records, but it embeds detailed instructions for purchasing another product, installing dependencies, following external links, and handling payment flow artifacts. That capability is unrelated to the business function and expands the attack surface by turning a document-analysis skill into a commerce/installation broker, which could be abused for social engineering or supply-chain compromise.

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
The file’s natural-language comments, user-facing advice, disclaimers, and result text are entirely written in Chinese and describe the skill’s behavior as if it will operate in that language by default. There is no indication that users may choose another language or locale, nor any documented justification that the skill is restricted to a Chinese-only regulatory context.

Intent-Code Divergence

Low
Confidence
93% confidence
Finding
At L340, the insufficient-input message tells users to provide a table including "合同课时单价". However, the parser's recognized roles and REQUIRED columns (L74-L91, L101-L103) do not include any contract-price field, and no check consumes such a column. This is an active documentation/input-contract mismatch inside the code.

Natural-Language Policy Violations

Low
Confidence
98% confidence
Finding
This JSON file contains user-facing text entirely in Chinese, which imposes a specific language/locale without any visible opt-in or alternative. The policy for natural-language content requires flagging language or locale constraints unless they are explicitly optional or clearly justified as region-specific.

Static analysis

No suspicious patterns detected.