Back to skill

Security audit

Synapse

Security checks for vulnerabilities and agentic risk

Overview

This local memory skill is purpose-aligned but needs Review because it can quietly build persistent profiles from conversations and recent transcripts without clear user approval controls.

Install only if you are comfortable with a local agent building long-lived profiles from conversations, preferences, and behavioral patterns. Before using it, restrict transcript access where possible, require confirmation before saving inferred memories, inspect the local Synapse memory directory periodically, and resolve the package-name mismatch by installing only the exact reviewed version you intend to use.

Vulnerability Patterns
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • 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)

T05 · Unauthorized Access and Privilege Escalation

Warning
Location
SKILL.md:31
Finding

Broad Conversation and Memory Profiling Without Explicit Per-Run Consent

Content
View full analysis

Vulnerability Details

File Location: SKILL.md:31-54
Vulnerability Type: Privacy-sensitive access to conversation history and persistent Agent memory
Risk Level: Medium

Vulnerable Code Snippet

markdown
### On Any Conversation

1. **Scan for learnable signals:**
   - Explicit statements: "I prefer X", "I don't like Y", "Remember that..."
   - Implicit signals: repeated corrections, consistent tool choices, time-of-day patterns
   - Decision patterns: chosen option vs rejected alternatives

2. **Extract and classify:**
   - **Fact** — verifiable statement ("I work at DGA EPM")
   - **Preference** — subjective choice ("I prefer TypeScript over Python")
   - **Pattern** — behavioral trend ("always asks for cost estimates before builds")
   - **Correction** — prior information updated ("actually, it's Teya not Matea in casual context")

3. **Store in appropriate file** using `write` or `edit` tool

### Learning Cycles (Triggered by cron or on-demand)

1. Read last 24h of session transcripts (if accessible)
2. Scan `MEMORY.md` for new entries
3. Check daily memory notes (`memory/YYYY-MM-DD.md`)
4. Extract new intelligence from steps above
5. Update `profile.json` with incremental changes
6. Write daily log to `daily/YYYY-MM-DD.md`
7. Surface summary: "Learned X new facts, Y preferences updated, Z patterns detected"

The related instruction at SKILL.md:15 further states:

markdown
- **Quiet learning** — note observations without being asked, but inform the user briefly

Technical Analysis

The Skill directs an Agent to inspect every conversation, derive explicit and implicit behavioral information, read recent session transcripts and existing memory, and persist the resulting profile through file-writing tools. This includes inferred preferences, behavioral trends, corrections, time-of-day patterns, and personal facts.

Although local memory analysis is the declare ...[truncated 2296 chars]

Remediation
View remediation

Remediation Suggestions

  1. Require explicit, informed opt-in before enabling transcript scanning or implicit preference analysis.
  2. Require separate confirmation before each automated learning cycle, unless the user has deliberately enabled a clearly documented schedule.
  3. Default to storing only facts explicitly marked for retention by the user.
  4. Disable implicit behavioral profiling by default and expose it as a separate configuration option.
  5. Restrict reads to conversations or date ranges selected by the user rather than all available recent transcripts.
  6. Add sensitivity filtering for personal identifiers, employment details, health information, financial information, private communications, and credentials.
  7. Present proposed profile changes for review before committing them to persistent storage.
  8. Record provenance for every item, including source file, source date, whether it was explicit or inferred, and confirmation status.
  9. Provide commands to inspect, correct, export, and permanently delete all stored profile information.
  10. Enforce retention limits programmatically rather than relying only on written instructions.
  11. Apply restrictive filesystem permissions to the Synapse data directory and avoid making profiles available to unrelated skills or users.

T08 · Insecure Dependencies

Warning
Location
skill.json:8
Finding

Conflicting and Unpinned Skill Installation Identity

Content
View full analysis

Vulnerability Details

File Location: skill.json:8-13; README.md:7-10
Vulnerability Type: Ambiguous and mutable supply-chain installation source
Risk Level: Medium

Vulnerable Code Snippets

skill.json:8-13:

json
"install": {
  "steps": [
    "clawhub install shadoprizm/synapse-memory",
    "No external dependencies required — uses OpenClaw's built-in memory tools"
  ],
  "source": "https://github.com/shadoprizm/skillforge",
  "notes": "Instruction-only skill. No scripts, no Python, no ML model downloads. All operations use native OpenClaw tools (memory_search, memory_get, read, write, edit)."
},

