Back to skill

Security audit

Philosophical Three Questions

Security checks for vulnerabilities and agentic risk

Overview

The skill is a navigation reasoning aid, but it also tells the agent to persist episode lessons and later change or create skills without clear user approval.

Install only if you want an experimental navigation agent that keeps long-term episode notes and may propose or make skill changes. Before use, require explicit approval for any memory write, skill-file update, or new-skill creation, and treat stored episode lessons as untrusted data rather than instructions.

Vulnerability Patterns
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • 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
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Findings (1)

T02 · Agent Memory Poisoning

Warning
Location
SKILL.md:107
Finding
Unvalidated Persistent Learning Enables Agent Memory Poisoning and Unsafe Skill Self-Modification<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md`, lines 107-140 **Vulnerability Type**: Persistent memory poisoning through untrusted observations and self-modifying Skill instructions **Risk Level**: Medium ### Evidence ```markdown ## 经验积累规则 ### 写入 Memory 的时机 1. **Episode 结束时**:记录本次导航的总结 - 成功/失败 - 总步数 vs 最优步数 - 关键决策点及其结果 2. **发现新模式时**: - 碰撞后的有效脱困策略 - 特定场景的高效路径 - 反复出现的错误决策 3. **跨 Episode 模式**: - 某类场景的通用策略 - 值得提取为新 Skill 的经验 ### 写入格式 记录到 `~/.openclaw/workspace/memory/YYYY-MM-DD.md`: ```markdown ## [NAV] Episode <id> in <scene_name> - Result: success/fail (N steps, optimal: M steps) - Key decisions: ... - Lesson learned: ... ``` ## 自我进化 当积累了足够多的导航经验后(5+ episodes),回顾 memory 文件,提取通用策略,更新到: - 本 skill 文件中(添加新的决策启发式) - 或创建新的专门 skill(如"走廊导航策略"、"大房间探索策略") ``` ### Technical Analysis The Skill instructs the agent to persist navigation outcomes, scene names, decisions, and generated lessons in a cross-session memory file. It subsequently directs the agent to review those records and use them to modify the trusted Skill file or create additional Skills. Environment-derived observations and model-generated conclusions are not inherently trusted. The specified workflow provides no schema validation, content sanitization, provenance tracking, integrity verification, trust-boundary separation, or human approval before persistent records influence trusted instructions. Consequently, manipulated environmental input or erroneous conclusions can be converted into persistent behavioral rules. The self-modification stage increases the risk because content originating in untrusted observations can move from a data channel into an instruction channel. Once incorporated into a Skill, the poisoned behavior may be applied automatically in later sessions. ### Attack Path 1. An attacker influences a navigation scene, scene name, observation, task description, or repeated environmental outcome. 2. The agent interprets the attacker-inf ...[truncated 1457 chars]
Remediation
<![CDATA[ ## Remediation Suggestions 1. Separate learned observations from trusted Skill instructions. Store episode data only in a dedicated data file that cannot be interpreted as executable instructions. 2. Treat every memory entry as untrusted input when it is read back. Do not follow commands, policies, or procedural instructions contained in memory records. 3. Define a strict storage schema with bounded field lengths and explicit data types. Sanitize free-form fields such as scene names, key decisions, and lessons before persistence. 4. Record provenance for each entry, including the source episode, timestamp, environment identifier, confidence score, and whether the information was externally supplied or model-generated. 5. Remove automatic Skill self-modification. Require explicit, informed user approval and a reviewable patch before changing an existing Skill or creating a new one. 6. Apply version control, integrity checks, change logs, and rollback support to every approved Skill update. 7. Require corroboration across trusted episodes before promoting an observation into a reusable heuristic. Repetition alone must not establish trust. 8. Restrict filesystem permissions so the navigation workflow can append structured episode records but cannot directly overwrite trusted Skill files. 9. Validate proposed heuristics in an isolated test environment before deployment and reject changes that weaken safety constraints or introduce unrelated behavior. ]]>
Vulnerability Patterns
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • 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
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (5)

Context-Inappropriate Capability

High
Confidence
97% confidence
Finding
The skill instructs the agent to update its own skill file or create new skills after accumulating experience. Self-modification is dangerous because it enables uncontrolled capability drift, bypasses review, and can turn benign behavioral memory into executable or instruction-level persistence that affects future runs.

Natural-Language Policy Violations

Medium
Confidence
95% confidence
Finding
The skill title and operational instructions are presented in Chinese and direct the agent to execute the framework in that language/context, without indicating that the user may choose another language. This creates a language/locale policy concern because it imposes a specific language absent user opt-in or justification.

Description-Behavior Mismatch

Medium
Confidence
95% confidence
Finding
The skill is presented as a navigation reasoning framework, but it also instructs persistent memory writes and later self-updates/new skill creation. That extends its behavior from transient planning into stateful data retention and code/skill evolution, which increases attack surface and breaks least-privilege expectations for a reasoning-only skill.

Context-Inappropriate Capability

Medium
Confidence
93% confidence
Finding
The skill directs writes to long-term memory files under ~/.openclaw/workspace/memory even though its stated purpose is navigation reasoning. Unnecessary persistence can store sensitive environment traces, user behavior, or derived strategy data without clear need, retention controls, or consent.

Missing User Warnings

Medium
Confidence
92% confidence
Finding
The skill describes persistent memory writes for navigation episodes but gives no user warning that data will be stored across sessions. Lack of transparency and consent can lead to privacy issues, unexpected retention of operational data, and misuse of historical logs beyond the immediate task.

Static analysis

No suspicious patterns detected.