Back to skill

Security audit

Safe Skill Evolver

Security checks for vulnerabilities and agentic risk

Overview

The skill is not malicious, but it tells agents to read very broadly and may record session or log details, so users should review its scope before installing.

Install only if you are comfortable with the agent inspecting skill directories and possibly related logs. Before using it, constrain audits to a named skill folder, do not allow it to read session history, credentials, .env files, private keys, or unrelated projects without separate approval, and review any LEARNINGS.md or session-note content for sensitive details before approving writes.

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

Warning
Location
SKILL.md:26
Finding

Overbroad Access to and Persistent Retention of Session Data

Content
View full analysis

Vulnerability Details

File Location: SKILL.md:26, SKILL.md:125-129, SKILL.md:163-171, SKILL.md:244-249, templates/evolver_task.md:21-27, templates/evolver_task.md:82-86, README.md:62-69
Vulnerability Type: Overbroad file access and sensitive-context retention
Risk Level: Medium

Vulnerable Code Snippets

SKILL.md:26:

markdown
- Skills can read anything; they can only write what the user explicitly approves.

SKILL.md:125-129:

markdown
1. **Analyze Current State**
   - Read the existing `SKILL.md`
   - Check for: completeness, clarity, safety gaps, outdated info
   - If error reports exist, read `ERRORS.md` or session logs
   - Identify what's working and what's not

SKILL.md:163-171:

markdown
**Steps:**

1. Read the complete skill directory
2. Check against quality checklist (see below)
3. Output structured report with:
   - ✅ Strengths
   - ⚠️ Gaps / Risks
   - 💡 Improvement suggestions
4. **Do NOT modify anything** — this is read-only

SKILL.md:244-249:

markdown
### ALWAYS
- Present a clear diff before applying changes
- Explain WHY each change is suggested
- Backup the old version before overwriting
- Respect user rejection — if they say "nein", stop immediately
- Log what was changed in `LEARNINGS.md` or session notes

templates/evolver_task.md:21-27:

markdown
**What happened:**
[Describe the event that triggered this improvement opportunity]

**Context:**
- Session: [session ID or date]
- User: [if applicable]
- Related logs: [file paths or snippets]

templates/evolver_task.md:82-86:

markdown
## Documentation

- [ ] Session notes updated
- [ ] LEARNINGS.md entry added (if broadly applicable)
- [ ] CHANGELOG updated (if versioned skill)

README.md:62-69:

markdown
### Audit a Skill (Read-Only)

> "Audit the [skill-name] skill"

Skill Evolver will
...[truncated 3518 chars]
Remediation
View remediation

Remediation Suggestions

  1. Replace unrestricted language such as “Skills can read anything” and “Read everything” with a least-privilege rule:

    • Read only the user-selected Skill directory.
    • Read only files required for the requested operation.
    • Do not follow paths or references outside that directory without separate approval.
  2. Introduce an explicit scope-confirmation step before analysis:

    • Display the exact directory and file list to be inspected.
    • Require additional informed consent before reading session logs, chat history, agent memory, home-directory files, environment files, or unrelated projects.
    • Treat approval to audit a Skill as approval only for that Skill's files.
  3. Define default exclusions:

    • Secret and credential files, including .env, private keys, tokens, password stores, cloud credentials, and authentication configuration.
    • Agent memory and session-history files.
    • Version-control metadata and unrelated workspace directories.
    • Symlink targets outside the approved directory.
  4. Add safe log-handling requirements:

    • Prefer minimal error excerpts over complete logs.
    • Redact access tokens, passwords, cookies, authorization headers, email addresses, user IDs, session IDs, and filesystem paths where they are not essential.
    • Never reproduce secrets in reports, diffs, prompts, or task records.
  5. Make persistent retention independently opt-in:

    • Do not automatically recommend writing session-derived data to LEARNINGS.md or session notes.
    • Preview the exact content and destination before writing.
    • Explain that the record may be consumed by future sessions.
    • Store generalized lessons rather than raw logs, user identities, or conversation excerpts.
  6. Update the Evolver task template:

    • Remove the default User field or mark it as prohibited unless strictly necessary.
    • Replace raw “file paths or snippets” with sanitized ref ...[truncated 331 chars]
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Rogue AgentSelf-Modification, Session Persistence
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
Findings (19)

Self-Modification

High
Category
Rogue Agent
Confidence
85% confidence
Finding

The skill is explicitly designed to create, update, and refactor other skills, which is a form of self-modification or adjacent agent-instruction modification. Although it requires diff presentation and user confirmation, modifying SKILL.md files can alter future agent behavior, potentially introducing unsafe instructions, persistence, or privilege expansion if review is weak or the user approves malicious changes unknowingly.

Content

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

md
- **Suggest:** Generate proposed changes as a clear diff or structured preview.
- **Review:** Explain *why* each change is recommended (rationale).
- **Confirm:** Wait for explicit user approval ("ja", "ok", "apply", "bestätigen").
- **Apply:** Only then write files, create directories, or modify skills.

