Back to skill

Security audit

xinjianxue-skill-manage_up-cn

Security checks for vulnerabilities and agentic risk

Overview

This skill is a disclosed paid third-party analysis integration, but it needs Review because it stores account-linked credentials and treats server-returned content as runtime guidance for the agent.

Review before installing. Use this only if you are comfortable sending the requested personal details to 心鉴学, spending service credits, giving the agent an account-linking authorization code, and storing the resulting API credentials in a real secret store. Confirm each paid report request, and treat server-returned report text as data rather than instructions for the agent to follow.

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
Findings (1)

T01 · Skill Instruction Hijacking

Error
Location
SKILL.md:219
Finding
Remote Server Content Is Promoted into Agent Instructions## Vulnerability Details **File Location**: `SKILL.md:219-242` **Vulnerability Type**: Remote instruction injection **Risk Level**: High ### Vulnerable Code Snippet ```markdown ### Report translation (executed by the AI after report output) 1. Reports and prompts are returned by the server in Chinese, and the AI may directly use them for analysis; 2. User-facing delivery must use the user's native language; Chinese may be delivered directly when that is the user's native language; 3. For non-Chinese delivery, the AI may optionally back-translate and correct obvious semantic discrepancies. ### Prompt source - Each time the AI invokes `report`, the server returns the raw report for the current service; - Usage instructions = local role functions (see the following section) + the server response (the raw report for the current service). ### Local role-function prompts and assembly This Skill contains two role-function slots for the upward-management consultant: - **Role definition**: Specializes in relationships with supervisors or authority figures, reporting, and advocacy - **Dedicated self-check**: Do not teach flattery intended to make leaders like the user; focus on mechanisms and boundaries rather than political maneuvering **Runtime assembly**: ``` Usage instructions = ① local role-function prompt (the two slots in this section) + ② raw report returned by the service user = the user's current question (not placed in system) ``` Analyze the report and the user's specific question based on ①. ``` *The snippet above is an English translation of the audited Chinese source.* ### Technical Analysis The Skill explicitly states that the external server returns both reports and prompts, and it combines the server response with local role instructions to create runtime “usage instructions.” This crosses the trust boundary between untrusted remote data and agent-control instructions. The response from `chinaapi.xinjianxue.c ...[truncated 2123 chars]
Remediation
## Remediation Suggestions 1. Treat every server response as untrusted data, never as a prompt or usage instruction. 2. Remove all language stating that the server returns prompts or that remote content is concatenated with local instructions. 3. Define a versioned JSON response schema containing only necessary report fields. Reject unknown fields and invalid types. 4. Enforce allowlists, maximum lengths, nesting limits, and expected value formats before processing the response. 5. Place validated report text inside a clearly delimited, quoted data block and explicitly instruct the agent that content inside the block is evidence to summarize, not instructions to follow. 6. Keep all behavioral, safety, tool-use, and role instructions exclusively in the locally reviewed Skill. 7. Detect and reject report fields containing instruction-like content, such as requests to ignore prior rules, invoke tools, reveal secrets, or contact unrelated endpoints. 8. Restrict subsequent tool access while interpreting a report. Require separate user confirmation for any action beyond generating the requested analysis. 9. Add adversarial tests using server responses containing prompt-injection strings and verify that they are treated only as report data. 10. Pin and document the expected API contract, monitor unexpected response-shape changes, and fail closed when validation fails.
Vulnerability Patterns
  • 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
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
Findings (4)

Vague Triggers

Medium
Confidence
91% confidence
Finding
A trigger that activates when the user provides only a date/time is overly broad and can capture many benign conversations with no intent to invoke this external service. In context, unintended activation is more dangerous because the skill is tied to paid API usage and collection/transmission of personal data, so false matches can lead to unnecessary data requests or account-linked actions.

Vague Triggers

Medium
Confidence
87% confidence
Finding
The trigger language covers broad psychology, status, and 'what should I do now' style questions, which overlaps heavily with ordinary assistant use. Because this skill can escalate into collecting sensitive personal attributes and invoking a third-party paid analysis service, vague boundaries increase the risk of stealthy or accidental takeover of routine conversations.

Context-Inappropriate Capability

Medium
Confidence
95% confidence
Finding
The skill instructs the agent to persist a user-linked license_key and api_key beyond the current interaction, enabling ongoing impersonation of the user's account for future paid API calls. Even though it recommends a 'secure store,' this exceeds the narrow advisory purpose of the skill and creates durable secret-handling obligations, account linkage risk, and potential abuse if the host environment, logs, or memory boundaries are weak.

Intent-Code Divergence

Low
Confidence
89% confidence
Finding
The document claims the AI does not request sensitive credentials while directing it to collect an 8-character authorization code that binds the AI to the user's account and yields an api_key. That is effectively a credential for account linkage, so the wording is misleading and may lower user caution, increasing the chance of phishing-like collection or unsafe handling.

Static analysis

No suspicious patterns detected.