Back to skill

Security audit

OpenClaw Ops Guardrails

Security checks for vulnerabilities and agentic risk

Overview

This OpenClaw troubleshooting skill is mostly coherent, but one playbook tells users to disable execution approvals with full access without clear rollback or limits.

Review this skill before installing if your OpenClaw nodes can run commands on real systems. Keep approval checks enabled by default, require explicit operator approval for any temporary exception, limit it to the exact node and command, and restore the previous approval policy immediately after testing.

Vulnerability Patterns
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
  • 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
Findings (1)

T05 · Unauthorized Access and Privilege Escalation

Error
Location
references/failure-playbook.md:13
Finding

Execution Approval Controls Can Be Disabled Without Adequate Safeguards

Content
View full analysis

Vulnerability Details

File Location: references/failure-playbook.md, lines 13-17
Vulnerability Type: T05: Unauthorized Access and Privilege Escalation
Risk Level: High

Vulnerable Code Snippet

markdown
### 处理
1. 查看目标审批配置:
   - `openclaw approvals get --node <id|name>`
2. 需要无审批放行时,设置:
   - `security=full, ask=off, askFallback=full`
3. 复测最小命令:

Technical Analysis

The failure playbook recommends setting the target node to full execution access while disabling interactive approval. This removes a security boundary intended to require operator confirmation before remote command execution.

The instructions do not require explicit operator authorization, restrict the exception to a particular command, set an automatic expiration time, record the previous policy, or restore the original approval configuration after testing. The subsequent recommendation to run a minimal test command does not constrain other commands that could be executed while the permissive policy remains active.

Although this instruction is presented as remediation for an approval timeout, disabling approval and enabling full access grants broader authority than is necessary to diagnose the underlying issue.

Attack Path

  1. An attacker, compromised agent session, or erroneous workflow causes or encounters an approval timed out error.
  2. An operator or agent follows the documented playbook.
  3. The target node is configured with security=full, ask=off, and askFallback=full.
  4. Interactive confirmation is no longer required for commands sent through the node execution channel.
  5. The attacker or compromised session submits commands beyond the intended diagnostic test.
  6. Because the playbook contains no mandatory rollback step, the permissive configuration may remain active and enable unauthorized commands in later sessions.

Impact Assessment

Successful exploitation can allow unapproved command execution on the affected node with the permissions ...[truncated 481 chars]

Remediation
View remediation

Remediation Suggestions

  1. Keep interactive approval enabled by default and first diagnose why no approval endpoint is available.
  2. Require explicit operator authorization before changing any execution approval policy.
  3. Prefer granting approval for one specific command rather than enabling unrestricted execution.
  4. Scope any temporary exception to the exact node, operator identity, command, and troubleshooting session.
  5. Add a short automatic expiration period to temporary approval-policy exceptions.
  6. Capture the current approval configuration before making changes.
  7. Restore and verify the original configuration immediately after the diagnostic command completes, including on error or timeout.
  8. Log the approving operator, target node ID, reason, policy change, permitted command, start time, expiration time, and rollback result.
  9. Avoid using security=full unless no narrower permission level can satisfy the documented diagnostic task.
  10. Update the playbook with a mandatory rollback and verification sequence, for example:
markdown
1. Record the current approval policy for the target node.
2. Obtain explicit operator authorization for a narrowly scoped, time-limited exception.
3. Permit only the required diagnostic command.
4. Run the diagnostic command serially.
5. Restore the recorded policy immediately.
6. Verify that interactive approval is enabled again.
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 (2)

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill description includes very broad, everyday trigger phrases such as “又报错了” and “如何标准化运维规则,” which can cause the skill to activate in contexts far beyond its intended operational troubleshooting scope. Because this skill drives diagnostic and operational guidance around remote execution and infrastructure workflows, accidental invocation could lead to inappropriate operational advice, unnecessary audits, or unsafe troubleshooting steps being surfaced in unrelated conversations.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
95% confidence
Finding

This markdown file presents all instructions in Chinese, which can amount to a language policy violation if users are expected to consume the skill documentation without being offered a language or locale choice. The file does not indicate that the language is optional, user-selected, or justified as region-specific.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.