Back to skill

Security audit

Agent Collab Protocol

Security checks for vulnerabilities and agentic risk

Overview

The skill is a coherent multi-agent protocol package, but it needs Review because its generated agent instructions and scaffolding give broad control to task/user input and use unsafe filesystem workflows.

Install only if you are comfortable reviewing the generated OpenClaw configuration before use. Prefer a pinned installer version, run the scaffold only with trusted simple identifiers, avoid copying the unsafe rm -rf removal steps without validation and backups, and revise the generated prompts so user/task content cannot override platform policy, authorization boundaries, or agent red lines.

Vulnerability Patterns
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • 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
Findings (3)

T01 · Skill Instruction Hijacking

Error
Location
references/TEMPLATE_SOUL.md:7
Finding

Generated agents are instructed to override domain safeguards with untrusted task instructions

Content
View full analysis
` block with status completed|failed|partial - ❌ The agent must not refuse merely because information is insufficient—the task publisher has already determined that the information is sufficient ``` The original source expresses these directives in Chinese. `references/scaffold-domain.sh:107`: ```bash "systemPromptOverride": "你是${MANAGER_NAME}(${MID}),按AGENTS.md操作手册执行任务。用户指令优先级最高。", ``` This generated prompt states that user instructions have the highest priority. ### Technical Analysis The skill creates persistent agent instruction files and recommends a `systemPromptOverride` that gives upstream task content or user instructions unconditional precedence over domain-level rules. It also prevents agents from refusing, requesting clarification, or questioning whether the supplied information is adequate. The protocol accepts task goals and constraints as ordinary JSON fields. It does not require authentication of the task origin, validate allowed operations, restrict tool use, or state that platform system and security policies remain authoritative. Consequently, attacker-controlled task content can be elevated from data to governing instructions. The vulnerable priority rule applies to every agent generated from `TEMPLATE_SOUL.md`. The additional manager prompt generated by `scaffold-domain.sh` broadens the issue by d ...[truncated 1497 chars]
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Error
Location
references/scaffold-domain.sh:7
Finding

Unvalidated identifiers permit path traversal and unsafe template substitution

Content
View full analysis
\"speci1:角色1 speci2:角色2 ...\"" exit 1 fi ROOT="${HOME}/.openclaw/workspace/${DOMAIN}" TPL="${HOME}/.openclaw/protocol" MID="${DOMAIN}-manager" mkdir -p "${ROOT}/manager" # --- Template fill helper --- fill() { local file="$1" out="$2" shift 2 cp "$file" "$out" while [ $# -ge 2 ]; do sed -i "s|$1|$2|g" "$out" shift 2 done } ``` `references/scaffold-domain.sh:62-65`: ```bash for sd in "${SPECS[@]}"; do SID="${sd%%:*}"; SNAME="${sd##*:}" mkdir -p "${ROOT}/${SID}" echo "Specialist: ${SID} (${SNAME})" ``` ### Technical Analysis The script accepts `DOMAIN`, specialist identifiers, manager names, and specialist names directly from command-line arguments without validating their syntax. `DOMAIN` and `SID` are inserted into filesystem paths. Shell quoting prevents shell word splitting, but it does not neutralize path components such as `..`, absolute-path-like content, or symbolic-link redirection. A crafted identifier can therefore cause generated directories and files to resolve outside the intended `~/.openclaw/workspace` subtree. The `fill` function also embeds attacker-controlled replacement values directly into a `sed` expression. Characters meaningful to `sed`, including the `|` delimiter, `&`, backslashes, and newlines, are not escaped. Such values can corrupt the substitution program, inject additional `sed` syntax, or produce manipulated configuration and instruction files. Command-execution consequences are implementation- ...[truncated 1671 chars]
Remediation
View remediation

T08 · Insecure Dependencies

Warning
Location
SKILL.md:27
Finding

Installation instructions execute an unpinned package through npx