---

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
| `SKILL.md` | ✅ Yes | Core definition: triggers, workflow, safety rules, examples |

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
| `SKILL.md` | ✅ Yes | Core definition: triggers, workflow, safety rules, examples |

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
| `SKILL.md` | ✅ Yes | Core definition: triggers, workflow, safety rules, examples |

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
| `SKILL.md` | ✅ Yes | Core definition: triggers, workflow, safety rules, examples |

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
| `SKILL.md` | ✅ Yes | Core definition: triggers, workflow, safety rules, examples |

Anti-Refusal Statement

High
Category
Anti-Refusal
Confidence
90% 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 · SKILL.md (reported line 242)May include surrounding context.

md
- Execute shell commands from skill logic without approval
- Auto-publish skills to ClawHub without review
- Delete existing skills without backup
- Ignore safety warnings during audit

### ALWAYS
- Present a clear diff before applying changes

Autonomous Decision Making

Medium
Category
Excessive Agency
Confidence
75% confidence
Finding

Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.

Content

Scanner excerpt · README.md (reported line 25)May include surrounding context.

md
- ❌ No automatic writes
- ❌ No silent changes
- ❌ No command execution without approval
- ✅ Always shows diff first
- ✅ Always explains why
- ✅ Always waits for confirmation

Autonomous Decision Making

Medium
Category
Excessive Agency
Confidence
75% confidence
Finding

Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.

Content

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

md
- ❌ No automatic writes
- ❌ No silent changes
- ❌ No command execution without approval
- ✅ Always shows diff first
- ✅ Always explains why
- ✅ Always waits for confirmation

Autonomous Decision Making

Medium
Category
Excessive Agency
Confidence
75% confidence
Finding

Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.

Content

Scanner excerpt · README.md (reported line 92)May include surrounding context.

md
See `SKILL.md` → "Safety & Boundaries" for complete rules.

Short version: **We don't touch your files without asking.**

## License

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The confirmation step hard-codes accepted phrases as "ja", "ok", "apply", and "bestätigen", which imposes a specific locale expectation in the skill's natural-language behavior. The file does not state that language is user-selectable or that equivalent confirmations in the user's preferred language are accepted.

Content

No source excerpt is available for this finding.

Autonomous Decision Making

Medium
Category
Excessive Agency
Confidence
85% confidence
Finding

Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.

Content

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

md
- [ ] All referenced scripts/templates exist

### Safety
- [ ] Explicit "never auto-execute" rule present
- [ ] External actions (write, exec) require confirmation
- [ ] No hardcoded secrets or credentials
- [ ] Boundary conditions documented (what NOT to do)

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The safety analysis treats German terms such as "bestätigung", "grenzen", and "einschränkung" as built-in indicators alongside English terms. This imposes a specific language/locale assumption in the skill logic, but the file does not offer a user language choice or document that the tool is intentionally limited to German/English content.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The template leaves the 'When to Use' section as unconstrained placeholders, so downstream skill authors may publish skills without clear activation boundaries. In agent settings, vague trigger criteria can cause overbroad invocation, increasing the chance that a skill is used in unsafe or unintended contexts without adequate user intent verification.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The template’s activation criteria are overly generic and lack concrete scope limits, exclusions, or trust boundaries. In a tool-execution skill, this can cause over-broad invocation for ambiguous requests and increase the chance that external tools or scripts are used in unintended contexts, which raises the risk of unsafe command construction or execution.

Content

No source excerpt is available for this finding.

Autonomous Decision Making

Medium
Category
Excessive Agency
Confidence
75% confidence
Finding

Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.

Content

Scanner excerpt · templates/tool_skill.md (reported line 64)May include surrounding context.

md
### NEVER
- Execute commands with sudo/admin privileges without explicit warning
- Delete files as part of "cleanup" without confirmation
- Pipe untrusted input directly into commands
- Run network operations without user awareness

Autonomous Decision Making

Medium
Category
Excessive Agency
Confidence
85% confidence
Finding

Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.

Content

Scanner excerpt · templates/workflow_skill.md (reported line 110)May include surrounding context.

md
## Safety & Boundaries

### NEVER
- Skip confirmation gates on destructive actions
- Assume user intent when conditions are ambiguous
- Execute irreversible operations in fallback branches without extra confirmation

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The template includes hard-coded German user-facing prompts without any language selection, localization guidance, or documented German-only scope. This can cause users to misunderstand safety-critical recovery or confirmation messages, which is especially risky in a workflow skill that relies on explicit user confirmation before proceeding.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
97% confidence
Finding

The template's example confirmation string is fixed as 'Soll ich das ausführen?', which imposes a specific language in natural-language behavior. There is no indication that the skill should match the user's language or that German is an intentional, justified locale constraint.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.