Back to skill

Security audit

Agent Evolution

Security checks for vulnerabilities and agentic risk

Overview

This skill is a local behavior-tracking helper that stores its own persistent state, with no evidence of hidden networking, credential access, or destructive behavior.

Install this only if you want a skill to persist behavior rules, pattern logs, and identity-like state across sessions. Review or delete ~/.openclaw/workspace/.agent-evolution/state.json if you no longer want that state retained, and avoid using identity-update for sensitive or untrusted content.

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
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Behavioral ASTexec() Call, eval() Call, Dynamic Import
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (8)

Lp3

Medium
Category
MCP Least Privilege
Confidence
84% confidence
Finding
The skill invokes local scripts and references environment-backed state, but it does not declare an explicit tool scope or allowed-tools boundary. That increases the chance an agent will run code or access environment-dependent resources without clear authorization controls, especially in systems that rely on metadata for sandboxing decisions.

Vague Triggers

Medium
Confidence
96% confidence
Finding
The activation guidance is broad: it says to activate whenever the agent needs self-improvement, behavior tracking, role consistency, or repetition detection. Such vague triggers can cause unintended invocation in many contexts, including sensitive ones, leading to unnecessary persistence, identity modification, or script execution.

Vague Triggers

Medium
Confidence
94% confidence
Finding
The repeated usage instructions describe commands as generally available but do not constrain when they should be run or what safety checks must happen first. In practice, this can normalize frequent invocation of persistent logging and identity updates without considering consent, necessity, or data sensitivity.

Missing User Warnings

Medium
Confidence
93% confidence
Finding
The skill stores state in a persistent cross-session path but provides no warning that data will survive beyond the current interaction. This creates a privacy and integrity risk because future sessions may inherit behavioral logs or other state unexpectedly, and users may be unaware of retention.

Missing User Warnings

Medium
Confidence
95% confidence
Finding
The identity layer allows viewing and updating structured identity across sessions, but it does not warn about the risks of modifying stored identity data. In an agent context, persistent identity mutation can influence future behavior, create unauthorized persona drift, or preserve attacker-influenced state that affects later decisions.

Natural-Language Policy Violations

Low
Confidence
92% confidence
Finding
The pattern alert messages are hard-coded in Chinese in a general-purpose CLI script. This can violate language/locale policy expectations because users are not given an opt-in choice or any indication that the tool is intentionally Chinese-only.

Missing User Warnings

Low
Confidence
84% confidence
Finding
This code file performs subprocess-style execution via the `$EVOLUTION` command, which invokes `node ... evolution.js`, but there is no user-facing disclosure at the execution sites about initializing state. The script has comments for developers, but no confirmation prompt or visible notice to the user when the operation runs.

Missing User Warnings

Low
Confidence
88% confidence
Finding
The script calls `$EVOLUTION add-rule ...`, which is a shell-executed external command that modifies state, but the operation is silent because stderr is suppressed and there is no print, prompt, or explicit warning at the call site. For code files, state-changing subprocess execution should have some form of user disclosure unless already clearly documented elsewhere.

Static analysis

No suspicious patterns detected.