Content
View full analysis
Remediation
View remediation
install agent-collab-protocol@1.0.0 ``` 2. Document the expected registry and package publisher. 3. Publish and verify cryptographic integrity hashes or signed release artifacts. 4. Use a lockfile where installation occurs within a managed project. 5. Prefer downloading and inspecting a fixed artifact before executing it rather than combining retrieval and execution in one command. 6. Document package provenance and a process for reviewing updates before changing the pinned version. 7. In sensitive environments, run installation in a restricted container or account with no production credentials. ]]>
Vulnerability Patterns
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Tool MisuseTool Parameter Abuse, Chaining Abuse, Unsafe Defaults
  • Rogue AgentSelf-Modification, Session Persistence
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (16)

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

The skill is presented primarily as a framework-agnostic protocol and documentation package, but it also directs filesystem-copying and domain scaffolding actions under ~/.openclaw/. This mismatch can mislead users about the operational side effects, reducing informed consent and making it easier for more invasive behavior to be overlooked in a trusted-looking documentation skill.

Content

No source excerpt is available for this finding.

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
93% confidence
Finding

rm -rf workspace/{domain} is a high-risk destructive command pattern documented as a routine step, and the placeholder {domain} could be mis-expanded, empty, or manipulated to target unintended paths. In a protocol intended for reuse across agents and frameworks, such instructions may be automated or executed with elevated privileges, amplifying the blast radius of a mistake.

Content

Scanner excerpt · references/OPERATIONS.md (reported line 111)May include surrounding context.

  1. 从 openclaw.json agents.list 删除对应条目
  2. 从 defaults.subagents.allowAgents 删除
  3. 从 main.subagents.allowAgents 删除
  4. rm -rf workspace/{domain}
  5. rm -rf agents/{domain}
  6. 重启 Gateway
text

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
93% confidence
Finding

rm -rf agents/{domain} has the same unsafe pattern: a recursive forced delete using a variable path with no validation, quoting, confirmation, or safety checks. Because this skill is an operations manual for multi-agent infrastructure, operators may treat the instruction as authoritative, creating a realistic path to severe accidental deletion or abuse if incorporated into scripts.

Content

Scanner excerpt · references/OPERATIONS.md (reported line 112)May include surrounding context.

  1. 从 defaults.subagents.allowAgents 删除
  2. 从 main.subagents.allowAgents 删除
  3. rm -rf workspace/{domain}
  4. rm -rf agents/{domain}
  5. 重启 Gateway
text

Rp1

Medium
Category
MCP Rug Pull
Confidence
89% confidence
Finding

The skill instructs users to run npx clawhub without pinning an exact package version. That allows whatever version is current in the registry at execution time to run, increasing supply-chain risk if a malicious or compromised release is published or if behavior changes unexpectedly.

Content

No source excerpt is available for this finding.

Session Persistence

Medium
Category
Rogue Agent
Confidence
60% confidence
Finding

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.

Content

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

cp -r skill/agent-collab-protocol/references/ ~/.openclaw/protocol/

text

### Create a new business domain
```bash
cd ~/.openclaw/protocol
bash scaffold-domain.sh fintech 金融产品经理 "fintech-analyzer:金融分析师"

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
87% confidence
Finding

The entire protocol and required AGENTS.md template are written as mandatory Chinese-language content, including prescribed headings and response structure examples, but the document does not offer an alternative language option or state that the protocol is limited to a Chinese-only regional context. This creates a natural-language locale policy concern because it effectively forces a specific language without user opt-in.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The document instructs operators to run destructive deletion commands (rm -rf) as part of a normal removal workflow without any safeguards, confirmation steps, path validation, backup guidance, or rollback procedure. In an agent-collaboration skill, operational docs may be copied verbatim into automation or followed by less experienced operators, so unsafe deletion guidance can directly cause accidental data loss.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The template is written entirely in Chinese and prescribes Chinese section headings and instructions for all agents, indicating a fixed language requirement. There is no opt-in, alternative language option, or stated regional/compliance justification, which conflicts with the policy against forcing a specific language without user choice.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The file title and all instructional content are written in Chinese, presenting the template as a default operating document in a specific language. There is no statement offering a language choice, opt-in, or explaining that the skill is intended only for a Chinese-language or region-specific context.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The file is entirely written in Chinese and provides no indication that language is optional, selectable, or limited to a justified Chinese-specific deployment context. Under the policy, forcing a specific language without user opt-in is a natural-language policy violation.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

This shell script creates directories and copies template files into ~/.openclaw/workspace, which modifies the user's filesystem. Although it prints status messages after generation, there is no prior confirmation prompt or explicit warning near the destructive/write operations themselves, and the usage comments do not disclose that it will create files in the home directory.

Content

No source excerpt is available for this finding.

Session Persistence

Medium
Category
Rogue Agent
Confidence
60% confidence
Finding

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.

Content

Scanner excerpt · references/scaffold-domain.sh (reported line 61)May include surrounding context.

sh
SPEC_JSON=""
for sd in "${SPECS[@]}"; do
    SID="${sd%%:*}"; SNAME="${sd##*:}"
    mkdir -p "${ROOT}/${SID}"
    echo "Specialist: ${SID} (${SNAME})"

    fill "${TPL}/TEMPLATE_IDENTITY.md" "${ROOT}/${SID}/IDENTITY.md" \

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
88% confidence
Finding

This is a natural-language policy concern because the document forces a specific language for operational use through mandatory wording, but does not indicate that Chinese is optional or required for a region-specific workflow. Users or operators who do not read Chinese may be unable to safely follow the checklist.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
81% confidence
Finding

The entire operational manual is presented in Chinese, which effectively imposes a specific language on readers without any visible opt-in, alternative language option, or justification for a locale-specific audience. This matches the policy category for language or locale constraints expressed in natural language.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
95% confidence
Finding

This template is entirely written in Chinese, including headings, field labels, and authoring instructions, which implies a fixed language requirement for downstream skill content. The file does not offer an alternative language, opt-in choice, or justification that the template is intended only for a Chinese-language or region-specific environment.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
96% confidence
Finding

User-facing comments, usage text, progress output, and generated prompt strings are all written in Chinese, which enforces a specific language/locale by default. The file provides no opt-in, fallback, or documented justification for restricting interaction language.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.