Back to skill

Security audit

Proactive Agent Plus

Security checks for vulnerabilities and agentic risk

Overview

This skill is a proactive-agent guide, but it asks the agent to persist broad conversation data and act autonomously with too little user control.

Install only if you want an agent that keeps persistent working memory and proactively suggests or performs follow-up work. Before using it, set explicit rules requiring approval for file changes, external communications, background jobs, and any storage of personal, confidential, credential, health, financial, or client data.

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 (2)

T01 · Skill Instruction Hijacking

Error
Location
SKILL.md:523
Finding
Skill text attempts to redefine the agent's identity and operational goals## Vulnerability Details **File Location**: `SKILL.md:523` **Vulnerability Type**: T01: Skill Instruction Hijacking **Risk Level**: High **Vulnerable code snippet**: ```markdown **🦞 You are now a Proactive Agent. Go delight your human.** ``` ### Technical Analysis The skill ends with a direct second-person instruction that declares a new agent identity and directs subsequent behavior. This is executable prompt text rather than documentation describing how a feature should be invoked. The instruction reinforces earlier directives such as `Non-negotiable. This is core identity.` at line 295. Collectively, these statements attempt to alter the agent's current goals when the skill is loaded. The broad objective to act proactively is not constrained to an explicit task, approved resources, or non-destructive actions. It can therefore encourage actions beyond the minimum privileges required to provide advice about proactive workflows. Although the file also contains security guidance, the final instruction does not explicitly preserve higher-priority policies, require user authorization, or prohibit autonomous side effects. Instructions embedded in skill content must not redefine agent identity or supersede system, developer, safety, or current user instructions. ### Attack Path 1. A user or automated skill manager installs or loads `SKILL.md`. 2. The agent interprets the Markdown as operational instructions. 3. Line 523 tells the agent that it now has a new identity and a generalized proactive objective. 4. The agent applies that objective outside the immediate user request. 5. In an environment with tools, the agent may initiate file changes, searches, communications, scheduled work, or other actions merely because it predicts that they could “delight” the user. 6. Because the objective lacks a strict authorization boundary, it can conflict with current-session goals and least-privilege expectations. ### Impact Assessm ...[truncated 564 chars]
Remediation
## Remediation Suggestions 1. Remove the identity-changing statement entirely. 2. Replace it with descriptive, non-executable documentation, for example: “This skill provides optional patterns for proactive assistance.” 3. State explicitly that system, developer, safety, and current user instructions always take precedence. 4. Require explicit user approval before any external communication, destructive operation, persistent modification, scheduled task, or action unrelated to the active request. 5. Constrain proactive behavior to recommendations by default; execution should require a separately confirmed request. 6. Remove identity-pressure language such as “core identity” and “non-negotiable.” 7. Add a capability boundary listing which tools and files the skill needs. Deny access to all other resources by default. 8. Treat all skill Markdown as untrusted configuration and validate it for second-person commands, policy overrides, and attempts to redefine agent identity before loading.

T02 · Agent Memory Poisoning

Error
Location
SKILL.md:153
Finding
Mandatory broad conversation logging enables persistent memory poisoning and sensitive-data retention## Vulnerability Details **File Location**: `SKILL.md:153-210` **Vulnerability Type**: T02: Agent Memory Poisoning **Risk Level**: High **Vulnerable code snippet**: ```markdown ### The Protocol **If ANY of these appear:** 1. **STOP** — Do not start composing your response 2. **WRITE** — Update SESSION-STATE.md with the detail 3. **THEN** — Respond to your human **The urge to respond is the enemy.** The detail feels so clear in context that writing it down seems unnecessary. But context will vanish. Write first. **Example:** ``` Human says: "Use the blue theme, not red" WRONG: "Got it, blue!" (seems obvious, why write it down?) RIGHT: Write to SESSION-STATE.md: "Theme: blue (not red)" → THEN respond ``` ### Why This Works The trigger is the human's INPUT, not your memory. You don't have to remember to check — the rule fires on what they say. Every correction, every name, every decision gets captured automatically. --- ## Working Buffer Protocol ⭐ NEW **Purpose:** Capture EVERY exchange in the danger zone between memory flush and compaction. ### How It Works 1. **At 60% context** (check via `session_status`): CLEAR the old buffer, start fresh 2. **Every message after 60%**: Append both human's message AND your response summary 3. **After compaction**: Read the buffer FIRST, extract important context 4. **Leave buffer as-is** until next 60% threshold ### Buffer Format ```markdown # Working Buffer (Danger Zone Log) **Status:** ACTIVE **Started:** [timestamp] --- ## [timestamp] Human [their message] ## [timestamp] Agent (summary) [1-2 sentence summary of your response + key details] ``` ### Why This Works The buffer is a file — it survives compaction. Even if SESSION-STATE.md wasn't updated properly, the buffer captures everything said in the danger zone. After waking up, you review the buffer and pull out what matters. **The rule:** Once context hits 60%, EVERY exc ...[truncated 3458 chars]
Remediation
## Remediation Suggestions 1. Replace automatic persistence with explicit user consent for each memory category. 2. Persist only concise, task-relevant summaries; never store complete exchanges by default. 3. Prohibit storage of passwords, API keys, authentication tokens, private keys, financial data, health data, and other sensitive information. 4. Detect and redact secrets and personal data before any write. 5. Attach provenance, timestamp, scope, and trust level to every memory entry. 6. Store quoted untrusted content as inert data and prohibit interpreting it as an instruction during recovery. 7. Require explicit user review before promoting a conversation-derived item into `AGENTS.md`, `SOUL.md`, tool configuration, or any persistent operating rule. 8. Remove “EVERY exchange” and “No exceptions.” Introduce allowlisted memory fields and per-session opt-out controls. 9. Apply retention periods, deletion controls, restrictive filesystem permissions, and encryption where persistent storage is genuinely necessary. 10. During recovery, validate stored state against current higher-priority instructions and display proposed recovered preferences for confirmation. 11. Do not write URLs verbatim when they contain query parameters or fragments that could include credentials. 12. Separate ephemeral task state from durable user preferences and prevent autonomous migration between those stores.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • 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
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (13)

