T01 · Skill Instruction Hijacking
- Location
SKILL.md:59- Finding
Unauthenticated Chat Messages Can Impersonate Persistent System Instructions
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This skill has a coherent group-memory purpose, but it asks the user to install persistent rules that let ordinary chat messages prefixed with [SYSTEM] trigger open-ended agent actions.
Review before installing. The main risk is not hidden malware; it is overbroad persistent agent behavior. Do not install the [SYSTEM] message handling rule as written, and avoid automatic save/load or diary copying unless every group participant understands that summaries may be retained and later resurfaced. Prefer explicit save/load commands, per-group opt-in, and isolated per-group memory files.
SKILL.md:59Unauthenticated Chat Messages Can Impersonate Persistent System Instructions
The core feature is persistent storage of group conversation summaries, but the documentation provides no explicit user-facing notice, consent flow, retention policy, or privacy warning. Persisting conversational content automatically without disclosure is a significant privacy and compliance risk, especially in multi-party group chats.
The skill mandates writing actual group discussion highlights into the user's diary without providing a strong warning about privacy impact or data mixing. This broadens access paths and retention surface for potentially sensitive group information, raising confidentiality and compliance concerns.
The skill is described as group-chat context persistence, but in private chat it instructs the agent to record the conversation into a diary instead. That expands data collection beyond the stated purpose and can capture private-chat content under a different storage channel without clear consent or scope limitation.
The load trigger phrases include common conversational expressions such as asking where the conversation left off. In normal chat this can cause unintended memory retrieval, which may inject stale or sensitive content into the conversation without the user clearly intending to access persisted group memory.
The auto-save condition depends on undefined concepts like 'important conversation' and 'unsaved' state. Ambiguous criteria make over-collection likely, causing the agent to persist more group content than users expect and making enforcement of least-privilege retention difficult.
The skill promotes automatic saving and loading of group conversations, including vaguely defined 'important' unsaved chats. This encourages continuous persistence of user data and increases the amount of conversational material available for later retrieval, misuse, or accidental disclosure.
Automatic loading of group memory at session start changes model behavior using prior persisted chat content, but users are not told this will happen. This can unexpectedly expose old group information in a new session and undermines user expectations about ephemeral conversations.
Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.
mkdir -p ~/.openclaw/workspace/memory/FeishuGroupMemory
The skill not only stores group memory in a dedicated file, but also requires writing summarized group-chat content into the user's general daily diary. This creates cross-context data propagation, increasing the chance that sensitive group information is later surfaced in unrelated contexts or retained more broadly than intended.
Recording real group-conversation content into a daily diary creates semantic data leakage across contexts: information from one group can later appear in unrelated prompts, summaries, or recalls tied to the diary. The risk is not just storage, but downstream resurfacing of sensitive natural-language content outside its original audience and purpose.
The markdown content presents all instructions and labels exclusively in Chinese, with no indication that the skill supports other languages or that Chinese is an explicitly documented, region-specific requirement. Under the policy rule for language/locale, this can be interpreted as forcing a specific language without user opt-in.