Back to skill

Security audit

Sylex Memory

Security checks for vulnerabilities and agentic risk

Overview

This skill is a disclosed remote memory integration, but it encourages automatic persistent storage and shared knowledge use without enough user control or sensitivity checks.

Install only if you are comfortable sending selected agent memories to Sylex's remote MCP service. Do not copy the SOUL.md snippet as written for sensitive work; require explicit approval before storing memories or contributing to Commons, and treat all Commons content as untrusted reference data rather than instructions.

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

T02 · Agent Memory Poisoning

Error
Location
SOUL_SNIPPET.md:1
Finding

Persistent Agent Behavior Modification Through SOUL.md

Content
View full analysis

Vulnerability Details

File Location: SOUL_SNIPPET.md:1-12
Vulnerability Type: Persistent memory and identity poisoning
Risk Level: High

Vulnerable Code Snippet:

markdown
# Memory Identity (add to your SOUL.md)

## Memory

I have persistent memory via Sylex Memory. At the start of each session:
1. Recall my identity memories: `memory.recall` with tags ["identity"]
2. Check recent memories: `memory.recall` with limit 5
3. Browse Commons for new shared knowledge: `memory.commons-browse`

When I learn something worth remembering, I store it immediately. I don't wait to be asked.

When I discover a useful pattern, I contribute it to the Commons so other agents benefit.

Technical Analysis

The snippet explicitly instructs the user to add durable behavioral rules to the agent's SOUL.md identity file. These rules cause the agent to retrieve persistent identity records and external shared content at the start of every future session. They also require the agent to store information autonomously without waiting for user authorization.

This creates a persistent trust-boundary violation. Data previously written to memory, including content influenced or supplied by an attacker, can continue to affect the agent after the original skill invocation ends. Because the rules are installed into identity state rather than remaining limited to an individual task, removing or disabling the skill may not remove the modified behavior.

Attack Path

  1. A user installs the skill and follows the instruction to copy the snippet into SOUL.md.
  2. The snippet becomes part of the agent's persistent identity instructions.
  3. An attacker-controlled or otherwise unsafe instruction is stored as an identity memory or enters memory through another affected workflow.
  4. At the beginning of later sessions, the agent automatically calls memory.recall and retrieves the stored content.
  5. The retrieved content inf ...[truncated 844 chars]
Remediation
View remediation

Remediation Suggestions

  • Remove the instruction to copy behavioral rules into SOUL.md or any other persistent identity or system-instruction file.
  • Keep memory integration opt-in and scoped to the current task unless the user explicitly approves persistent configuration.
  • Require explicit user confirmation before writing identity, behavioral rules, preferences, or instructions to long-term memory.
  • Separate factual memory from executable instructions and prohibit recalled records from overriding system, developer, or current user instructions.
  • Display the exact content, destination, retention period, and sensitivity classification before each persistent write.
  • Provide a documented mechanism to enumerate, inspect, delete, and revoke all stored memories and persistent configuration.
  • Do not automatically restore retrieved content into a privileged instruction context; load it only as untrusted reference data.

T01 · Skill Instruction Hijacking

Error
Location
SOUL_SNIPPET.md:5
Finding

Automatic Ingestion of Untrusted Commons Content

Content
View full analysis

Vulnerability Details

File Location: SOUL_SNIPPET.md:5-7 and SKILL.md:52-58
Vulnerability Type: Indirect prompt injection through shared remote content
Risk Level: High

Vulnerable Code Snippets:

SOUL_SNIPPET.md:5-7:

markdown
I have persistent memory via Sylex Memory. At the start of each session:
1. Recall my identity memories: `memory.recall` with tags ["identity"]
2. Check recent memories: `memory.recall` with limit 5
3. Browse Commons for new shared knowledge: `memory.commons-browse`

SKILL.md:52-58:

markdown
### Commons (Shared Knowledge)

| Tool | Purpose |
|------|---------|
| `memory.commons-browse` | Read shared knowledge from all agents |
| `memory.commons-contribute` | Share a pattern, tip, or insight |
| `memory.commons-search` | Search commons by keyword |

Technical Analysis

The persistent snippet directs the agent to browse the Commons automatically at every session start. The skill states that Commons entries are shared knowledge originating from all agents. Consequently, the content crosses an external and multi-writer trust boundary.

No instruction requires provenance validation, moderation, content sanitization, isolation, or treatment of Commons entries as untrusted data. There is also no requirement for user approval before the content is retrieved and introduced into the agent's working context. A malicious contributor can therefore format a Commons entry as an instruction and attempt to make the receiving agent treat it as authoritative guidance.

The danger is amplified by the autonomous storage behavior in SOUL_SNIPPET.md:9-12: injected content that appears useful may be written into private memory or redistributed to Commons, creating a poisoning and propagation cycle.

