Back to skill

Security audit

Evolve Loop Free

Security checks for vulnerabilities and agentic risk

Overview

This skill openly implements persistent agent memory, but it stores and reloads user corrections automatically and encourages full-memory export or Git backup without enough consent and privacy controls.

Install only if you intentionally want cross-session memory. Review ~/evolve-loop regularly, avoid storing secrets or sensitive personal/project data, confirm memory writes before treating them as permanent rules, and do not put the directory in Git or export it as a ZIP unless you have reviewed and secured the contents.

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

T02 · Agent Memory Poisoning

Warning
Location
SKILL.md:148
Finding

Unvalidated User Instructions Can Poison Persistent Agent Memory

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 148–171; related persistence behavior at lines 209, 313–315, and 398
Vulnerability Type: T02: Agent Memory Poisoning
Risk Level: Medium

Complete Relevant Snippet

The following is an English rendering of the relevant instructions:

markdown
| Layer | Location | Size limit | Loading strategy |
| HOT memory | memory.md | 100 lines or fewer | Fully loaded at session start |

Automatically capture the following eight types of explicit correction
phrases and record them in corrections.md:

| Signal type | Example trigger phrase | Recording location |
| Direct negation | "No, it should be..." | corrections.md |
| Factual correction | "Actually, it is..." | corrections.md |
| Error correction | "You are wrong about..." | corrections.md |
| Preference expression | "I like X, not Y" | memory.md (HOT) |
| Habit emphasis | "Remember that I always..." | memory.md (HOT) |
| Repeated reminder | "I told you before..." | corrections.md and promotion evaluation |
| Stop instruction | "Do not do X again" | memory.md (HOT) |
| Pattern challenge | "Why do you keep..." | corrections.md and reflection |

Core principle: Never delete confirmed preferences; only merge, summarize,
or demote them.

1. Write to memory.md:
   "Writing preference: prohibit one expression and use another."
2. Write a style rule to domains/writing.md.
3. Automatically apply this rule to all subsequent writing.

All memory is persistently stored in Markdown files under ~/evolve-loop/.
At the beginning of a session, the Agent automatically reads memory.md to
restore the HOT context.

Technical Analysis

The Skill turns conversational statements into persistent behavioral rules and automatically reloads those rules in future sessions. Trigger phrases such as “Remember that I always...” and “Do not do X again” can be written directly to the HOT memory layer.

The ...[truncated 2622 chars]

Remediation
View remediation

Remediation Suggestions

  1. Require explicit user confirmation before writing any behavioral rule to persistent memory.
  2. Never treat quoted text, retrieved documents, web content, tool output, or third-party messages as correction signals.
  3. Store provenance metadata for every entry, including author, source conversation, timestamp, namespace, confidence, and confirmation status.
  4. Place new entries in a quarantined or provisional state rather than directly in HOT memory.
  5. Validate every stored rule against system and developer instructions when writing and loading it.
  6. Ensure stored memory can never override higher-priority safety, authorization, privacy, or tool-use constraints.
  7. Default rules to the narrowest applicable namespace and require confirmation before promoting them globally.
  8. Add configurable expiration periods and require periodic reconfirmation for persistent rules.
  9. Provide commands to list, inspect, edit, and permanently delete individual memory entries.
  10. Escape or structurally separate memory data from executable Agent instructions when loading it into context.
  11. Maintain an audit log of memory creation, modification, promotion, demotion, and deletion events.
  12. Add tests demonstrating that correction-like phrases in untrusted content cannot create persistent rules.

T09 · Insecure Skill Coding Practices

Note
Location
SKILL.md:398
Finding

Whole-Directory Git Backup Can Expose Sensitive Agent Memory

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 398 and 410
Vulnerability Type: T09: Insecure Skill Coding Practices
Risk Level: Low

Complete Relevant Snippet

The following is an English rendering of the relevant instructions:

markdown
All memory is persistently stored in Markdown files under ~/evolve-loop/.
At the beginning of a session, the Agent automatically reads memory.md to
restore the HOT context. It is recommended to place ~/evolve-loop/ under
Git version control to provide additional versioned backup and cross-device
synchronization.

Use the "Export memory" instruction and the Agent will package all files
under ~/evolve-loop/ into a ZIP archive. Alternatively, place the entire
directory directly under Git version control to provide incremental backup
and historical traceability.

