Back to skill

Security audit

安全配置流程

Security checks for vulnerabilities and agentic risk

Overview

The skill is mostly a coherent OpenClaw configuration workflow, but it directs agents to write learned configuration details into persistent MEMORY.md without clear approval, redaction, or scoping.

Review this skill before installing if you do not want an agent to persist OpenClaw configuration lessons into general memory. Use it only with explicit review of any MEMORY.md entry, and avoid saving raw tokens, auth values, session identifiers, endpoints, logs, or unredacted configuration diffs.

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:16
Finding
Unvalidated Persistent Agent Memory Modification<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md:16-19`, `SKILL.md:48`, `SKILL.md:190-194`; related test expectation at `TEST-GUIDE.md:153-154` **Vulnerability Type**: Persistent memory poisoning through unvalidated model-generated lessons **Risk Level**: Medium ### Vulnerable Instructions The following is an English rendering of the relevant directives: ```text SKILL.md:16-19 | Issue type | Handling method | Example | | Minor issue (spelling or formatting) | Learn and record automatically | | Important configuration | Notify the user and learn | | Repeated error | Notify, record, and summarize | ``` ```bash # SKILL.md:48 # Record the correct configuration values learned into MEMORY.md ``` ```text SKILL.md:190-194 The AI must: 1. Filter doctor output and extract important repair information. 2. Compare the backup and interpret the diff. 3. Report repaired fields, old values, and new values. 4. Record lessons in MEMORY.md. 5. Wait three seconds and verify Gateway status. ``` ```text TEST-GUIDE.md:153-154 Minor issue: repair automatically and record it in MEMORY.md without bothering the user. Important issue: notify the user, explain the impact, and record it in MEMORY.md. ``` ### Technical Analysis The Skill requires the agent to convert configuration changes, `openclaw doctor --fix` output, backup differences, and troubleshooting observations into persistent entries in `MEMORY.md`. For minor issues, the write is expected to occur without notifying or obtaining approval from the user. No controls are defined for: - The authorized location or ownership of `MEMORY.md`. - The structure and permitted content of memory entries. - Validation against an authoritative configuration schema. - Provenance and trust classification of diagnostic information. - Exclusion of raw log content or instruction-like text. - Review of the exact proposed memory change before persistence. - Removal, expiration, rollback, or correction of inaccurate entries. ...[truncated 2380 chars]
Remediation
<![CDATA[ ## Remediation Suggestions 1. Remove mandatory and silent writes to general-purpose `MEMORY.md` from the configuration workflow. 2. Require explicit user approval before every persistent memory update, including minor corrections. 3. Display the exact proposed entry, destination path, reason, and source evidence before writing it. 4. Store configuration knowledge in a dedicated, Skill-owned structured file rather than general agent memory. 5. Permit only documented configuration keys and schema-validated values in persistent records. 6. Treat configuration files, command output, diffs, and logs as untrusted data. Never persist raw output or instruction-like text from those sources. 7. Record provenance for every entry, including the documentation URL, OpenClaw version, timestamp, and validation result. 8. Reject memory entries derived only from logs or model inference unless independently verified against authoritative documentation. 9. Implement rollback, deletion, expiration, and correction procedures for stored knowledge. 10. Separate task-local notes from cross-session memory. Prefer temporary task-local state unless persistence is necessary. 11. Update the test guide to verify that no persistent memory write occurs without approval and that malicious diagnostic text cannot become a durable instruction. ]]>
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (5)

Vague Triggers

Medium
Confidence
91% confidence
Finding
This markdown file defines activation conditions using generic configuration-change phrases that could overlap with many ordinary requests beyond the intended OpenClaw workflow. Although line 14 narrows scope somewhat, the list does not clearly state exclusions or provide negative examples, so invocation boundaries remain ambiguous.

Missing User Warnings

Medium
Confidence
94% confidence
Finding
The skill explicitly instructs recording learned configuration values into MEMORY.md, which creates a risk of persistently storing secrets or sensitive operational details derived from authentication, model, session, or channel settings. Because the workflow covers auth-related configuration and encourages automatic learning/recording, sensitive data could be retained without user awareness or consent.

Natural-Language Policy Violations

Medium
Confidence
87% confidence
Finding
The title and the entire guide are written in Chinese, and there is no indication that other languages are supported or that the language choice is optional. Under the stated policy, forcing a specific language or locale without user opt-in is a natural-language policy concern.

Vague Triggers

Medium
Confidence
80% confidence
Finding
This manifest describes the skill's purpose and language but does not specify any concrete trigger phrases, invocation boundaries, or exclusion conditions. For manifest files, missing specificity about when the skill should activate can lead to unintended invocation in broader contexts.

Natural-Language Policy Violations

Medium
Confidence
95% confidence
Finding
The manifest sets the skill language to "zh-CN" without indicating that users can choose another language or that the locale restriction is optional. This can violate language/locale policy when a skill forces a specific language without user opt-in or documented justification.

Static analysis

No suspicious patterns detected.