Back to skill

Security audit

Self-Improving Agent

Security checks for vulnerabilities and agentic risk

Overview

The skill is not executable malware, but it encourages automatic long-term storage of user corrections as agent rules without enough consent, scoping, or review controls.

Review this skill carefully before installing. Use it only in a workspace where persistent agent memory is intended, require explicit approval before writing or updating RULES.md, avoid storing names, client details, secrets, or security instructions, and keep changes reviewable and reversible.

Vulnerability Patterns
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • 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
  • 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 (1)

T02 · Agent Memory Poisoning

Warning
Location
SKILL.md:7
Finding

Unvalidated Persistent Agent Rule Modification

Content
View full analysis
"that one time X broke" ### AGENTS.md Integration Add to your AGENTS.md: ```markdown ## Self-Improvement After ANY correction from the user: 1. Log the correction pattern to RULES.md with date 2. Identify the general rule (not just the specific instance) 3. Check if a similar rule already exists — update rather than duplicate 4. Silently scan RULES.md every ~10 interactions for contradictions ``` ``` ### Technical Analysis The skill directs the agent to transform any user correction into a persistent rule stored in `RULES.md` and to load that rule in later sessions. It further recommends modifying `AGENTS.md` to make this persistence mechanism part of the agent's standing behavior. No validation step distinguishes trustworthy preference corrections from malicious, unsafe, overly broad, or context-specific instructions. There is also no requirement for explicit approval before persistence, no provenance tracking, no restriction on the types of rules that may be stored, and no check against higher-priority security policies. The instruction that the newer rule wins when two rules conflict creates an overwrite primitive: a crafted later correction can supersede an earlier legitimate rule merely by being newer. Generalizing each correction into a broader rule may amplify the scope of a malicious or accidental statement beyond the original interaction. The requirement to scan the rules silently reduces user visibility into these persistent beha ...[truncated 1625 chars]
Remediation
View remediation
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (5)

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The trigger phrases and description are broad enough that the skill could activate in contexts the user did not intend, causing unsolicited persistence behavior. In this skill’s context, over-broad activation increases the chance that ordinary conversations or corrections are treated as durable operating rules, which can lead to accidental data retention and behavior drift.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The skill describes a correction loop that writes user corrections to RULES.md but does not warn users that their input may be stored persistently across sessions. This is dangerous because users may share corrections containing sensitive workflow details, names, preferences, or operational constraints without realizing they will be retained and reused.

Content

No source excerpt is available for this finding.

Ssd 3

Medium
Category
Not specified by scanner
Confidence
98% confidence
Finding

Persistently logging every correction in natural language creates a direct channel for storing sensitive user data, including confidential business practices, personal preferences, identities, and incidental secrets embedded in corrections. Because the loop is framed as automatic and ongoing, the skill increases the likelihood of over-collection and long-term retention of data that was never meant to become memory.

Content

No source excerpt is available for this finding.

Ssd 3

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The example RULES.md content explicitly normalizes storing person- and client-specific preferences, which encourages operators to preserve private operational details in reusable memory. In context, this makes the skill more dangerous because it teaches a pattern of retaining identifiable relationship and communication metadata that may be confidential or inappropriate to persist broadly.

Content

No source excerpt is available for this finding.

Ssd 3

Medium
Category
Not specified by scanner
Confidence
98% confidence
Finding

The instruction to log a rule after ANY correction promotes indiscriminate persistence without classification, sensitivity review, or consent. This is dangerous because many corrections are contextual, temporary, or sensitive, and automatically converting them into durable rules can leak private information and distort future agent behavior.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.