Back to skill

Security audit

ClawGator Superpowers

Security checks for vulnerabilities and agentic risk

Overview

This skill is a useful development workflow, but it also installs broad session-start instructions that can steer the agent before the user explicitly asks for that workflow.

Install only if you want this workflow to actively steer agent behavior across development sessions. Review or disable the startup hook/context injection if available, avoid mutable remote installers, approve dependency/build commands before they run, and be careful with documented cleanup commands that delete local skill/plugin paths.

Vulnerability Patterns
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
Findings (4)

T01 · Skill Instruction Hijacking

Error
Location
hooks/session-start.sh:10
Finding

Automatic Session-Wide Agent Instruction Hijacking

Content
View full analysis
IN YOUR FIRST REPLY AFTER SEEING THIS MESSAGE YOU MUST TELL THE USER:⚠️ **WARNING:** Superpowers now uses Claude Code's skills system. Custom skills in ~/.config/superpowers/skills will not be read. Move custom skills to ~/.claude/skills instead. To make this message go away, remove ~/.config/superpowers/skills" fi # Read using-superpowers content using_superpowers_content=$(cat "${PLUGIN_ROOT}/skills/using-superpowers/SKILL.md" 2>&1 || echo "Error reading using-superpowers skill") # Escape string for JSON embedding using bash parameter substitution. # Each ${s//old/new} is a single C-level pass - orders of magnitude # faster than the character-by-character loop this replaces. escape_for_json() { local s="$1" s="${s//\\/\\\\}" s="${s//\"/\\\"}" s="${s//$'\n'/\\n}" s="${s//$'\r'/\\r}" s="${s//$'\t'/\\t}" printf '%s' "$s" } using_superpowers_escaped=$(escape_for_json "$using_superpowers_content") warning_escaped=$(escape_for_json "$warning_message") # Output context injection as JSON cat <\nYou have superpowers.\n\n**Below is ...[truncated 3421 chars]
Remediation
View remediation

T03 · Remote Payload Retrieval and Execution

Warning
Location
docs/README.codex.md:6
Finding

Mutable Remote Installation Instructions Are Retrieved and Followed

Content
View full analysis
Remediation
View remediation

T08 · Insecure Dependencies

Warning
Location
skills/using-git-worktrees/SKILL.md:98
Finding

Mandatory Worktree Setup Automatically Executes Project Dependencies and Build Scripts

Content
View full analysis
Remediation
View remediation

T08 · Insecure Dependencies

Warning
Location
README.md:187
Finding

Unpinned npx Marketplace Installer Can Execute a Mutable Package

Content
View full analysis
Remediation
View remediation
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Tool MisuseTool Parameter Abuse, Chaining Abuse, Unsafe Defaults
  • Rogue AgentSelf-Modification, Session Persistence
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
Findings (131)

Self-Modification

High
Category
Rogue Agent
Confidence
85% confidence
Finding

Skill modifies its own code, configuration, or behavior at runtime. Self-modification enables an agent to escalate privileges, disable safety constraints, or install persistent backdoors.

Content

Scanner excerpt · CONTRIBUTING.md (reported line 22)May include surrounding context.

md
- Test-driven development is core to this skill's philosophy

### Documentation
- Update SKILL.md if changing skill behavior
- Update README.md if adding new features
- Keep documentation bilingual (Indonesian + English)

Vague Triggers

High
Category
Not specified by scanner
Confidence
97% confidence
Finding

The trigger keywords are extremely broad (build, create, add, fix, debug, and Indonesian equivalents) and are common in normal conversation. In a skill system with automatic invocation, this can cause the skill to activate on unrelated user requests and steer the agent into unintended workflows or tool usage.

Content

No source excerpt is available for this finding.

Vague Triggers

High
Category
Not specified by scanner
Confidence
95% confidence
Finding

The usage examples state that ordinary natural-language requests will automatically activate the skill and begin a multi-step development workflow. This creates an unsafe ambient trigger model where routine requests may launch planning, git, debugging, or review behaviors without a clear opt-in boundary.

