Back to skill

Security audit

Prompt Library Manager

Security checks for vulnerabilities and agentic risk

Overview

This is a local prompt-library helper with disclosed persistence and import/export features, but users should be careful with unrestricted file paths and immediate deletes.

Install only if you are comfortable with a local prompt library stored across sessions. Avoid pointing import, --from-file, export, or --workspace at sensitive or system paths, review exported prompt data before sharing it, and treat delete as immediate because there is no enforced confirmation or recovery mechanism.

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
Vulnerability Patterns
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • System Prompt LeakageDirect Leakage, Indirect Extraction, Tool-Based Exfiltration
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (11)

Direct Prompt Extraction

High
Category
System Prompt Leakage
Content
- `--format text|json|markdown` — Output format
- `--compact` — Show names only

### `use` — Fill and Output Prompt
Retrieve a prompt and fill in variable placeholders:
- `--var KEY=VALUE` — Set template variables (repeatable)
- `--copy` — Copy filled prompt to clipboard
Confidence
85% confidence
Finding
Skill contains instructions that could directly expose system prompts, internal rules, or hidden instructions to users or external parties.

Direct Prompt Extraction

High
Category
System Prompt Leakage
Content
- `--overwrite` — Replace existing prompts with same name

### `stats` — Library Statistics
Show prompt usage stats, category counts, and most-used templates.

## Storage
Confidence
85% confidence
Finding
Skill contains instructions that could directly expose system prompts, internal rules, or hidden instructions to users or external parties.

Direct Prompt Extraction

High
Category
System Prompt Leakage
Content
python3 prompt-library.py use "email-summarizer" --var input="text here"
    python3 prompt-library.py update --name "email-summarizer" --template "new template"
    python3 prompt-library.py delete --name "email-summarizer"
    python3 prompt-library.py export --format json [--output prompts.json]
    python3 prompt-library.py import --file prompts.json
    python3 prompt-library.py stats
Confidence
85% confidence
Finding
Skill contains instructions that could directly expose system prompts, internal rules, or hidden instructions to users or external parties.

Direct Prompt Extraction

High
Category
System Prompt Leakage
Content
sp["model"] = None
        save_library(lib_path, STARTER_PROMPTS)
        return STARTER_PROMPTS
    return prompts


# ═══════════════════════════════════════════════════════════════════════
Confidence
85% confidence
Finding
Skill contains instructions that could directly expose system prompts, internal rules, or hidden instructions to users or external parties.

Lp3

Medium
Category
MCP Least Privilege
Confidence
94% confidence
Finding
The skill clearly describes file-backed storage in `memory/prompt-library.json` and commands for import/export, add, update, and delete, which imply read/write file access without any declared tool scope or permission boundary. In an agent environment, undeclared file capabilities can cause the skill to be invoked with broader filesystem access than users expect, increasing the chance of unintended data exposure or modification.

Vague Triggers

Medium
Confidence
95% confidence
Finding
The trigger phrases are broad and overlap with many ordinary requests such as 'find a prompt for', 'manage prompts', and 'list my prompts', which can cause the skill to activate outside narrowly intended situations. Overbroad activation is risky here because the skill supports reading, exporting, deleting, and reusing stored prompt content, so accidental invocation could expose or alter prompt-library data.

Autonomous Decision Making

Medium
Category
Excessive Agency
Content
### `delete` — Remove Prompt
Delete a prompt from the library.
- `--name NAME` — Prompt to delete
- `--confirm` — Skip confirmation

### `export` — Export Library
Export all prompts for backup or sharing.
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.

Context-Inappropriate Capability

Medium
Confidence
93% confidence
Finding
The add command accepts --from-file and reads any path provided by the caller, then stores that file's contents in the prompt library. In an agent context, this can be abused to exfiltrate sensitive local files such as SSH keys, tokens, or configuration files into agent-visible storage or later export output.

Missing User Warnings

Medium
Confidence
96% confidence
Finding
The delete operation permanently removes prompts immediately, while the exposed --confirm flag is ignored and provides no real safeguard. In agent-driven usage, this increases the risk of accidental or induced destructive actions against stored prompt assets without any verification step.

Context-Inappropriate Capability

Medium
Confidence
91% confidence
Finding
The export command writes content to any filesystem path supplied via --output without constraining the destination. In a tool-enabled agent workflow, this could overwrite arbitrary user files, shell startup files, or other sensitive paths, causing data loss or creating a foothold for follow-on attacks.

Context-Inappropriate Capability

Medium
Confidence
88% confidence
Finding
The import command reads arbitrary local files specified by --file and parses them as JSON. Even though the parser expects JSON, this still gives an agent a primitive for probing and ingesting local file contents from unrestricted paths, which is unsafe in environments where the agent should not read arbitrary host files.

Static analysis

No suspicious patterns detected.