Back to skill

Security audit

Skill Maker (ChenXi)

Security checks for vulnerabilities and agentic risk

Overview

This is a legitimate skill-building helper, but it gives the agent broad permission to search prior conversations/files/skills and persist new skill instructions without enough user confirmation.

Install only if you are comfortable with a skill that may look through prior conversations, current project files, existing drafts, and historical skills to create new persistent skill instructions. Use it with explicit topic, time, and source boundaries; review the generated SKILL.md before it is written or overwritten; and check that secrets, personal data, internal names, and unrelated project details were not carried into ~/.openclaw/skills.

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)

other

Warning
Location
reference/reference.md:5
Finding
Overbroad Retrieval of Conversation History and Existing Skills## Vulnerability Details **File Location**: `reference/reference.md:5-13`; corroborating instruction at `SKILL.md:73` **Vulnerability Type**: Unbounded sensitive context collection **Risk Level**: Medium ### Vulnerable Content English translation of the relevant Markdown instructions from `reference/reference.md:5-13`: ```markdown ## 1. Automatic Context Retrieval Strategy ### 1.1 Retrieval Priority 1. Recent conversations concerning the same topic, matched by keyword. 2. Files related to the current task and existing skill drafts. 3. Similar Trigger / Procedure / Example content from historical skills. ``` Corroborating instruction from `SKILL.md:73`: ```markdown 1. Extract the workflow from context, either manually supplied or automatically retrieved. ``` ### Technical Analysis The skill authorizes automatic retrieval from recent conversations, project files, existing drafts, and historical skills. It does not require explicit user approval before retrieval, define a strict source allowlist, impose a time or directory boundary, or require source review before the collected material is processed. The documented redaction step only applies while producing the resulting skill. It does not prevent the agent from initially accessing unrelated secrets, private conversations, confidential project material, or instructions embedded in historical skills. Retrieved skill text may also be treated as trusted context rather than untrusted data, allowing irrelevant or adversarial historical content to influence the generated artifact. ### Attack Path 1. A user invokes the skill and requests automatic context retrieval for a broad topic. 2. The agent searches recent conversations, current project files, existing drafts, and historical skills using keyword similarity. 3. The search collects material outside the minimum scope required for the task, potentially including private or confidential content. 4. A historical ...[truncated 1109 chars]
Remediation
## Remediation Suggestions 1. Default to context explicitly supplied in the current request rather than automatically searching historical sources. 2. Obtain explicit user approval before accessing conversation history, historical skills, or project files. 3. Require concrete retrieval boundaries, including an approved time range, source list, directory allowlist, and topic definition. 4. Exclude credentials, tokens, personal data, private conversations, and unrelated project files before content reaches the synthesis stage. 5. Treat all retrieved text as untrusted data. Do not execute or follow instructions found inside conversations, files, examples, or historical skills. 6. Present the proposed source list and extracted facts to the user for confirmation before generating or persisting a skill. 7. Apply data-minimization controls and retain only information necessary to describe the reusable workflow. 8. Run a final secret and sensitive-data scan before writing to `~/.openclaw/skills/`. 9. Require confirmation before overwriting an existing skill or persisting content derived from historical sources.
Vulnerability Patterns
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (7)

Ae1

High
Category
analysis-evasion
Content
3. **FORGE(锻造)**:生成 `SKILL.md` 与配套 `reference/scripts/assets`。
Confidence
100% confidence
Finding
Referenced artifact was not completely inspected

Ae1

High
Category
analysis-evasion
Content
3. **FORGE(锻造)**:生成 `SKILL.md` 与配套 `reference/scripts/assets`。
Confidence
100% confidence
Finding
Referenced artifact was not completely inspected

Natural-Language Policy Violations

Medium
Confidence
88% confidence
Finding
L003 的描述及全文主要以中文规定技能使用方式,但未说明这是可选语言,也未提供用户可选择其他语言的机制。对于通用型技能,这种默认强制特定语言的表述可能构成语言/locale 策略违规。

Vague Triggers

Medium
Confidence
95% confidence
Finding
L018 中的“创建skill”“新建技能”“沉淀工作流”“优化技能”等短语范围较宽,且文档未给出负例或明确限定触发边界。L106-L108 还鼓励命中类似“帮我做 X”“我想把 Y 自动化”的泛化表达,进一步增加了与普通对话重叠的风险。

Missing User Warnings

Medium
Confidence
95% confidence
Finding
The skill instructs writing generated files directly into a persistent user directory by default, and even labels that path as mandatory, without requiring confirmation, preview, or warning about side effects. In an agentic environment, automatic filesystem writes can overwrite existing content, create unreviewed artifacts, or persist sensitive material into a trusted location unexpectedly.

Skill Enumeration

Medium
Category
Agent Snooping
Content
### 示例:从对话沉淀 `meeting-notes-maker`

- 输入:最近 7 天会议相关对话 + 主题关键词 + 输出名称  
- 输出:`~/.openclaw/skills/meeting-notes-maker/SKILL.md`  
- 核心步骤:抽取目标 -> 合并上下文 -> 结构化流程 -> 去敏 -> 验收

## Tool Usage
Confidence
80% confidence
Finding
Skill enumerates or reads other installed skills. Access to other skills' SKILL.md files or the skills directory reveals prompt instructions, capabilities, and secrets that should be invisible to peer skills.

Natural-Language Policy Violations

Medium
Confidence
90% confidence
Finding
This markdown file presents all instructions and usage guidance only in Chinese, which can amount to a language policy violation when no user opt-in or alternative locale is provided. The policy allows locale constraints only when explicitly justified or when users are given a choice, neither of which appears here.

Static analysis

No suspicious patterns detected.