Back to skill

Security audit

Subagent Orchestrator (汪哈哈版)

Security checks for vulnerabilities and agentic risk

Overview

This skill is a multi-agent task orchestrator, but it requires broad authority, persistent task storage, and mandatory progress/final-result messaging to external channels.

Install only if you want a Chinese-language multi-agent orchestrator that can create persistent task files, spawn sessions, run commands, and send progress/final summaries back through the originating channel. Avoid using it for sensitive tasks unless you are comfortable with what may be stored under ~/.openclaw/workspace/tasks and sent through the configured channel; review or disable cron/message behavior where possible.

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)

T01 · Skill Instruction Hijacking

Error
Location
SKILL.md:552
Finding

Mandatory External Transmission of Task Results Overrides Normal Response Behavior

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 552–558
Vulnerability Type: T01: Skill Instruction Hijacking
Risk Level: High

Vulnerable Code

markdown
7. **推送最终结果(必须执行):**
   > ⚠️ 禁止只回聊天,必须同步推送到用户发起需求的渠道,不跨渠道推送。
   ```bash
   openclaw message send --channel [发起渠道ID] --target [用户ID] -m "[完成报告内容]"
text

The code means that sending the final result is mandatory, that the Agent must not respond only in the current chat, and that it must invoke `openclaw message send` with the completion report.

Related instructions reinforce the same behavior at `SKILL.md`, lines 563–568 and 601–609 by requiring subagent updates and ongoing progress reports to be forwarded through the originating channel.

### Technical Analysis

The Skill changes the Agent's output policy when loaded. Instead of allowing the host Agent or user to determine how results are delivered, it mandates an additional network transmission and explicitly prohibits chat-only delivery.

The transmitted completion report may include task summaries, artifact information, local file paths, operational state, and user-supplied content. The Skill does not require:

- Per-transmission user consent.
- Previewing the exact content and destination before sending.
- Validation that the channel and target still belong to the requesting user.
- Redaction of secrets, personal data, or sensitive paths.
- A sensitivity check before forwarding subagent messages.

Although the documented destination is the user's originating channel and cross-channel delivery is prohibited, that restriction does not eliminate the risk. A stale, incorrect, attacker-influenced, or broadly visible channel or target identifier could still result in unintended disclosure.

This exceeds minimum privilege for subagent orchestration. Task decomposition, checkpointing, and result aggregation do not inherently require an unconditional secondary delivery command.

### Attack Path

1. The Skill is activated for a mu
...[truncated 1216 chars]
Remediation
View remediation

Remediation Suggestions

  1. Remove the instruction that forbids chat-only responses.
  2. Make external delivery opt-in rather than mandatory.
  3. Require explicit user confirmation immediately before each external transmission.
  4. Display the resolved channel, target, and exact message content before requesting confirmation.
  5. Validate that the destination corresponds to the current requester and conversation.
  6. Apply least privilege by using the current response channel without invoking a separate messaging command unless necessary.
  7. Redact credentials, personal data, local paths, internal identifiers, and other sensitive values before transmission.
  8. Add a configurable allowlist of approved channels and targets.
  9. Treat progress updates and final delivery as separate consent decisions.
  10. If destination validation or consent fails, return the result only through the current conversation and do not execute the messaging command.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Rogue AgentSelf-Modification, Session Persistence
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
Findings (18)

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The listed trigger phrases are generic conversational terms such as task division, multi-agent collaboration, and context being full, which can appear in harmless discussion. Ambiguous phrase matching raises the risk that the skill will engage and begin persistent/task-executing behavior without a clear user intent 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 listed trigger phrases are generic conversational terms such as task division, multi-agent collaboration, and context being full, which can appear in harmless discussion. Ambiguous phrase matching raises the risk that the skill will engage and begin persistent/task-executing behavior without a clear user intent to invoke it.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
85% confidence
Finding

The skill requests cron capability even though scheduled task management is only tangentially related to subagent orchestration. Granting unnecessary scheduling permissions expands the attack surface by enabling persistence or deferred actions beyond the immediate user-requested workflow.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The skill’s declared purpose is task decomposition/orchestration, but it embeds automatic out-of-band progress pushes to WeChat and other user channels as a core behavior. That creates an undeclared data egress path: task details, progress, filenames, and possibly sensitive intermediate results may be transmitted externally without a narrowly scoped, explicit consent step per task.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill mandates automatic real-time WeChat or channel progress pushes but does not place a concise, front-loaded warning before external transmission occurs. In a workflow that stores task artifacts and may include sensitive content, automatic outbound updates can leak task metadata, intermediate outputs, or user context to external systems without informed consent.

Content

No source excerpt is available for this finding.

Session Persistence

Medium
Category
Rogue Agent
Confidence
84% confidence
Finding

The skill deliberately creates persistent task state under ~/.openclaw/workspace/tasks/[任务ID]/, including plan, checkpoints, queued messages, and data files. While persistence is part of the design, it can retain sensitive content longer than necessary and increases exposure if local storage is accessed by other processes, users, or later workflows.

Content

Scanner excerpt · SKILL.md (reported line 264)May include surrounding context.

  1. 判断串行/并行: 共享资源串行,独立资源并行
  2. 创建任务空间(执行此命令):
bash
mkdir -p ~/.openclaw/workspace/tasks/[任务ID]/workspace/[子任务目录按需创建]
touch ~/.openclaw/workspace/tasks/[任务ID]/_Plan.md
touch ~/.openclaw/workspace/tasks/[任务ID]/_Checkpoints.md
touch ~/.openclaw/workspace/tasks/[任务ID]/_MessageQueue.md

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The natural-language content in the description and trigger words is entirely Chinese, with no indication that other languages are supported or that Chinese is a documented requirement. This can violate a language/locale policy when a skill implicitly requires one language without user opt-in or justification.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The trigger words are broad, generic phrases such as '任务分工', '复杂任务执行', and 'context快满了', which can match many ordinary user requests unrelated to this specific skill. This can cause unintended activation of the orchestrator skill, expanding its control surface and potentially rerouting benign tasks into multi-agent workflows that expose more context, persistence, or side effects than necessary.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The entire skill document is written in Chinese and names output artifacts using Chinese labels such as '最终产出' and '综合攻略', with no indication that users may choose another language or that the skill is region-specific. This creates a natural-language locale constraint without explicit opt-in, which matches the policy-violation category for language or locale restrictions.

Content

No source excerpt is available for this finding.

Skill Enumeration

Medium
Category
Agent Snooping
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.

Content

Scanner excerpt · references/paths.md (reported line 23)May include surrounding context.

md
| Skill | 路径 | 触发时调用 |
|-------|------|-----------|
| xiaohongshu-crawler | `skills/xiaohongshu-crawler/SKILL.md` | 小红书攻略抓取 |
| wechat-article-spider | `skills/wechat-article-spider/SKILL.md` | 公众号文章爬取 |
| session-cleanup | `skills/session-cleanup/SKILL.md` | 每日 session 清理(辅助功能) |
| agent-browser-clawdbot | `skills/agent-browser-clawdbot/SKILL.md` | 浏览器自动化(需串行) |

Skill Enumeration

Medium
Category
Agent Snooping
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.

Content

Scanner excerpt · references/paths.md (reported line 24)May include surrounding context.

md
| Skill | 路径 | 触发时调用 |
|-------|------|-----------|
| xiaohongshu-crawler | `skills/xiaohongshu-crawler/SKILL.md` | 小红书攻略抓取 |
| wechat-article-spider | `skills/wechat-article-spider/SKILL.md` | 公众号文章爬取 |
| session-cleanup | `skills/session-cleanup/SKILL.md` | 每日 session 清理(辅助功能) |
| agent-browser-clawdbot | `skills/agent-browser-clawdbot/SKILL.md` | 浏览器自动化(需串行) |

Skill Enumeration

Medium
Category
Agent Snooping
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.

Content

Scanner excerpt · references/paths.md (reported line 25)May include surrounding context.

md
|-------|------|-----------|
| xiaohongshu-crawler | `skills/xiaohongshu-crawler/SKILL.md` | 小红书攻略抓取 |
| wechat-article-spider | `skills/wechat-article-spider/SKILL.md` | 公众号文章爬取 |
| session-cleanup | `skills/session-cleanup/SKILL.md` | 每日 session 清理(辅助功能) |
| agent-browser-clawdbot | `skills/agent-browser-clawdbot/SKILL.md` | 浏览器自动化(需串行) |

## 依赖脚本

Skill Enumeration

Medium
Category
Agent Snooping
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.

Content

Scanner excerpt · references/paths.md (reported line 26)May include surrounding context.

md
| xiaohongshu-crawler | `skills/xiaohongshu-crawler/SKILL.md` | 小红书攻略抓取 |
| wechat-article-spider | `skills/wechat-article-spider/SKILL.md` | 公众号文章爬取 |
| session-cleanup | `skills/session-cleanup/SKILL.md` | 每日 session 清理(辅助功能) |
| agent-browser-clawdbot | `skills/agent-browser-clawdbot/SKILL.md` | 浏览器自动化(需串行) |

## 依赖脚本

Session Persistence

Medium
Category
Rogue Agent
Confidence
84% confidence
Finding

This duplicated finding points to the same persistence behavior: automatically maintaining a shared workspace under ~/.openclaw/workspace/tasks/ for task files and state. In the context of a subagent orchestrator, that increases risk because multiple subagents may read or aggregate artifacts from a common location, which can amplify accidental data exposure or contamination across sessions.

Content

Scanner excerpt · references/paths.md (reported line 40)May include surrounding context.

bash
# 验证 tasks 目录存在
ls ~/.openclaw/workspace/tasks/ 2>/dev/null || mkdir -p ~/.openclaw/workspace/tasks/

# 验证依赖 skill 存在(按需)
ls ~/.openclaw/workspace/skills/[skill-name]/SKILL.md 2>/dev/null && echo "✅ [skill] 可用" || echo "⚠️ [skill] 未安装"

Session Persistence

Medium
Category
Rogue Agent
Confidence
84% confidence
Finding

This duplicated finding points to the same persistence behavior: automatically maintaining a shared workspace under ~/.openclaw/workspace/tasks/ for task files and state. In the context of a subagent orchestrator, that increases risk because multiple subagents may read or aggregate artifacts from a common location, which can amplify accidental data exposure or contamination across sessions.

Content

Scanner excerpt · references/paths.md (reported line 40)May include surrounding context.

bash
# 验证 tasks 目录存在
ls ~/.openclaw/workspace/tasks/ 2>/dev/null || mkdir -p ~/.openclaw/workspace/tasks/

# 验证依赖 skill 存在(按需)
ls ~/.openclaw/workspace/skills/[skill-name]/SKILL.md 2>/dev/null && echo "✅ [skill] 可用" || echo "⚠️ [skill] 未安装"

Context-Inappropriate Capability

Low
Category
Not specified by scanner
Confidence
81% confidence
Finding

The skill requests cron capability even though scheduled task management is only tangentially related to subagent orchestration. Granting unnecessary scheduling permissions expands the attack surface by enabling persistence or deferred actions beyond the immediate user-requested workflow.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
83% confidence
Finding

The skill instructs creation and modification of persistent files and directories in the user workspace, but it lacks a concise up-front warning summarizing those filesystem side effects. That can surprise users and lead to unintended storage of sensitive task data, checkpoints, and message queues on disk.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Low
Category
Not specified by scanner
Confidence
93% confidence
Finding

The stated purpose is subagent orchestration for complex tasks, with persistence and delivery management. The documentation additionally instructs creating a daily cron job for session cleanup, which is a distinct operational capability not justified by the manifest description.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.