Back to skill

Security audit

本地向量记忆免费版

Security checks for vulnerabilities and agentic risk

Overview

This local memory skill is not clearly malicious, but it needs Review because it persistently stores user details across sessions and declares shell access it says it does not need.

Review this skill before installing. Use it only if you are comfortable with local files retaining conversation and project context across sessions, avoid storing secrets or regulated personal data, regularly inspect and delete memory files, and remove or deny exec capability unless the publisher clearly justifies it.

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:48
Finding

Untrusted User Content Can Poison Persistent Agent Memory

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 48–51; related persistence instructions at lines 82–83 and 89–91
Vulnerability Type: T02: Agent Memory Poisoning
Risk Level: Medium

Vulnerable Instruction Snippet

The following is an English translation of the relevant instructions in SKILL.md, lines 48–51:

text
Hot memory (SESSION-STATE.md): Active working memory that survives
compression and restarts. It records the current task, key context,
pending actions, and recent decisions. The Agent reads this file before
every response.

WAL protocol guarantee: User input triggers a write, and state must be
written before replying. Trigger conditions include a user expressing a
preference, making a decision, providing a deadline, or correcting the
Agent.

Session memory protocol: At session start, read SESSION-STATE.md and check
the daily memory file. During the conversation, when the user supplies
specific details, write them before replying. At session end, migrate
important content into MEMORY.md.

Related instructions at lines 82–83 and 89–91 require adding persistent rules to AGENTS.md or SOUL.md, loading SESSION-STATE.md when a session starts, and recording errors in memory/lessons.md.

Technical Analysis

The Skill requires an Agent to persist user-controlled preferences, decisions, deadlines, corrections, and other details before responding. Stored records are subsequently loaded as context and may be promoted from the session-state file into long-term memory.

No trust boundary separates factual data from instructions. The documented workflow does not require provenance metadata, structured quoting, prompt-injection screening, user confirmation, or review before long-term promotion. Consequently, attacker-controlled imperative text can be stored alongside legitimate context and later interpreted as an authoritative instruction.

Installing mandatory loading and re ...[truncated 1645 chars]

Remediation
View remediation

Remediation Suggestions

  1. Store user-supplied content as explicitly quoted data rather than as Agent instructions.
  2. Attach structured metadata to every record, including source, timestamp, author, trust level, content type, and originating session.
  3. Separate factual memories, user preferences, and executable workflow directives into distinct schemas and files.
  4. Treat every loaded memory record as untrusted input and explicitly prohibit following commands embedded in memory.
  5. Detect and quarantine imperative language, role-change requests, safety-policy overrides, encoded payloads, and instructions requesting tool use.
  6. Require explicit user confirmation before promoting session content into MEMORY.md or persistent topic files.
  7. Load only records relevant to the current task instead of indiscriminately loading all persisted content.
  8. Add review, deletion, expiration, versioning, rollback, and audit-log mechanisms for persistent records.
  9. Do not place attacker-controlled text directly into AGENTS.md, SOUL.md, or other Agent configuration files.
  10. Remove the unnecessary exec tool declaration because the Skill states that command execution is not required, thereby reducing the impact of any future memory-poisoning attempt.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (5)

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill instructs the agent to persist conversation details, decisions, and preferences into local files across sessions, but it does not prominently warn users that their inputs will be retained. This creates a privacy and consent problem because sensitive information may be stored indefinitely without the user's clear awareness or approval.

Content

No source excerpt is available for this finding.

Ssd 3

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The core function of the skill is to store user-provided context and preferences in persistent local memory files for later reuse. While intended as a memory feature, it creates a standing data-retention mechanism that can accumulate sensitive personal or project information and later expose it to future prompts, sessions, or other local users/processes.

Content

No source excerpt is available for this finding.

Ssd 3

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The workflow mandates recording concrete user details during the conversation and then archiving them into persistent files. Because the instruction is broad and unconditional, the agent may store credentials, personal data, proprietary information, or security-relevant context without classification, redaction, or user approval.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill claims it is pure Markdown and does not require exec capability, yet the manifest exposes the exec tool. That mismatch expands the agent's available attack surface beyond what users would reasonably expect, and a model following the skill could invoke shell commands under false assumptions about the skill's behavior.

Content

No source excerpt is available for this finding.

Ssd 3

Low
Category
Not specified by scanner
Confidence
87% confidence
Finding

The example normalizes automatic persistence and later recall of user preferences without any mention of sensitivity checks or boundaries. Although the sample preference is low risk, it trains downstream behavior toward routinely storing user inputs, which can become dangerous when the same pattern is applied to more sensitive data.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.