Back to skill

Security audit

Kaiqiao

Security checks for vulnerabilities and agentic risk

Overview

This skill is a coherent behavior-calibration helper, but it asks the agent to create recurring memory-scanning reminders and write inferred user traits into shared long-term memory without clear consent controls.

Install only if you want a Chinese-language behavior coach that can influence future agent behavior. Before use, require explicit approval for any memory writes, disable or manually approve recurring reminders, and do not let its 'just do it' guidance override confirmations for destructive, costly, public, financial, or account-changing actions.

Vulnerability Patterns
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • System PersistenceInstalls backdoors, hooks, services, or scheduled tasks that survive the run
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • 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 (2)

T06 · System Persistence

Error
Location
SKILL.md:441
Finding

Mandatory Recurring Task Creates Cross-Session Persistence

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 441–452
Vulnerability Type: Mandatory scheduled task with recurring access to persistent memory
Risk Level: High

Complete Vulnerable Source Excerpt

The following is an English translation of the relevant source instructions:

markdown
This is the most valuable feature, but it is also the easiest to forget.
A recurring reminder must be configured; it cannot depend on remembering it.

Method: Use your scheduling system to create a task that repeats every two weeks:

Scan USER.md and MEMORY.md and find preferences and experiences that have not
been validated for more than two weeks.
If any exist, select the one or two most valuable items and proactively ask the user.
Wording: "Regarding the thing we agreed on before... I have continued doing it
this way recently. Do you think it is still correct?"
If none exist, do not disturb the user.

Key point: The schedule must be configured. Do not rely on remembering it.
You will not remember.

Technical Analysis

The Skill explicitly requires the Agent to use an available scheduling system to create a task that repeats every two weeks. This is not presented solely as an optional example: the instructions repeatedly state that the task “must” be configured.

A scheduled task survives the interaction in which the Skill is loaded and subsequently executes without a new invocation of the Skill. Its payload also accesses USER.md and MEMORY.md, selects stored information, and initiates a new interaction with the user.

This behavior meets the definition of system persistence because it installs recurring, cross-session execution through a scheduler. The Python CLI does not create the task itself; the persistence is induced through instructions executed by the hosting Agent.

Attack Path

  1. A user installs or invokes the Skill.
  2. The Agent loads and follows SKILL.md.
  3. The Skill instructs the Agent to access its scheduling or calend ...[truncated 1215 chars]
Remediation
View remediation

Remediation Suggestions

  1. Remove all language requiring automatic schedule creation.
  2. Treat recurring checks as an optional feature that is disabled by default.
  3. Obtain explicit, informed user confirmation immediately before creating a schedule.
  4. Display the exact recurrence interval, task payload, files accessed, and expected notification behavior.
  5. Restrict the scheduled task to Skill-specific, non-sensitive state rather than shared USER.md and MEMORY.md files.
  6. Apply a finite expiration date or execution count instead of creating an indefinite recurring task.
  7. Provide clear commands for reviewing, pausing, and deleting the schedule.
  8. Record creation and execution events in an auditable activity log.
  9. Require fresh authorization before expanding the task’s permissions or accessed data.
  10. Ensure uninstalling or disabling the Skill also removes any schedules it created.

T02 · Agent Memory Poisoning

Error
Location
SKILL.md:426
Finding

Unconfirmed Writes of Inferred Behavior into Shared Long-Term Memory

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 426–436
Vulnerability Type: Persistent memory modification without confirmation or provenance controls
Risk Level: High

Complete Vulnerable Source Excerpt

The following is an English translation of the relevant source instructions:

markdown
## Where to store learned information

The Skill does not create new files. Use the existing system:

| Information learned | Storage location | Storage method |
| User preferences, habits, and meanings of verbal expressions |
  USER.md |
  Append to the "Communication Preferences", "Work Habits", or
  "Emotional Signals" section |
| Problems encountered and lessons learned during tasks |
  MEMORY.md |
  Append one sentence to the "Experience Records" section |
| User corrections and real-time feedback |
  Directly modify the current work |
  Do not store it; correct the work immediately |

When storing information:
- One sentence is enough; do not write a long entry.
- Record what was learned, not what happened.
- Review it regularly and delete information that is outdated.

Technical Analysis

The Skill instructs the Agent to append interpreted user preferences, habits, meanings of expressions, emotional signals, and task lessons to shared persistent files. These entries can influence future sessions and unrelated Agent behavior.

The instructions do not require the user to approve an entry before it is persisted. They also do not require the Agent to distinguish direct user statements from model-generated inferences, preserve the source conversation, assign confidence, namespace entries to this Skill, or set an expiration time.

Consequently, ambiguous conversation content or attacker-controlled input can be converted into durable behavioral rules. Because the destination files are shared long-term state rather than Skill-local storage, poisoned entries may continue to affect the Agent after the original interaction or Skill invocation ...[truncated 1851 chars]

Remediation
View remediation

