Back to skill

Security audit

Memory Complete

Security checks for vulnerabilities and agentic risk

Overview

This is a real local memory skill, but it warrants review because it persistently stores broad personal and agent data and can send memory contents to a configurable Ollama HTTP endpoint.

Review before installing. Use it only if you are comfortable with a persistent local SQLite memory database containing prompts, notes, diary-like entries, inferred beliefs/emotions, and platform-message content. Keep Ollama disabled unless you trust the endpoint, and avoid remote ollama_url values unless you understand that memory content may be sent there. Expect installation and verification to create and modify the local database.

Vulnerability Patterns
  • 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
  • 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
Findings (2)

T09 · Insecure Skill Coding Practices

Warning
Location
scripts/ollama_embedding.py:13
Finding

Unrestricted Ollama endpoint can receive private query and memory content

Content
View full analysis
bool: """Check Ollama service""" try: response = requests.get(f"{self.base_url}/api/tags", timeout=5) return response.status_code == 200 except: return False def embed(self, text: str) -> List[float]: """Generate embedding""" try: payload = {"model": self.model, "prompt": text} response = requests.post(self.api_url, json=payload, timeout=30) result = response.json() embedding = result.get('embedding', []) if embedding: self.dimension = len(embedding) return embedding except Exception as e: print(f"Embedding failed: {e}") return [] class MemoryWithOllama: """Memory system integrated with Ollama""" def __init__(self, memory_system, ollama: OllamaEmbedding = None): self.memory = memory_system self.ollama = ollama or OllamaEmbedding() self.cache = {} def semantic_search(self, query: str, limit: int = 10) -> List[Dict]: """Semantic search""" if not self.ollama.check_connection(): return self.memory.search(query, limit) query_emb = self.ollama.embed(query) if not query_emb: return self.memory.search(query, limit) memories = self.me ...[truncated 3079 chars]
Remediation
View remediation

T08 · Insecure Dependencies

Note
Location
package.json:24
Finding

Python dependencies are incorrectly declared as npm packages

Content
View full analysis
Remediation
View remediation
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (53)

Tp4

High
Category
MCP Tool Poisoning
Confidence
95% confidence
Finding

The skill documents calls to a local HTTP Ollama service for embeddings without corresponding permission disclosure. Any undocumented network interaction, even to localhost, increases attack surface and can expose sensitive memory content to another service without clear user awareness.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

The skill documents calls to a local HTTP Ollama service for embeddings without corresponding permission disclosure. Any undocumented network interaction, even to localhost, increases attack surface and can expose sensitive memory content to another service without clear user awareness.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
95% confidence
Finding

The skill documents calls to a local HTTP Ollama service for embeddings without corresponding permission disclosure. Any undocumented network interaction, even to localhost, increases attack surface and can expose sensitive memory content to another service without clear user awareness.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
92% confidence
Finding

The skill documents calls to a local HTTP Ollama service for embeddings without corresponding permission disclosure. Any undocumented network interaction, even to localhost, increases attack surface and can expose sensitive memory content to another service without clear user awareness.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
95% confidence
Finding

The skill documents calls to a local HTTP Ollama service for embeddings without corresponding permission disclosure. Any undocumented network interaction, even to localhost, increases attack surface and can expose sensitive memory content to another service without clear user awareness.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
96% confidence
Finding

The skill documents calls to a local HTTP Ollama service for embeddings without corresponding permission disclosure. Any undocumented network interaction, even to localhost, increases attack surface and can expose sensitive memory content to another service without clear user awareness.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
97% confidence
Finding

The skill documents calls to a local HTTP Ollama service for embeddings without corresponding permission disclosure. Any undocumented network interaction, even to localhost, increases attack surface and can expose sensitive memory content to another service without clear user awareness.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
94% confidence
Finding

The skill documents calls to a local HTTP Ollama service for embeddings without corresponding permission disclosure. Any undocumented network interaction, even to localhost, increases attack surface and can expose sensitive memory content to another service without clear user awareness.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
Not specified by scanner
Confidence
96% confidence
Finding

The file implements tables for security scans, vulnerability findings, OSINT intelligence, and attack chains inside a component described as a memory system. That materially expands the skill's capability into cyber-intelligence and offensive/security-tracking data management without any access control, scoping, or justification in the stated purpose, increasing misuse potential and sensitive-data retention risk.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

