Back to skill

Security audit

Super Proactive V2

Security checks for vulnerabilities and agentic risk

Overview

This skill is transparent about being a proactive memory system, but it asks the agent to persist broad session details and run recurring autonomous tasks without clear limits or approval boundaries.

Install only if you intentionally want an agent to maintain persistent project memory and act proactively. Before use, limit what may be written to memory, forbid secrets and personal data, require approval for scheduled or queue-driven actions, and define how to review, pause, and delete the created files.

Vulnerability Patterns
  • System PersistenceInstalls backdoors, hooks, services, or scheduled tasks that survive the run
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • 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
Findings (2)

T09 · Insecure Skill Coding Practices

Warning
Location
SKILL.md:31
Finding
Overbroad Persistent Storage of Potentially Sensitive Session Information<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md`, lines 31-36, 52-58, and 85 **Vulnerability Type**: Persistent plaintext storage without sensitivity filtering **Risk Level**: Medium ### Vulnerable Code ```markdown The agent writes critical details to SESSION-STATE.md BEFORE responding. Every decision, correction, and important detail is logged immediately. ```bash # Example: Log a decision echo "$(date) - Decision: Using model for generation" >> SESSION-STATE.md ``` ``` ```markdown SESSION-STATE.md survives context flush. Always read/write this file for: - Current project context - Pending decisions - Active tasks ``` ```markdown ALWAYS search memory before answering. ``` ### Technical Analysis The skill directs the agent to persist broadly defined information such as every important detail, correction, decision, and current project context. It does not define sensitivity filters, data minimization requirements, access controls, retention periods, or deletion procedures. The demonstrated shell command appends information directly to a plaintext workspace file. Consequently, credentials, access tokens, personal information, proprietary project details, or other sensitive conversation content could be retained if the agent considers them important. Because `SESSION-STATE.md` is explicitly designed to survive context flushes and be read during later interactions, its contents can cross session boundaries. Searching memory before every response further expands the circumstances in which stored information may be retrieved and incorporated into future output. ### Attack Path 1. A user supplies sensitive information during a normal interaction, such as a token, internal hostname, private project detail, or personal record. 2. The agent considers that information important to the current project or an associated decision. 3. Following the skill instructions, the agent appends the information to `SESSION-STATE.md` or another persistent memory ...[truncated 878 chars]
Remediation
<![CDATA[ ## Remediation Suggestions 1. Make persistent memory an explicit opt-in feature and clearly disclose what information will be stored. 2. Replace broad instructions such as “every important detail” with an allowlist of permitted data categories. 3. Explicitly prohibit storage of passwords, API keys, session tokens, authentication cookies, private keys, personal data, and regulated information. 4. Apply secret detection and redaction before writing any value to persistent storage. 5. Store only concise derived summaries when persistence is necessary, rather than verbatim conversation content. 6. Enforce restrictive filesystem permissions on memory files and prevent access by unrelated users or processes. 7. Define retention periods, automatic expiration, and user-accessible inspection and deletion mechanisms. 8. Require confirmation before retrieving persistent information in a materially different session or context. 9. Avoid shell-based unstructured appends; use a validated storage routine with schema enforcement, sensitivity checks, and audit logging. ]]>

T06 · System Persistence

Warning
Location
SKILL.md:40
Finding
Persistent Autonomous Task Execution Without Explicit Approval Boundaries<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md`, lines 40-43 and 75-83 **Vulnerability Type**: Unbounded recurring autonomous behavior **Risk Level**: Medium ### Vulnerable Code ```markdown Run background tasks without prompting: - Every 30min: Check queue, health, memory - Every 4h: Research topic, update insights - Daily 18h: Summary, cleanup ``` ```markdown ### 2. Update HEARTBEAT.md ```markdown ## Every Heartbeat (~30 min) - [ ] Check QUEUE.md for Ready tasks - [ ] Process queue if In Progress empty - [ ] Verify services ## Every 4 Hours - [ ] Research topic - [ ] Update memory ``` ``` ### Technical Analysis The skill instructs the agent to establish recurring activities and explicitly states that they should run without prompting. It also directs modification of `HEARTBEAT.md`, creating behavior intended to continue beyond the initiating interaction. The recurring tasks are insufficiently constrained. In particular, “research topic,” “verify services,” “process queue,” and “cleanup” do not define authorized tools, permitted network destinations, filesystem boundaries, resource limits, or operations requiring confirmation. Queue entries or retained memory may therefore cause later actions that were not individually reviewed by the user. The package does not contain executable scheduler code and does not itself install an operating-system service. The risk arises when a host agent interprets `HEARTBEAT.md` as a persistent scheduling mechanism. The actual impact therefore depends on the capabilities and authorization model of the host environment. ### Attack Path 1. The user enables the skill and follows its instruction to add recurring tasks to `HEARTBEAT.md`. 2. The host agent continues processing heartbeat instructions after the initial interaction. 3. A task is placed in `QUEUE.md`, or an existing queue entry is interpreted as ready for processing. 4. During a later heartbeat, the agent processes the task without obtaining fresh ...[truncated 812 chars]
Remediation
<![CDATA[ ## Remediation Suggestions 1. Make recurring execution disabled by default and require explicit informed user consent before modifying `HEARTBEAT.md`. 2. Require separate approval for external network access, service interaction, destructive cleanup, and other state-changing operations. 3. Define an allowlist of permitted heartbeat tasks, tools, filesystem paths, services, and network destinations. 4. Treat queue content as untrusted input and validate each task against a fixed authorization policy before execution. 5. Impose per-run time, CPU, storage, network, and request limits. 6. Log each scheduled run, including its trigger, operations, affected resources, results, and authorization basis. 7. Provide documented pause, disable, rollback, and cleanup procedures that remove all heartbeat entries created by the skill. 8. Prevent autonomous tasks from changing their own authorization policy, scheduling configuration, or safety restrictions. 9. Require periodic reauthorization so recurring behavior cannot continue indefinitely based solely on initial activation. ]]>
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (4)

Missing User Warnings

Medium
Confidence
97% confidence
Finding
The WAL protocol tells the agent to write 'every decision, correction, and important detail' to persistent workspace files before responding, but provides no retention limits, redaction rules, or privacy warnings. This creates a predictable path for sensitive prompts, secrets, personal data, or internal reasoning artifacts to be stored long-term and later exposed to other tools, users, or sessions.

Ssd 3

Medium
Confidence
98% confidence
Finding
This instruction encourages broad, durable storage of session context and 'every decision, correction, and important detail,' which is a classic natural-language data retention risk. Even without overt exfiltration, the resulting memory files can accumulate sensitive information that may later be resurfaced, misused, or leaked across tasks and users.

Missing User Warnings

Medium
Confidence
94% confidence
Finding
The skill explicitly instructs the agent to run autonomous background tasks on a schedule ('Every 30min', 'Every 4h', 'Daily') without any guardrails, scope limits, or warnings about resource use, unintended actions, or access to user/workspace data. In an agent setting, this increases the chance of unauthorized or surprising behavior, especially if the agent acts without an active user request or clear approval boundary.

Ssd 3

Medium
Confidence
93% confidence
Finding
The guidance to 'ALWAYS search memory before answering' and to maintain broad prior context makes the agent systematically collect and reuse historical information, including potentially sensitive user data outside its original purpose. In this skill's context, the memory-first design amplifies the risk because resurfacing stale or unrelated data can violate privacy expectations and contaminate future responses.