Back to skill

Security audit

Human Like Memory

Security checks for vulnerabilities and agentic risk

Overview

This memory skill is not clearly malicious, but it stores and reinjects personal context by default and installs external ML dependencies in ways users should review before enabling.

Install only if you are comfortable with a skill that can automatically remember conversation details, keep them in local plaintext JSON-style memory, and inject selected memories into future prompts. Avoid storing secrets, credentials, exact addresses, medical or financial details, and sensitive business data. Review or disable autoRemember and injection defaults, inspect memory files regularly, and prefer pinned dependencies plus verified official model sources before use.

Vulnerability Patterns
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • 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
Findings (3)

T02 · Agent Memory Poisoning

Error
Location
injection-engine.js:189
Finding

Persistent Stored-Memory Content Is Injected into Agent Prompts Without Trust-Boundary Controls

Content
View full analysis
{ const content = memory.compressedContent || memory.content; const tags = memory.tags ? `[${memory.tags.slice(0, 3).join(', ')}]` : ''; const importance = this.importanceIcon(memory.importance); return `${importance} ${content} ${tags}`; }); return `\n📚 相关记忆:\n${lines.join('\n')}`; } /** * Detailed format */ formatDetailed(memories) { const lines = memories.map(memory => { const content = memory.originalContent || memory.content; const meta = [ `重要性:${memory.importance}`, `分类:${memory.category}`, `时间:${new Date(memory.timestamp).toLocaleDateString('zh-CN')}` ].join(', '); return `• ${content}\n (${meta})`; }); return `\n📚 相关记忆:\n${lines.join('\n\n')}`; } ``` Injection is enabled by default: ```json "injection": { "enabled": true, "maxMemories": 5, "minImportance": 50, "format": "concise" } ``` ### Technical Analysis The engine concatenates stored memory content directly into text intended for an agent prompt. It does not: - Mark memory content as untrusted data. - Escape or reject instruction-like content. - Separate data and instructions using a structured message boundary. - Record and enforce provenance or trust levels. - Require confirmation before reusing externally influenced memories. Consequently, a stored memory containing imperative text can be interpreted as an agent instruction when it is selected in a later session. Because memories are designed to persist and influence future conversations, this is a persistent indirect prompt-injection and memory-poisoning path. The high-importance selection logic ...[truncated 1337 chars]
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Warning
Location
compression-engine.js:156
Finding

Automatic Plaintext Retention of Sensitive Personal Memory Data

Content
View full analysis
Remediation
View remediation

T08 · Insecure Dependencies

Warning
Location
install.sh:27
Finding

Automatic Re-Resolution of Dependencies and Unverified Model Retrieval

Content
View full analysis
Remediation
View remediation
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • 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 (48)

Known Vulnerable Dependency: protobufjs==6.11.4 — 11 advisory(ies): CVE-2026-44294 (protobuf.js: Denial of service from crafted field names in generated code); CVE-2026-44293 (protobuf.js: Code injection through bytes field defaults in generated toObject c); CVE-2026-44289 (protobuf.js: Denial of service through unbounded protobuf recursion) +8 more

Critical
Category
Supply Chain
Confidence
95% confidence
Finding

protobufjs 6.11.4 is flagged with multiple serious advisories including denial of service and potential code-injection issues in generated code paths. In a memory-management skill that relies on ML/vector tooling and may process structured or external model data, a vulnerable protobuf implementation materially increases risk if untrusted protobuf payloads, schemas, or generated artifacts are ever handled.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
90% confidence
Finding

该代码块的核心功能是文本压缩:根据 importance 分数选择 full/summary/keywords/forget,使用简单提取式摘要和词频关键词提取,并保留原文用于解压。这与声明中的“智能摘要”部分一致,但声明强调的是更完整的上下文管理系统能力,包括向量化检索、三层存储分层和按需注入;这些能力在代码中均未出现。代码也没有任何检索索引、向量表示、存储层迁移、注入策略或上下文编排逻辑。因此描述明显高于实际实现范围,属于描述与行为不一致。

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

声明描述的是“记忆/上下文管理”类运行时功能,但提供的代码并未实现任何向量化检索、摘要、分层存储或按需注入逻辑。相反,它是一个运维/发布脚本,主要用途是将某个技能发布到 ClawHub。其实际行为涉及本地目录检查、登录状态检测、用户交互、远程发布和搜索验证,这些都属于与声明主功能显著不同的能力。因此描述与代码行为存在明显不匹配。

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
91% confidence
Finding

声明描述的是一个较完整的“智能上下文管理系统”,核心能力包括向量化检索、分层存储和按需注入;但提供的代码片段仅是 test-compression-engine.js,主要用于本地测试一个摘要压缩引擎。代码实际行为集中在:按重要性阈值决定压缩级别、生成摘要、提取关键词、批量压缩记忆、统计节省量以及解压测试。这与描述中的“智能摘要”部分是吻合的,但对“向量化检索”“HOT/WARM/COLD 三层存储”“按需注入”等关键声明能力没有任何实现迹象。此外,代码的主要目的还是测试,而不是直接提供上下文管理系统功能。因此描述与实际代码行为存在实质性不匹配。

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
95% confidence
Finding

该代码片段仅展示了向量化相关能力的测试流程,主要验证 embedding 生成、相似度计算、搜索、批处理和统计信息。这与声明中的“支持向量化检索”部分一致,但没有看到智能摘要、三层存储管理或按需注入等核心功能实现。此外,代码的直接目的更像是测试向量引擎,而不是实现一个完整的“模仿人类记忆机制的智能上下文管理系统”。因此,声明对该代码片段的能力描述明显更宽,存在实质性描述不符。

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
95% confidence
Finding

该代码块的实际功能与描述部分重合于“向量化检索”,因为它确实实现了 embedding 生成、相似度计算和搜索。但声明将其描述为一个完整的“智能上下文管理系统”,并明确列出智能摘要、三层存储和按需注入等能力,而这些在提供的代码中均不存在。代码的主要职责更准确地说是一个向量记忆引擎/检索组件,而不是完整的记忆管理系统。另有一点是,代码会自动下载约 200MB 模型并写入本地缓存目录,这属于实现细节,不单独构成风险性 mismatch;真正的 mismatch 在于宣称的核心能力明显超出实际实现范围。

Content

No source excerpt is available for this finding.

Known Vulnerable Dependency: sharp==0.32.6 — 2 advisory(ies): GHSA-f88m-g3jw-g9cj (sharp inherited vulnerabilities in libvips: CVE-2026-33327, CVE-2026-33328, CVE-); GHSA-rgj7-g3m4-5g8c (sharp: Vulnerabilities in libheif: GHSA-g89c-p67h-r497 and GHSA-2jg2-4ch7-h545)

High
Category
Supply Chain
Confidence
91% confidence
Finding

sharp 0.32.6 depends on native image-processing libraries and is reported as inheriting vulnerabilities in libvips/libheif. If this skill ever processes user-supplied images, thumbnails, or model-related image assets, crafted files could trigger memory-safety issues or denial of service in native code, making the dependency more dangerous than a purely theoretical package risk.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
84% confidence
Finding

This markdown file presents all operational guidance, warnings, and examples exclusively in Chinese. Under the policy, forcing a specific language without user opt-in can be a natural-language policy violation unless the locale constraint is explicitly documented and justified.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

该技能清单描述其为本地的上下文管理/记忆系统,而此处文档将向量检索描述为“本地运行”,但又在同一文档后文说明会自动下载约 200MB 模型且首次使用需要稳定网络。这会让使用者误以为能力完全本地、无外部访问,而实际存在远程获取模型的行为。

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The changelog advertises persistent memory, JSON-based storage, review queues, statistics tracking, and memory export, but it does not mention user consent, retention limits, privacy warnings, or handling of sensitive data. In a memory-management skill that stores cross-session user information, this omission increases the risk that operators or users enable collection and export of personal data without understanding persistence or exposure.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The document explicitly advertises cross-session memory persistence, automatic conversation scanning, and automatic compression/retention behavior, but it does not present any user-facing privacy notice, consent flow, retention disclosure, or guidance on handling sensitive content. In a memory-management skill, these behaviors increase the chance that personal, confidential, or regulated data will be stored or reused unexpectedly across sessions, which is a real privacy and data-governance risk even if no overtly malicious behavior is shown.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

SQP-3 applies to all file types and includes language or locale policy violations. This file presents all operational guidance, warnings, and examples only in Chinese, with no indication that the user can choose another language or that the locale restriction is intentional and justified.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The document explicitly promotes automatic background installation of a Node package and says no manual npm install is needed, but it does not warn users that this triggers package download and execution with system/network side effects. In an agent skill context, silent dependency installation increases supply-chain and user-consent risk because users may invoke the skill without realizing code will be fetched and installed.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The README documents automatic memory capture for preferences, decisions, and contact information, but does not clearly warn users that this data will be stored locally in persistent files. In a memory-management skill, silent persistence of potentially sensitive conversation content increases privacy risk because users may disclose personal data without informed consent or understanding of retention behavior.

Content

No source excerpt is available for this finding.

Ssd 3

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The skill explicitly promotes automatic retention, review, and export of user-provided information, including sensitive categories such as preferences, decisions, and contact details, using plain local JSON storage. That combination increases the chance of over-collection and later exposure of personal data through files, exports, or resurfaced memory content, especially without strong minimization and consent controls.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

The documented deletion command is destructive and presented without confirmation, recovery, or safety guidance. This creates a realistic risk of accidental or unauthorized deletion of stored memory data, especially in conversational interfaces where commands can be triggered by mistake or via ambiguous instructions.

Content

No source excerpt is available for this finding.

Ssd 3

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The examples encourage persistence of schedule and project details that can contain sensitive personal or business context and may later be re-injected into prompts or exposed from local storage. In this skill's context, the danger is elevated because the core functionality is long-term retention and retrieval, so example usage materially normalizes storing data that users may not expect to remain accessible over time.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The release notes actively encourage users to store and retrieve highly personal persistent memories such as home location, schedules, preferences, and health-related data, but they do not clearly warn about privacy risks, retention scope, access controls, or safe handling of sensitive information. In a memory-management skill, this omission is security-relevant because users may input sensitive personal data without understanding that it may persist locally or be exposed through later retrieval, logging, backups, or context injection.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
83% confidence
Finding

The manifest description and all user-facing documentation are written in Chinese, and there is no indication that other languages are supported or that the locale restriction is intentional and justified. Per the policy rule, forcing a specific language without user opt-in can constitute a natural-language policy violation.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The markdown explicitly advertises automatic background dependency installation via npm without emphasizing that this changes the local system and executes package-management actions. In a skill ecosystem, silent or under-disclosed dependency installation increases supply-chain and local-environment risk because users may not realize third-party code will be fetched and installed automatically.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
84% confidence
Finding

The natural-language content of the skill instructions is entirely in Chinese, and the document does not indicate that the user may choose another language or that the skill is intentionally limited to a Chinese-speaking or region-specific context. Under the stated policy, forcing a specific language without user opt-in is a natural-language policy concern.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The test instructions explicitly ask users to store personal preference and location data such as '我住在杭州西湖区,喜欢喝拿铁咖啡' and later include even more sensitive examples like schedules, allergies, and project details, but provide no privacy notice, data minimization guidance, or warning not to use real personal data during testing. In a memory-management skill whose purpose is persistent storage and retrieval, this materially increases the chance that real sensitive information will be retained, exposed in later prompts, or mishandled by logs, sync, backups, or other components.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The testing guide tells users to run /remember commands containing personal details like location and preferences, but it does not disclose that these examples will persist user data into the skill's memory store. In a memory-management skill, silent persistence of personal data increases privacy risk because users may unknowingly seed long-lived sensitive context that could later be retrieved, exposed, or mishandled.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The file's natural-language instructions, headings, commands context, and expected outputs are all presented in Chinese, which effectively forces a specific language for users. The policy allows locale constraints only when users are given a choice or when the restriction is clearly documented and justified, neither of which appears here.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

This JavaScript file contains natural-language descriptions entirely in Chinese, including the title and operational explanations, with no indication that language selection is optional. The policy requires flagging language or locale constraints when a skill forces a specific language without user opt-in.

Content

No source excerpt is available for this finding.