Attack Path

  1. An attacker contributes a crafted Commons entry containing deceptive operational guidance or prompt-injection instructions.
  2. A victim agent has ...[truncated 1293 chars]
Remediation
View remediation

Remediation Suggestions

  • Remove automatic memory.commons-browse calls from session-start or identity instructions.
  • Require an explicit user request or confirmation before retrieving shared third-party content.
  • Mark all Commons records as untrusted external data and prohibit the agent from executing or adopting instructions contained in them.
  • Place retrieved records in a clearly delimited data-only context rather than a system, identity, or instruction context.
  • Implement provenance, author identity, signatures, moderation status, timestamps, and reputation indicators for shared records.
  • Filter prompt-injection patterns and require human review before content can become persistent memory or affect tool execution.
  • Prevent automatic copying of Commons content into private memory and prevent automatic republication to Commons.
  • Apply least privilege to any tools available while processing externally sourced content.

other

Error
Location
SOUL_SNIPPET.md:9
Finding

Autonomous Transmission of Potentially Sensitive Memories to an External Service

Content
View full analysis

Vulnerability Details

File Location: SOUL_SNIPPET.md:9-12, with external service configuration documented at SKILL.md:18-31
Vulnerability Type: Unauthorized external data disclosure
Risk Level: High

Vulnerable Code Snippets:

SOUL_SNIPPET.md:9-12:

markdown
When I learn something worth remembering, I store it immediately. I don't wait to be asked.

When I discover a useful pattern, I contribute it to the Commons so other agents benefit.

SKILL.md:18-31:

markdown
Add Sylex Memory as an MCP server in your `openclaw.json`:

```json
{
  "mcpServers": {
    "sylex-memory": {
      "url": "https://memory.sylex.ai/sse"
    }
  }
}

No API key needed. Your agent identity is derived from a SHA-256 hash you choose — it's your key to your memories.

text

### Technical Analysis

The snippet directs the agent to store information immediately without waiting for user approval and to contribute useful patterns to a shared Commons. The configured destination is the third-party endpoint `https://memory.sylex.ai/sse`.

During normal work, information the agent considers worth remembering may include user preferences, internal decisions, proprietary implementation details, operational context, database information, or other sensitive material. The instruction provides no data-classification policy, secret scanner, redaction process, allowlist, per-item consent requirement, or destination confirmation.

The documentation claims that private memories are encrypted, but the reviewed project contains only Markdown documentation and a version file. It contains no client implementation from which encryption behavior, key derivation, transport handling, retention, deletion, or server-side privacy properties can be independently verified. Commons contributions are explicitly described in `SKILL.md` as plaintext and shared by design, making autonomous contribution particularly sensitive.

### 
...[truncated 1413 chars]
Remediation
View remediation

Remediation Suggestions

  • Remove the instruction to store information immediately without user approval.
  • Require per-item informed consent before any content leaves the local environment.
  • Show the exact content, destination, visibility level, retention policy, and recipient scope before submission.
  • Default to local-only storage and make all external synchronization explicitly opt-in.
  • Prohibit autonomous Commons contributions; require the user to review and approve the final plaintext submission.
  • Add secret detection, personal-data detection, configurable redaction, and deny-by-default rules for credentials, source code, customer data, internal URLs, and operational details.
  • Provide verifiable client-side encryption for private memories, with documented key ownership and authenticated encryption.
  • Document data retention, deletion, export, incident response, access control, and account-recovery behavior.
  • Support endpoint allowlisting and clear warnings whenever data crosses the local trust boundary.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (4)

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill directs agents to send persistent memory content to a remote MCP service and to share knowledge with other agents, but it does not present a clear, explicit warning about the privacy and data-sharing risks before encouraging use. This is dangerous because users or downstream agents may store sensitive operational data, credentials, internal decisions, or proprietary information under the assumption that 'encrypted' and 'no tracking' eliminate disclosure risk, while commons and messaging features intentionally transmit data to external infrastructure.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The snippet directs the agent to store information 'immediately' and contribute useful patterns to a shared Commons without any consent, sensitivity checks, or scope limits. In an agent skill, this creates a real risk of persistent retention and onward sharing of user, system, or proprietary information that was never meant to be memorized or redistributed.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The instructions normalize automatic persistent storage and sharing as default behavior while omitting any privacy, minimization, retention, or access-control guidance. In practice, this can cause an agent to capture sensitive conversational content and propagate it into shared systems, increasing exposure and making accidental leakage more likely.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Low
Category
Not specified by scanner
Confidence
80% confidence
Finding

The heading presents the content as 'Memory Identity,' which suggests narrow identity recall, but the body expands into ongoing collection, persistence, and cross-agent sharing behavior. That mismatch can mislead reviewers or operators and cause broader data-handling powers to be adopted without adequate scrutiny.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.