Content

No source excerpt is available for this finding.

Vague Triggers

High
Category
Not specified by scanner
Confidence
98% confidence
Finding

The policy 'If you think there is even a 1% chance a skill might apply, you ABSOLUTELY MUST invoke it' creates an effectively unbounded trigger condition. This strongly biases the agent toward over-invocation, increasing the chance of prompt hijacking, unnecessary tool use, and deviation from the user's actual intent.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

The declared description promises a broad software-development workflow skill for planning, TDD, debugging, code review, and git worktrees. The supplied code does not implement any of those functions. Instead, it is a session-start hook that gathers the contents of a specific SKILL.md file, checks for ~/.config/superpowers/skills, and outputs injected context instructing the assistant about Superpowers usage plus a migration warning. This is a materially different primary purpose and includes undeclared file-access and session initialization behavior. The lack of declared triggers also conflicts with the code explicitly being a SessionStart hook.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

The declared description presents a high-level software development workflow/framework for human or agent use during project work (brainstorming, planning, TDD, debugging, code review, git worktrees). The supplied code does not implement that workflow. Instead, it provides infrastructure utilities for discovering and loading skill definitions from the filesystem and checking for repository updates with git. These are materially different purposes. The code also executes a shell command (git fetch origin && git status ...) and accesses filesystem resources, neither of which is reflected in the declared description or permissions. Therefore the description does not accurately represent the actual behavior.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

The declared description presents a broad end-to-end development workflow/framework for a team, including multiple high-level engineering activities and automatic triggering behavior. The supplied code, however, only provides three helper functions for condition-based waiting on thread events with timeouts. While this could loosely relate to debugging/test reliability, it does not substantiate the claimed broader framework capabilities, nor does it implement any trigger logic. The primary purpose is materially different and much narrower than declared.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The declared description describes a software-development process/framework skill for planning, TDD, debugging, code review, and git worktrees. The supplied code does none of those things. Its actual purpose is narrowly focused on parsing markdown for Graphviz dot blocks and rendering them to SVG files using the Graphviz CLI. This is a materially different primary purpose and includes undeclared capabilities such as file I/O and external command execution for diagram rendering. Therefore the description does not accurately represent the code.

Content

No source excerpt is available for this finding.

Vague Triggers

High
Category
Not specified by scanner
Confidence
95% confidence
Finding

The rule 'If you think there is even a 1% chance a skill might apply, you ABSOLUTELY MUST invoke it' is excessively broad and coercive. This encourages recursive or unnecessary skill invocation, can crowd out higher-priority system/user instructions, and may lead to denial-of-service-like agent behavior where the workflow self-expands instead of staying task-bounded.

Content

No source excerpt is available for this finding.

Vague Triggers

High
Category
Not specified by scanner
Confidence
97% confidence
Finding

The skill advertises automatic triggers on extremely common development words like 'build', 'create', 'implement', 'fix', and 'add'. In an agent environment, this can cause the skill to activate for a large fraction of normal requests, giving it disproportionate influence over session behavior and increasing the risk of prompt-level overreach or unintended workflow hijacking.

Content

No source excerpt is available for this finding.

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
85% 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 · docs/README.codex.md (reported line 95)May include surrounding context.

Uninstalling

bash
rm ~/.agents/skills/superpowers

Windows (PowerShell):

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 · docs/README.codex.md (reported line 103)May include surrounding context.

Remove-Item "$env:USERPROFILE.agents\skills\superpowers"

text

Optionally delete the clone: `rm -rf ~/.codex/superpowers` (Windows: `Remove-Item -Recurse -Force "$env:USERPROFILE\.codex\superpowers"`).

## Troubleshooting

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
85% 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 · docs/README.codex.md (reported line 103)May include surrounding context.

Remove-Item "$env:USERPROFILE.agents\skills\superpowers"

text

Optionally delete the clone: `rm -rf ~/.codex/superpowers` (Windows: `Remove-Item -Recurse -Force "$env:USERPROFILE\.codex\superpowers"`).

