Memory V2

Security checks across malware telemetry and agentic risk

Overview

This appears to be a real memory/search skill, but it persists and can bulk-change memories, and one ID-based delete/search path is not safely scoped.

Review this before installing if the memory store may contain sensitive data. Use a controlled database path, avoid saving secrets, back up memories before enabling maintenance, verify the optional LLM privacy boundary, and ask the maintainer to fix ID escaping/validation for get/delete/update operations.

VirusTotal

VirusTotal findings are pending for this skill version.

View on VirusTotal

Risk analysis

Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.

#
ASI02: Tool Misuse and Exploitation
Medium
What this means

A malformed or malicious memory ID could cause the skill to retrieve, delete, or update the wrong stored memories.

Why it was flagged

The caller-controlled memory ID is inserted directly into LanceDB query/delete expressions. If LanceDB treats the string as an expression, a quoted or operator-containing ID could broaden reads, deletes, or updateMemory operations beyond the intended single memory.

Skill content
.filter(`id = '${id}'`) ... await this.collection.delete(`id = '${id}'`);
Recommendation

Validate memory IDs to a strict safe pattern and use parameterized or escaped filters for get/delete/update operations; require confirmation for destructive actions.

#
ASI08: Cascading Failures
Low
What this means

If maintenance is enabled automatically or configured poorly, many stored memories could be archived or lose detail at once.

Why it was flagged

Maintenance can evaluate up to 10,000 memories and then update low-priority entries, including replacing content with a summary when an LLM is configured and marking records archived.

Skill content
const allMemories = await this.vectorStore.search('', 10000); ... await this.vectorStore.updateMemory(memory.id, { content: summary, ... }); ... status: 'archived'
Recommendation

Run maintenance manually at first, keep backups, add a dry-run mode, and make compression/archiving thresholds explicit before scheduling it.

#
ASI06: Memory and Context Poisoning
Low
What this means

Private information saved as memory may remain available in later sessions, and poisoned or instruction-like memory content could influence future agent behavior if trusted blindly.

Why it was flagged

The skill persistently stores user-provided memory content, metadata, and embeddings for later semantic search and reuse.

Skill content
await this.collection.add([{ id, vector: Array.from(embedding), content, metadata: { ... } }]);
Recommendation

Only store information intended for long-term recall, avoid secrets, isolate the database path, and treat retrieved memories as untrusted context unless verified.

#
ASI07: Insecure Inter-Agent Communication
Low
What this means

If the configured LLM is remote, memory contents may leave the local machine during maintenance summarization.

Why it was flagged

When an optional LLM interface is configured, memory content is included in a summarization prompt sent to that LLM interface.

Skill content
const prompt = `请用一句话总结以下内容,保留核心信息:\n\n${content}`; const response = await this.llm.generate(prompt);
Recommendation

Use a trusted/private LLM for summarization, disclose this data flow to users, and allow users to disable LLM-based compression.

#
ASI04: Agentic Supply Chain Vulnerabilities
Low
What this means

Installation and first use depend on third-party packages and downloaded ML models.

Why it was flagged

The skill relies on npm-installed packages and first-run model downloads, which are disclosed and aligned with the embedding/NER purpose but add external supply-chain dependencies.

Skill content
npm install ... 首次运行: 会自动下载模型(~500MB),需要网络连接
Recommendation

Install from a trusted source, review package-lock/dependencies, and pin or mirror models if operating in a sensitive environment.