Skill flagged — suspicious patterns detected
ClawHub Security flagged this skill as suspicious. Review the scan results before using.
Enhanced Memory System with 4 Types
v1.1.0完整记忆系统 - 文件系统记忆 + 向量搜索 + 自动加载 + Memory Flush + 四类记忆分类
⭐ 0· 60·0 current·0 all-time
MIT-0
Download zip
LicenseMIT-0 · Free to use, modify, and redistribute. No attribution required.
Security Scan
OpenClaw
Suspicious
medium confidencePurpose & Capability
The skill's name/description (file-based memory + vector search) matches the included code and tools. However, the documented tool parameters say paths are 'relative to memoryDir' while the implementation accepts absolute paths and does not enforce confinement to memoryDir. That allows reading or writing arbitrary files on disk if a caller provides absolute or crafted paths, which is not proportional to the stated purpose of managing a dedicated memory directory.
Instruction Scope
SKILL.md instructs normal memory operations (search, write, flush). The code follows those instructions, but memory_get/memory_write handlers accept file paths and the underlying expandPath permits absolute paths and resolves them directly, enabling access outside the configured memoryDir. Additionally, embed.ts builds a shell command (curl) incorporating user text without robust escaping of single quotes — creating potential command injection when embeddings are generated. These behaviors expand the runtime scope beyond the documented, benign file-based memory usage.
Install Mechanism
There is no external download/install spec; the skill is delivered as source files in the bundle. No remote install URLs or archive extraction were specified, so installation risk from arbitrary remote code is low. The bundle does include code that will run inside the agent environment.
Credentials
The skill requests no secrets or environment variables beyond standard HOME access. It interacts with a local Ollama service (http://localhost:11434) and calls the 'ollama' binary if vectorEnabled. Those are reasonable for local embedding, but the use of child_process.exec with interpolated content and reliance on a local HTTP endpoint expands the attack surface. No cloud credentials or unrelated secrets are requested.
Persistence & Privilege
The skill is not always-enabled and does not request elevated privileges. It registers onSessionStart auto-load hooks and provides flush behavior — expected for a memory skill. No modification of other skills' configs or system-wide settings is observed.
What to consider before installing
This skill implements a plausible file-backed memory system and semantic search, but it has two notable implementation risks you should consider before installing:
1) Arbitrary filesystem access: although the docs say file paths are relative to the configured memoryDir, the runtime code accepts absolute paths and does not enforce that files live inside memoryDir. If an attacker or a mistaken call provides an absolute path (or path traversal), the skill can read or write files anywhere the agent process can access. To mitigate: only grant the agent limited filesystem permissions, review/patch the code to canonicalize and restrict paths to memoryDir, and avoid passing untrusted file paths to memory_get/memory_write.
2) Shell command injection risk in embedding: embed.ts constructs a curl command via a shell exec and only escapes double quotes; single quotes or other shell metacharacters in the text can break the JSON wrapper and allow command injection. To mitigate: run Ollama via a proper HTTP client (no shell), use execFile/spawn with args, or robustly escape single quotes; avoid enabling vector embeddings on untrusted inputs until fixed.
Other notes: the skill runs locally and doesn't phone home, and there is no external install URL, which reduces remote-code risk. Still, if you plan to use it, either run it in a sandbox/container, inspect/patch the code to enforce path confinement and safe subprocess usage, or only use the non-vector (keyword) mode until embedding calls are made safe. If you want, I can produce a minimal patch to (a) enforce that memory_{get,write} only operate under memoryDir and (b) replace the curl/exec code with a safe HTTP request implementation.Like a lobster shell, security has layers — review code before you run it.
latestvk97aad6n43a97f8tjt55nj794n83zmwx
License
MIT-0
Free to use, modify, and redistribute. No attribution required.