## Troubleshooting

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 · docs/README.codex.md (reported line 103)May include surrounding context.

Remove-Item "$env:USERPROFILE.agents\skills\superpowers"

text

Optionally delete the clone: `rm -rf ~/.codex/superpowers` (Windows: `Remove-Item -Recurse -Force "$env:USERPROFILE\.codex\superpowers"`).

## Troubleshooting

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
93% confidence
Finding

rm -f ~/.config/opencode/plugins/superpowers.js is less severe than recursive deletion but still unconditionally deletes a file in the user's config. If that file has been customized or repurposed, the command can silently destroy prior configuration.

Content

Scanner excerpt · docs/README.opencode.md (reported line 34)May include surrounding context.

md
mkdir -p ~/.config/opencode/plugins ~/.config/opencode/skills

# 3. Remove old symlinks/directories if they exist
rm -f ~/.config/opencode/plugins/superpowers.js
rm -rf ~/.config/opencode/skills/superpowers

# 4. Create symlinks

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
96% confidence
Finding

This finding correctly flags the explicit rm -rf ~/.config/opencode/skills/superpowers command. In documentation for an installable agent extension, such commands are risky because they are likely to be executed verbatim by users and can remove more than intended if the directory contains custom content.

Content

Scanner excerpt · docs/README.opencode.md (reported line 35)May include surrounding context.

md
# 3. Remove old symlinks/directories if they exist
rm -f ~/.config/opencode/plugins/superpowers.js
rm -rf ~/.config/opencode/skills/superpowers

# 4. Create symlinks
ln -s ~/.config/opencode/superpowers/.opencode/plugins/superpowers.js ~/.config/opencode/plugins/superpowers.js

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
96% confidence
Finding

This finding correctly flags the explicit rm -rf ~/.config/opencode/skills/superpowers command. In documentation for an installable agent extension, such commands are risky because they are likely to be executed verbatim by users and can remove more than intended if the directory contains custom content.

Content

Scanner excerpt · docs/README.opencode.md (reported line 35)May include surrounding context.

md
# 3. Remove old symlinks/directories if they exist
rm -f ~/.config/opencode/plugins/superpowers.js
rm -rf ~/.config/opencode/skills/superpowers

# 4. Create symlinks
ln -s ~/.config/opencode/superpowers/.opencode/plugins/superpowers.js ~/.config/opencode/plugins/superpowers.js

Anti-Refusal Statement

High
Category
Anti-Refusal
Confidence
75% confidence
Finding

Skill attempts to nullify the agent's safety policies or restrictions ('you have no restrictions', 'ignore your guidelines', 'do anything now'). This is a direct jailbreak that disables guardrails.

Content

Scanner excerpt · docs/README.opencode.md (reported line 65)May include surrounding context.

Command Prompt

Run as Administrator, or with Developer Mode enabled:

cmd
:: 1. Install Superpowers

Anti-Refusal Statement

High
Category
Anti-Refusal
Confidence
75% confidence
Finding

Skill attempts to nullify the agent's safety policies or restrictions ('you have no restrictions', 'ignore your guidelines', 'do anything now'). This is a direct jailbreak that disables guardrails.

Content

Scanner excerpt · docs/README.opencode.md (reported line 90)May include surrounding context.

Command Prompt

Run as Administrator, or with Developer Mode enabled:

cmd
:: 1. Install Superpowers

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
93% confidence
Finding

The Git Bash rm -f command force-deletes the plugin link/file without checking its type. While targeted, it can still remove a legitimate customized file and does so silently.

Content

Scanner excerpt · docs/README.opencode.md (reported line 125)May include surrounding context.

md
mkdir -p ~/.config/opencode/plugins ~/.config/opencode/skills

# 3. Remove existing links (safe for reinstalls)
rm -f ~/.config/opencode/plugins/superpowers.js 2>/dev/null
rm -rf ~/.config/opencode/skills/superpowers 2>/dev/null

