Back to skill

Security audit

MemPalace

Security checks for vulnerabilities and agentic risk

Overview

This skill is a disclosed local persistent-memory helper, with privacy considerations users should understand before storing sensitive content.

Install only if you intend to maintain local persistent memory. Do not store secrets, credentials, private user data, or proprietary material unless long-term local retention is intended, and be careful when surfacing search or diary results because they may include verbatim stored content.

Vulnerability Patterns
  • 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
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • YARA SignaturesMalware Match, Webshell Match, Cryptominer Match
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (8)

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The skill explicitly documents a default on-disk storage location for persistent semantic memory but does not warn users that submitted content will be retained locally across sessions. This can cause users to store sensitive prompts, credentials, personal data, or proprietary information without informed consent, increasing confidentiality and privacy risk in a memory-management skill whose core purpose is data retention.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The reference explicitly says semantic search returns verbatim drawer content, but it provides no warning about privacy, sensitive data exposure, or least-privilege usage. In a persistent semantic memory system, search results may contain personal, confidential, or cross-session data, so normalizing unrestricted verbatim retrieval increases the chance that downstream agents over-query and disclose sensitive memory contents.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The diary write/read tools are presented as routine utilities without warning that diary entries are likely to contain highly sensitive personal, operational, or reflective information. Because the feature is explicitly a personal agent diary stored persistently, missing sensitivity guidance can lead agents or integrators to store secrets, private user data, or internal reasoning and later retrieve or expose it inappropriately.

Content

No source excerpt is available for this finding.

YARA rule 'network_reconnaissance': Network reconnaissance and scanning patterns [hacktools]

Medium
Category
YARA Match
Confidence
65% confidence
Finding

YARA rule matched a hack tool or exploit indicator (offensive tools, reconnaissance, privilege escalation, or exploit frameworks).

Content

Scanner excerpt · references/mcp_tools.md (reported line 250)May include surrounding context.

ary_read Read your recent diary entries.

Input:

json
{
  "agent_name": "Varg",   // required
  "last_n": 10            // optional, default 10
}

AAAK Dialect

AAAK es un formato de memoria comprimida usado por MemPalace.

Formato:

  • ENTITIES: Códigos de 3 letras mayúsculas. ALC=Alice, JOR=Jordan, etc.
  • EMOCIONES: Marcadores action antes/durante texto. warm=joy, fierce=determined, raw=vulnerable
  • ESTRUCTURA: Campos separados por pipes. FAM: family | PROJ: projects | ⚠: warnings
  • FECHAS: Formato ISO (2026-03-31)
  • IMPORTANCIA: ★ a ★★★★★ (escala 1-5)

Ejemplo:

text
FAM: ALC→♡JOR | 2D(kids): RIL(18,sports) MAX(11,chess+swimming) | BEN(contributor)

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

This code performs a persistent data write by adding the provided content and metadata to a ChromaDB collection. Although the script name suggests adding memory, there is no user-facing warning, confirmation prompt, or explanatory comment/docstring near the write path describing that the supplied content will be permanently stored under the configured palace path.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
81% confidence
Finding

The file presents core instructions in Spanish while also using English phrases such as 'Use when you need to...' and command argument labels, effectively imposing a mixed-language experience without user opt-in. Under the language policy check, this can be considered a locale/language constraint that is not explicitly justified or offered as a choice.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
84% confidence
Finding

The docstring contains Spanish text ("Consultar el knowledge graph") while the rest of the CLI interface is in English. This imposes a language choice in user-facing text without any opt-in or indication that the tool is intentionally locale-specific.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
91% confidence
Finding

The module docstring includes a Spanish-only description ('Búsqueda semántica en el palacio') while the rest of the CLI interface is in English, indicating a locale choice imposed by the skill rather than offered to the user. This can violate language/locale policy when no opt-in or justification for the non-default language is provided.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.