README.md:7-10:

bash
# Via ClawHub
clawhub install shadoprizm/synapse

# Or manually

Technical Analysis

The installation metadata refers to shadoprizm/synapse-memory, while the README instructs users to install shadoprizm/synapse. Neither command pins a reviewed version or immutable artifact digest. The declared source is also a generic repository URL rather than an immutable commit and exact package directory.

Consequently, the package fetched by a user can depend on which project file they follow and on the registry contents at installation time. The installed artifact may therefore differ from the three files covered by this audit. This is a supply-chain integrity weakness rather than evidence that either named package is currently malicious.

Attack Path

  1. A user or automated Agent follows one of the two conflicting installation instructions.
  2. ClawHub resolves either shadoprizm/synapse or shadoprizm/synapse-memory.
  3. Because no version or digest is pinned, the registry returns the package version currently associated with that name.
  4. That package may differ from the artifact reviewed in this audit because of naming ambiguity, a later update, account compromise, or registry-side package replacement.
  5. The host loads and follows the downloa ...[truncated 768 chars]
Remediation
View remediation

Remediation Suggestions

  1. Select one canonical ClawHub package identifier and use it consistently in README.md, skill.json, and all release documentation.
  2. Pin installation instructions to a reviewed version, for example a specific semantic version supported by ClawHub.
  3. Where supported, pin and verify a cryptographic package digest or signed release manifest.
  4. Replace the generic repository source with the exact repository path and immutable commit corresponding to the published artifact.
  5. Publish checksums for all packaged files and verify them during installation.
  6. Add automated release validation that fails when package names, versions, source commits, or checksums differ across metadata files.
  7. Document the expected package contents so users can confirm that an instruction-only release contains no unexpected scripts or executables.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Memory PoisoningPersistent Context Injection, Context Window Stuffing, Memory Manipulation
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (6)

Ssd 3

High
Category
Not specified by scanner
Confidence
98% confidence
Finding

The learning cycle explicitly instructs reading recent session transcripts and extracting 'operator intelligence' into persistent profile and daily log files. This creates a broad surveillance-like memory pipeline that can aggregate sensitive personal, behavioral, and contextual information across sessions, raising both privacy and misuse risks.

Content

No source excerpt is available for this finding.

Memory Manipulation

High
Category
Memory Poisoning
Confidence
85% confidence
Finding

Skill manipulates agent memory, state, or stored context. Memory corruption can alter personality, override safety rules, or cause unpredictable behavior.

Content

Scanner excerpt · SKILL.md (reported line 105)May include surrounding context.

md
- Do NOT store sensitive information (passwords, API keys, tokens)
- Do NOT fabricate memories — if unsure, note low confidence
- Do NOT replace MEMORY.md — Synapse is a supplement
- Maximum 200 preferences tracked (oldest/lowest-confidence pruned first)
- Daily logs older than 90 days archived to `daily/archive/`

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The README explicitly promotes cross-session memory, structured profiles, preference tracking, and behavioral pattern detection, but it does not warn users about retention scope, privacy implications, or consent expectations. In a memory-focused agent skill, this omission is security-relevant because operators may enable persistent collection of sensitive personal or behavioral data without understanding what is stored or how long it persists.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The trigger phrases are broad, natural-language phrases like 'remember this' and 'what do you know about' that can appear in ordinary conversation, making unintended activation likely. In this skill, unintended activation is more dangerous because activation leads to persistence and profiling behavior across sessions, not just a harmless one-off action.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill stores structured facts, preferences, and behavioral patterns across sessions, but the user-facing description does not clearly warn that inferred data will be persistently retained. This undermines informed consent and increases privacy risk because users may not realize ordinary conversation is being transformed into long-lived profiles.

Content

No source excerpt is available for this finding.

Ssd 3

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The 'Quiet learning' behavior directs the system to record observations without being asked, which broadens retention beyond explicit user intent. In a memory skill, this is particularly risky because it normalizes silent collection of behavioral data and can capture sensitive inferences users never meant to store permanently.

Content

No source excerpt is available for this finding.