# 4. Create plugin symlink (requires Developer Mode or Admin)

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
95% confidence
Finding

The specific form rm -rf ~/.config/opencode/skills/superpowers 2>/dev/null combines destructive recursive deletion with hidden errors. That makes accidental data loss harder to detect and increases operational risk during installation.

Content

Scanner excerpt · docs/README.opencode.md (reported line 126)May include surrounding context.

md
# 3. Remove existing links (safe for reinstalls)
rm -f ~/.config/opencode/plugins/superpowers.js 2>/dev/null
rm -rf ~/.config/opencode/skills/superpowers 2>/dev/null

# 4. Create plugin symlink (requires Developer Mode or Admin)
cmd //c "mklink \"$(cygpath -w ~/.config/opencode/plugins/superpowers.js)\" \"$(cygpath -w ~/.config/opencode/superpowers/.opencode/plugins/superpowers.js)\""

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
95% confidence
Finding

The specific form rm -rf ~/.config/opencode/skills/superpowers 2>/dev/null combines destructive recursive deletion with hidden errors. That makes accidental data loss harder to detect and increases operational risk during installation.

Content

Scanner excerpt · docs/README.opencode.md (reported line 126)May include surrounding context.

md
# 3. Remove existing links (safe for reinstalls)
rm -f ~/.config/opencode/plugins/superpowers.js 2>/dev/null
rm -rf ~/.config/opencode/skills/superpowers 2>/dev/null

# 4. Create plugin symlink (requires Developer Mode or Admin)
cmd //c "mklink \"$(cygpath -w ~/.config/opencode/plugins/superpowers.js)\" \"$(cygpath -w ~/.config/opencode/superpowers/.opencode/plugins/superpowers.js)\""

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
95% confidence
Finding

The specific form rm -rf ~/.config/opencode/skills/superpowers 2>/dev/null combines destructive recursive deletion with hidden errors. That makes accidental data loss harder to detect and increases operational risk during installation.

Content

Scanner excerpt · docs/README.opencode.md (reported line 126)May include surrounding context.

md
# 3. Remove existing links (safe for reinstalls)
rm -f ~/.config/opencode/plugins/superpowers.js 2>/dev/null
rm -rf ~/.config/opencode/skills/superpowers 2>/dev/null

# 4. Create plugin symlink (requires Developer Mode or Admin)
cmd //c "mklink \"$(cygpath -w ~/.config/opencode/plugins/superpowers.js)\" \"$(cygpath -w ~/.config/opencode/superpowers/.opencode/plugins/superpowers.js)\""

Instruction Override

High
Category
Prompt Injection
Confidence
70% confidence
Finding

This pattern attempts to override system instructions or ignore safety constraints. Without LLM analysis, manual review is recommended.

Content

Scanner excerpt · docs/README.opencode.md (reported line 160)May include surrounding context.

md
#### Troubleshooting Windows

**"You do not have sufficient privilege" error:**
- Enable Developer Mode in Windows Settings, OR
- Right-click your terminal → "Run as Administrator"

**"Cannot create a file when that file already exists":**

Privileged Container / Container Escape

High
Category
Privilege Escalation
Confidence
80% confidence
Finding

Potential security issue detected. Manual review is recommended.

Content

Scanner excerpt · docs/plans/2025-11-28-skills-improvements-from-user-feedback.md (reported line 84)May include surrounding context.

md
**Your task:** Add `TestE2E_FeaturePrivilegedMode` to `pkg/runner/e2e_test.go`

**What to test:** A local devcontainer feature that requests `"privileged": true`
in its metadata should result in the container running with `--privileged` flag.

**Follow the exact pattern of TestE2E_FeatureOptionValidation** (at the end of the file)

Static analysis

Detected: suspicious.dangerous_exec

Shell command execution detected (child_process).

Critical
Code
suspicious.dangerous_exec
Location
lib/skills-core.js:151

Shell command execution detected (child_process).

Critical
Code
suspicious.dangerous_exec
Location
skills/writing-skills/render-graphs.js:25