Missing User Warnings

High
Confidence
97% confidence
Finding
The working buffer protocol mandates logging every exchange after a context threshold, including the human's message and an agent summary, with no user-facing warning or minimization guardrail. That creates a high-risk full-conversation capture mechanism that can retain sensitive content simply because the session grew long, not because storage was necessary.

Ae1

High
Category
analysis-evasion
Content
- Skill definitions (`SKILL.md`)
Confidence
100% confidence
Finding
Referenced artifact was not completely inspected

Vague Triggers

Medium
Confidence
92% confidence
Finding
The skill explicitly encourages the agent to anticipate needs, reverse prompt, and proactively check in across ordinary situations without defining clear consent boundaries or scope limits. In an agent skill, broad activation logic can cause unprompted actions, intrusive monitoring, or contextually inappropriate behavior, especially when paired with persistence and self-improvement features elsewhere in the file.

Indirect Prompt Extraction

Medium
Category
System Prompt Leakage
Content
✅ **Anticipates your needs** — Asks "what would help my human?" instead of waiting

✅ **Reverse prompting** — Surfaces ideas you didn't know to ask for

✅ **Proactive check-ins** — Monitors what matters and reaches out when needed
Confidence
85% confidence
Finding
Skill contains patterns that could indirectly extract system prompts through rephrasing, translation, summarization, or side-channel techniques.

Indirect Prompt Extraction

Medium
Category
System Prompt Leakage
Content
13. [Tool Migration Checklist](#tool-migration-checklist) ⭐ NEW
14. [The Six Pillars](#the-six-pillars)
15. [Heartbeat System](#heartbeat-system)
16. [Reverse Prompting](#reverse-prompting)
17. [Growth Loops](#growth-loops)

---
Confidence
85% confidence
Finding
Skill contains patterns that could indirectly extract system prompts through rephrasing, translation, summarization, or side-channel techniques.

Indirect Prompt Extraction

Medium
Category
System Prompt Leakage
Content
13. [Tool Migration Checklist](#tool-migration-checklist) ⭐ NEW
14. [The Six Pillars](#the-six-pillars)
15. [Heartbeat System](#heartbeat-system)
16. [Reverse Prompting](#reverse-prompting)
17. [Growth Loops](#growth-loops)

---
Confidence
85% confidence
Finding
Skill contains patterns that could indirectly extract system prompts through rephrasing, translation, summarization, or side-channel techniques.

Missing User Warnings

Medium
Confidence
95% confidence
Finding
The quick-start flow says the agent will auto-populate USER.md and SOUL.md from the user's answers, but it does not clearly warn that those answers will be written to persistent files. Users may reasonably provide personal information during onboarding without understanding the retention and future reuse implications.

Missing User Warnings

Medium
Confidence
94% confidence
Finding
The memory architecture directs the agent to persist conversation details across SESSION-STATE.md, daily logs, and MEMORY.md, but it does not clearly disclose that user messages may be copied into multiple files. Multi-file retention raises privacy and accidental exposure risks because users are not informed about the breadth of storage or duplication.

Ssd 3

Medium
Confidence
94% confidence
Finding
The WAL protocol instructs the agent to persist specific user-provided details immediately whenever common triggers appear, including names, preferences, decisions, values, and URLs. This creates systematic collection of user data into persistent state without clear necessity tests, sensitivity filtering, or consent controls.

Vague Triggers

Medium
Confidence
96% confidence
Finding
The WAL protocol tells the agent to scan every message for common categories of content and immediately persist details before responding. This is effectively a blanket capture rule for routine conversation content, which increases the chance of oversharing, storing sensitive data without consent, and normalizing unnecessary retention.

Ssd 3

Medium
Confidence
96% confidence
Finding
This section requires persistent capture of all user exchanges into a working-buffer file without data-minimization boundaries. Even if intended for resilience, storing raw conversational content broadly increases the blast radius of any compromise, accidental disclosure, or misuse of retained context.

Unrestricted Tool Access

Medium
Category
Excessive Agency
Content
1. Try a different approach immediately
2. Then another. And another.
3. Try 5-10 methods before considering asking for help
4. Use every tool: CLI, browser, web search, spawning agents
5. Get creative — combine tools in new ways

### Before Saying "Can't"
Confidence
84% confidence
Finding
The instruction to 'use every tool' and combine CLI, browser, web search, and spawned agents encourages expansive tool use without tying those actions to authorization, least privilege, or data-safety checks. In practice, this can push an agent toward risky tool invocation patterns, privilege overreach, or unnecessary exposure of user context to external systems.

Autonomous Decision Making

Medium
Category
Excessive Agency
Content
## The Six Pillars

1. **Proactive** — Anticipate needs, create value without asking
2. **Persistent** — Survive context loss, maintain continuity
3. **Resourceful** — Try 10 approaches before giving up
4. **Self-Improving** — Learn from every interaction
Confidence
82% confidence
Finding
The principle 'create value without asking' normalizes autonomous decision-making without clearly distinguishing harmless suggestions from actions that alter data, settings, schedules, or communications. In a proactive agent architecture, that framing can lead to action before confirmation and reduce meaningful human oversight.

Static analysis

No suspicious patterns detected.