Technical Analysis

The Skill recommends tracking the entire persistent-memory directory in Git and supports packaging all memory files into one ZIP archive. That directory can contain user preferences, correction history, project decisions, operational experience, and other information derived from conversations.

The recommendation does not require:

  • A private repository.
  • Encryption at rest or in transit.
  • Review before committing or exporting data.
  • Secret or personal-data scanning.
  • Exclusion rules for sensitive files.
  • Repository access-control validation.
  • Warning users that Git history retains removed content.
  • Redaction of credentials, internal URLs, customer information, or proprietary project details.

Git commits are durable, and deleting sensitive data from the latest version does not remove it from prior commits. A ZIP export similarly consolidates the entire memory store into a portable artifact that can be copied or shared accidentally.

Attack Path

  1. The Agent records preferences, corrections, project decisions, or sensitive contextual informat ...[truncated 1266 chars]
Remediation
View remediation

Remediation Suggestions

  1. Do not recommend whole-directory Git tracking as the default backup method.
  2. Clearly warn that memory files may contain sensitive conversational and project data.
  3. If Git backup is enabled, require a private repository with least-privilege membership and protected access credentials.
  4. Run secret, personal-data, and sensitive-content scanning before every commit or export.
  5. Provide a restrictive .gitignore template and an explicit allowlist of files suitable for synchronization.
  6. Redact or omit raw correction logs, identifiers, credentials, internal URLs, and confidential project content.
  7. Encrypt exported archives and encrypted backups with user-controlled keys.
  8. Require an interactive manifest and confirmation before creating a ZIP or pushing to a remote.
  9. Explain that ordinary file deletion does not remove data from Git history and provide safe history-rewrite guidance.
  10. Apply restrictive file permissions to local memory and exported archives.
  11. Define retention periods and secure-deletion procedures for backups and exports.
  12. Prefer a purpose-built encrypted backup mechanism over automatic cross-device synchronization through an unspecified Git remote.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (7)

Scope Creep

High
Category
Not specified by scanner
Confidence
98% confidence
Finding

The manifest declares only read and exec, but the skill repeatedly instructs the agent to create and modify persistent files under ~/evolve-loop. This creates a capability/policy mismatch: an agent may be induced to perform stateful writes via exec or operate outside user expectations, enabling unintended persistence of user data across sessions.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The skill instructs the agent to create persistent memory files and maintain long-lived logs of user corrections and preferences, but it does not prominently warn users about retention, later retrieval, or possible export of that data. This is dangerous because users may disclose sensitive project or personal information assuming an ephemeral session, while the skill is designed to preserve and reuse it across sessions.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The trigger condition is extremely broad ('whenever AI model calling, smart dialogue, agent orchestration, or LLM applications are needed'), making the skill easy to activate in contexts where persistent memory and self-modifying workflow behavior were not expected. In a skill that stores corrections, preferences, and reflections across sessions, ambiguous activation increases the chance of covert data retention and context bleed.

Content

No source excerpt is available for this finding.

Scope Creep

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

The documented '导出记忆' behavior says the agent can package all memory files into a ZIP, which implies archive creation and bulk data export beyond the narrowly declared tool permissions. This increases the risk of unauthorized aggregation and exfiltration of stored user data, especially because the skill is built around persistent cross-session memory.

Content

No source excerpt is available for this finding.

Ssd 3

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill explicitly directs the agent to retain user-provided preferences, corrections, and behavioral patterns in persistent files and later surface them across sessions. This is a true privacy/security issue because it creates durable storage and future disclosure of potentially sensitive user data without strong scoping, minimization, or consent controls; the surrounding skill context makes it more dangerous because persistent memory is its core function, not an incidental feature.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

The document states that the adapted work is 'completely Chinese-localized' and 'fits Chinese user workflows,' while the overall skill text and examples are written only in Chinese with no user language selection. This can violate a language/locale policy when a skill effectively forces a specific language without offering opt-in or alternatives.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Low
Category
Not specified by scanner
Confidence
97% confidence
Finding

The frontmatter states 'license: Proprietary', but the later License section says both the original and improved work use MIT and claims MIT compliance. This is an active documentation contradiction about the skill's licensing intent and distribution terms.

Content

No source excerpt is available for this finding.