Back to skill

Security audit

Mem0 Status Check

Security checks for vulnerabilities and agentic risk

Overview

This skill is a local mem0 diagnostic helper, but it can expose the full local memory store when only a health check is requested.

Review before installing. Use this only in a trusted local admin context, and preferably change the workflow so it asks before running commands and returns sanitized health, count, and connectivity results instead of full memory contents.

Vulnerability Patterns
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
  • 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
Findings (1)

T05 · Unauthorized Access and Privilege Escalation

Warning
Location
SKILL.md:17
Finding

Unnecessary Retrieval of Complete User Memory Collection During Health Check

Content
View full analysis
0 ``` ### Technical Analysis The Skill invokes `get_all main_user` to determine whether the memory store contains any records. This operation retrieves the complete memory list even though the stated health-check objective requires only a count or availability result. Stored agent memories may contain private conversation content, personal information, credentials, or other sensitive context. Returning all records places their contents in the command output and active agent session. This violates least-privilege and data-minimization principles because the requested status check does not require access to individual memory bodies. The hard-coded administrator-specific interpreter and storage paths further indicate that the check may execute in a privileged local environment, although the document itself does not elevate privileges or bypass an access-control mechanism. ### Attack Path 1. A user asks whether mem0 is functioning, triggering the status-check Skill. 2. The agent follows the documented procedure and invokes `mem0_wrapper.py get_all main_user`. 3. The wrapper returns the complete memory list rather than a content-free health result. 4. All returned memory contents enter the process output and may become visible to the invoking agent or active session. 5. Sensitive information present in stored memories can consequently be disclosed beyond what is necessary to answer the status request. The reviewed file does not instruct the agent to transmit this information externally, so the demonstrated exposure is limited to unnecessary local/session-level access. ...[truncated 590 chars]
Remediation
View remediation
Vulnerability Patterns
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (3)

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The trigger phrases are broad enough that ordinary questions about mem0 status or functionality could automatically invoke a skill that performs local diagnostics. In this context, that means a user-facing conversational query may cause sensitive local command execution and environment inspection without clear confirmation or scope restriction.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The skill’s natural-language description and output format are entirely in Chinese, indicating a fixed language expectation, but there is no opt-in or user language choice described. Under the policy, forcing a specific language without user choice is a locale/language policy concern.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The skill embeds direct execution of local PowerShell/Python commands and filesystem inspection against specific host paths, but provides no warning, consent gate, or sandboxing requirement. If invoked automatically, it can disclose memory contents, operational metadata, and filesystem details from the host environment, creating a clear local data exposure and unsafe-action risk.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.