Back to skill

Security audit

devil-advocate

Security checks for vulnerabilities and agentic risk

Overview

This is a disclosed thinking-style skill with no executable code or data access, though it can broadly change response style while installed.

Install this only if you want OpenClaw to apply a broad Devil's Advocate review style while the skill is present. Before uninstalling, verify the exact skill directory path because the provided removal command permanently deletes that directory.

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
CLAUDE.md:5
Finding

Auto-Injected Instructions Hijack Agent Reasoning and Response Behavior

Content
View full analysis

Vulnerability Details

File Location: CLAUDE.md:5-13, CLAUDE.md:57-65; automatic injection documented at README.md:54-61
Vulnerability Type: T01: Skill Instruction Hijacking
Risk Level: High

Vulnerable code snippets:

CLAUDE.md:5-13:

markdown
You are now using "Devil's Advocate" mode. Before responding to the user, you must complete the following internal thinking process:

1. **First draft an initial answer** - Take the pro side
2. **Then self-refute** - Take the con side, challenge your own answer
3. **Integrate and refine** - Synthesize pro and con perspectives, output the final answer

---

## 🔄 Internal Thinking Process (Must Execute)

CLAUDE.md:57-65:

markdown
## ✅ Manifestation in Output

Although the internal thinking process doesn't need to be shown to the user, the final answer should reflect traces of deep thinking:

1. **Acknowledge limitations** - Clearly state the scope and limitations of the solution
2. **Mention risks** - Proactively point out potential risks and caveats
3. **Provide alternatives** - Give multiple solutions or suggestions
4. **Require verification** - Suggest users to verify key assumptions
5. **Balance perspectives** - Avoid overly absolute statements

README.md:54-61:

markdown
### Usage

Automatically effective after installation, no additional configuration needed!

## 📁 Directory Structure

devil-advocate/ ├── SKILL.md # Skill definition ├── CLAUDE.md # Core instructions (auto-injected)

text

### Technical Analysis

The Skill is designed to improve answer quality through pro/con analysis, but it implements that functionality through automatically injected, mandatory instructions. Phrases such as “You are now using,” “must complete,” and “Must Execute” directly alter the agent's active reasoning workflow. The document also imposes requirements on every final response rather than limiting the b
...[truncated 2246 chars]
Remediation
View remediation

Remediation Suggestions

  1. Remove automatic injection of CLAUDE.md; require users to invoke the Devil's Advocate workflow explicitly for an individual request.
  2. Replace mandatory phrases such as “must complete” and “Must Execute” with non-binding guidance, such as “When explicitly requested, consider evaluating the proposal from supporting and opposing perspectives.”
  3. Scope the behavior to relevant analytical tasks instead of applying it to every response.
  4. Add an explicit precedence statement that the Skill cannot override system, developer, platform-safety, or user instructions.
  5. Do not require or imply disclosure or generation of hidden chain-of-thought. Request concise conclusions, assumptions, risks, and alternatives in the visible answer instead.
  6. Update README.md so it no longer claims that the behavior becomes automatically effective after installation.
  7. Provide an enable/disable control and clear invocation syntax so users can determine when the additional analysis is applied.
  8. Add tests confirming that unrelated requests, strict output formats, and higher-priority safety constraints remain unaffected when the Skill is installed.
Vulnerability Patterns
  • Tool MisuseTool Parameter Abuse, Chaining Abuse, Unsafe Defaults
  • 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
Findings (7)

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
90% confidence
Finding

Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).

Content

Scanner excerpt · INSTALL.md (reported line 52)May include surrounding context.

rmdir /S /Q %USERPROFILE%.openclaw\skills\devil-advocate

Linux/Mac

rm -rf ~/.openclaw/skills/devil-advocate

text

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
90% confidence
Finding

Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).

Content

Scanner excerpt · INSTALL.md (reported line 52)May include surrounding context.

rmdir /S /Q %USERPROFILE%.openclaw\skills\devil-advocate

Linux/Mac

rm -rf ~/.openclaw/skills/devil-advocate

text

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
85% confidence
Finding

The entire skill file mandates a specific response mode and all instructional content, examples, and output expectations are presented only in English, with no indication that the user may choose another language or locale. Under the policy, forcing a specific language without user opt-in is a natural-language policy violation unless the constraint is explicitly documented and justified.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The example responses throughout the file are written in English even though the surrounding document context suggests a different primary language, which indicates a language-output expectation without any user opt-in or documented locale justification. This matches the policy concern for forcing a specific language or locale without offering choice.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The uninstall section includes irreversible deletion commands without any warning to verify the target path or explain that the action permanently removes the skill directory. While the paths are relatively narrow and specific to the skill folder, destructive shell commands in installation docs can still cause accidental data loss if copied blindly or modified incorrectly.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The README states that the skill becomes automatically effective after installation with no additional configuration, implying broad always-on activation. For a skill that alters model behavior across arbitrary prompts, this can silently affect unrelated tasks, expand the skill's influence beyond user intent, and make prompt-scope or safety regressions harder to detect and control.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The phrase "Any scenario requiring deep thinking" is very broad and overlaps with many ordinary requests, without defining when this skill should or should not be invoked. Because the markdown does not provide narrower trigger constraints or negative examples, it could cause unintended activation in common conversations.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.