High
Category
Not specified by scanner
Confidence
95% confidence
Finding

The presence of cybersecurity intelligence and attack-tracking schema is inconsistent with the declared memory-focused functionality, which suggests capability creep into handling highly sensitive operational security data. In an agent skill context, this creates a dangerous substrate for collecting, correlating, and persisting targeting or attack information beyond user expectations.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The README advertises persistent memory, diary-writing, and local storage features but does not clearly warn users that potentially sensitive prompts, personal notes, or inferred emotional data may be stored on disk. In a memory system skill, that omission matters because users may reasonably input private information without understanding retention, creating privacy and data-handling risk.

Content

No source excerpt is available for this finding.

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
93% confidence
Finding

The skill advertises optional Ollama integration over HTTP and multi-platform connectivity, but the manifest declares no explicit tool scope or permissions. Missing permission declarations weaken reviewability and can let network-capable behavior be introduced without informed user consent or policy enforcement.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

Advertising dream-cycle maintenance and self-evolution without user warning enables autonomous background processing and possible modification of stored knowledge or behavior outside the immediate user interaction. Undisclosed autonomous actions are risky because they can alter memory state, consume resources, or propagate errors without timely oversight.

Content

No source excerpt is available for this finding.

Ssd 3

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The skill openly describes broad, persistent retention of interaction data including diaries, layered context, messages, and timelines. In a memory skill context this is especially sensitive because aggregation across time and platforms can create rich behavioral profiles, magnifying harm from misuse, overcollection, or compromise.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill describes persistent storage of memories, diaries, beliefs, and platform messages without any prominent warning about retention, privacy, or consent. Because this system centralizes highly sensitive user and agent data, lack of disclosure can lead to unintentional long-term capture of personal, behavioral, and potentially confidential information.

Content

No source excerpt is available for this finding.

Ssd 3

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The explicit schema for platform messages, session summaries, diaries, and system configuration indicates centralized accumulation of potentially sensitive content and metadata. Centralized stores are high-value targets, and in this skill context the aggregation of cross-session and cross-platform data materially increases privacy and breach impact.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

Initialization connects to a persistent SQLite database and creates all tables automatically, including sensitive ones, without any user-facing notice, consent flow, or safe-mode option. In a memory system, silent persistence can surprise users and lead to unintended retention of personal, behavioral, or security-related data.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The test routine inserts a sample memory record into the live persistent database when the script is run directly, with no warning or isolation from production data. This can pollute real memory stores, create misleading records, and normalize silent writes during testing.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The manifest says the skill is a "Complete Memory System - Unified integration of all memory features," but this file performs keyword-based sentiment and emotion classification. Nothing in the implementation stores, retrieves, consolidates, or otherwise manages memory features.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
83% confidence
Finding

This code file contains prominent natural-language descriptions and docstrings in Chinese, including the class docstring, without any indication that language is configurable or user-selected. Under the policy for natural-language violations, a skill that effectively fixes its user-facing language to one locale without opt-in can violate language/locale expectations.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

This Python file contains its descriptive docstrings, comments, and all user-facing print messages in Chinese, which imposes a specific language on users running the script. The file does not offer any language selection, fallback, or documented justification for being Chinese-only, so it violates the language/locale policy criterion.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The script initializes tables for security scans, vulnerability findings, OSINT intelligence, and attack chains inside a skill described as a memory system. Even though this file only creates schema and does not execute offensive actions itself, provisioning offensive/security-intelligence data stores expands the system's capability boundary and may enable later misuse, especially in an agent environment where stored data can drive autonomous behavior.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

This code file contains user/developer-facing natural language primarily in Chinese, including the module description and function docstring, while also presenting itself as a general database initialization script. Under the stated policy, forcing a specific language without opt-in or documented justification is a natural-language policy violation.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The manifest describes a 'Complete Memory System - Unified integration of all memory features', which supports creating storage for memory-related data. However, this script also creates tables for security scans, vulnerability findings, OSINT intelligence, and attack chains, which are distinct security/offensive analysis capabilities rather than obvious memory features.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The module title and all user-facing documentation strings are written in Chinese, with no indication that users may choose another language or locale. This creates a natural-language locale constraint that is not documented as optional or region-specific.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.