Remediation Suggestions

  1. Require explicit user confirmation before adding or changing persistent memory.
  2. Show the proposed entry, destination file, and expected behavioral effect before writing it.
  3. Store direct user statements separately from Agent-generated inferences.
  4. Do not persist inferred emotional signals unless the user explicitly opts in.
  5. Add provenance metadata, including source interaction, timestamp, author, and confidence.
  6. Namespace Skill-created entries so they cannot silently become global behavioral rules.
  7. Apply expiration dates to inferred preferences and require revalidation before renewal.
  8. Prevent stored preferences from overriding safety controls, authorization checks, or confirmation requirements for sensitive operations.
  9. Validate and sanitize memory content before later use as Agent instructions.
  10. Provide user-accessible mechanisms to inspect, edit, reject, and delete stored entries.
  11. Prefer purpose-specific Skill storage over shared USER.md and MEMORY.md files.
  12. Treat all persistent memory as untrusted data when constructing future prompts.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (15)

Missing User Warnings

High
Category
Not specified by scanner
Confidence
94% confidence
Finding

The checklist explicitly says irreversible actions can be completed first and only confirmed afterward, which removes the last safety checkpoint before a potentially harmful or unrecoverable operation. In a behavior-calibration skill, this guidance can generalize into real-world deletion, publication, financial, or configuration changes where post-hoc confirmation is ineffective.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The skill advertises broad trigger phrases such as '开窍', 'prompt检查', '助手行为规范', and other generic behavioral terms that can easily appear in ordinary conversations. This increases the chance of unintended activation or behavioral steering, causing the agent to apply this skill's intervention logic in unrelated contexts and potentially override expected assistant behavior.

Content

No source excerpt is available for this finding.

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
88% confidence
Finding

The skill explicitly instructs the agent to read and write local memory files such as USER.md and MEMORY.md, and references a CLI helper, but it declares no tool scope or allowed-tools. That mismatch can cause the host to grant broader file capabilities than users expect, increasing the chance of unintended file access or persistence beyond the narrow purpose of the skill.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The trigger list contains broad phrases like prompt checking, behavior norms, and diagnosis terms that can appear in ordinary conversation. This raises the risk of accidental activation, causing the skill to alter agent behavior or memory handling in contexts where the user did not intend to invoke it.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The example activation phrase '帮我开窍一下' is conversationally broad and could be said casually without intending to enable a persistent behavior-shaping skill. Because this skill changes how the agent asks, acts, blocks, and stores preferences, accidental invocation has more consequence than a harmless one-shot helper.

Content

No source excerpt is available for this finding.

Ssd 3

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The skill directs the agent to persist user preferences, habits, emotional cues, and corrections into reusable memory files for later scanning and follow-up. Storing conversation-derived behavioral and emotional data without explicit, granular consent creates privacy risk, retention creep, and possible misuse if those files are later read by other skills or exposed through file access.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The section "去AI化:说人话的10条军规" prescribes a fixed communication style and specific phrasing replacements, effectively enforcing one language/register preference by default. The file does not indicate that users can choose another language, tone, or locale, so this creates a natural-language policy concern.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

Treating vague phrases like “随便”, “你定”, or “你看着办” as blanket authorization encourages the agent to infer scope, risk tolerance, and constraints that the user may not have actually granted. In a general-purpose agent skill, ambiguous consent can lead to overreach, unsafe actions, or decisions that affect cost, privacy, or irreversible outcomes without informed approval.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The checklist prescribes a specific Chinese conversational style and bans alternative forms such as polite phrasing, without offering the user any language or locale preference choice. This is a natural-language policy issue because it forces one communication style by default rather than allowing user opt-in or documented justification.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

This Python skill’s natural-language instructions, examples, and behavioral criteria are written entirely in Chinese and are presented as the expected operating mode. Because the file does not indicate that language selection is optional or region-specific, it effectively imposes a specific language/locale without user opt-in.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The module docstring claims the skill checks whether a prompt meets the full "四件事" standard, which includes "该拦的时候拦" per the manifest and checklist. However, while block-related patterns are collected in code, the block result is never included in the total score (L263-L269) and is not surfaced in the printed report sections, so the implemented diagnosis does not actually evaluate that dimension end-to-end.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The analyzer labels certain Chinese phrases as undesirable 'AI味' and rewards a different colloquial Chinese style as '人话', making one language/style policy normative in code. This is a natural-language policy concern because users are not offered a choice of language or communication style before the skill evaluates and scores them.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
88% confidence
Finding

Natural-language policy review applies to all file types. The file forces a single language experience through its instructions and examples, and it does not indicate that users may opt into another language or that the skill is intentionally restricted to a Chinese-language audience for a documented reason.

Content

No source excerpt is available for this finding.

Vague Triggers

Low
Category
Not specified by scanner
Confidence
84% confidence
Finding

The trigger condition "收到任何任务" is extremely broad and does not define boundaries for what counts as an in-scope task. In a skill description, such open-ended activation language can blur when this behavior should or should not engage.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Low
Category
Not specified by scanner
Confidence
87% confidence
Finding

The skill manifest mentions "定时提醒", and the interactive advice tells users to "设日程定期确认偏好". But the code only prints this advice; it has no scheduling, reminder persistence, or calendar/task integration, so the instruction overstates what the skill itself does.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.