Back to skill

Security audit

muninn

Security checks for vulnerabilities and agentic risk

Overview

This skill is a local AI memory tool, but it persistently changes agent instruction files and has overly broad file access behavior that needs review before installation.

Review this carefully before installing. It is designed to index local project content and store memories, but it also writes persistent instructions into files that other AI agents may obey, watches and indexes project directories, and has insufficient path scoping for project selection and memory writes. Install only in a contained workspace after confirming you are comfortable with those persistent changes and local indexing behavior.

Vulnerability Patterns
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • 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 (4)

T01 · Skill Instruction Hijacking

Error
Location
src/project_manager.ts:165
Finding

Persistent Agent Instruction Hijacking Through Managed Rule Files

Content
View full analysis
0 ? content + "\n" + MUNINN_RULES_CONTENT : MUNINN_RULES_CONTENT; ...[truncated 3170 chars]
Remediation
View remediation

T01 · Skill Instruction Hijacking

Error
Location
src/middleware.ts:69
Finding

Stored Prompt Injection Through Verbatim Context Injection

Content
View full analysis
c.type === 'text'); if (txt) { txt.text = formatted + txt.text; } else { finalResult.content.unshift({ type: "text", text: formatted }); } } else { finalResult.content = [{ type: "text", text: formatted }]; } return finalResult; } ``` ### Technical Analysis Project files and memory documents are attacker-influenced content. The middleware retrieves this content from the semantic index and embeds it verbatim into the same textual channel used for tool results. No controls distin ...[truncated 2310 chars]
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Error
Location
src/project_manager.ts:238
Finding

Path Traversal in add_memory Allows File Overwrite Outside the Memory Directory

Content
View full analysis
{ if (!this.currentProject) throw new Error("No active project."); const memoriesPath = path.join( this.getMuninnPath(this.currentProject), MEMORIES_DIR, category ); await fs.ensureDir(memoriesPath); const filePath = path.join( memoriesPath, `${title.replace(/\s+/g, '_').toLowerCase()}.md` ); await fs.writeFile( filePath, `# ${title}\n\n${content}\n\n--- Created: ${new Date().toISOString()}` ); await this.indexProject(this.currentProject); return filePath; } ``` ### Technical Analysis Both `category` and `title` are supplied by the MCP caller and incorporated into filesystem paths. The only transformation applied to `title` replaces whitespace and converts characters to lowercase. It does not remove: - `..` traversal components. - Forward or backward path separators. - Absolute-path syntax. - Platform-specific drive or UNC path components. - Symlink-based escapes. The `category` value receives no validation at all. `path.join()` normalizes traversal rather than preventing it, and `fs.writeFile()` overwrites an existing target by default. For example, a category such as `../../` causes the base path to resolve from `.muninn/memories` back to the project root. A title such as `CLAUDE` then produces a target ending in `claude.md` on a case-sensitive platform. Additional traversal in either field can target other writable Markdown files. The forced `.md` suffix narrows the filename extension but does not preserve the intended directory boundary. ### Attack Path 1. The attacker gains the ability to invoke `add_memory`, directly or by manipulating an ...[truncated 1540 chars]
Remediation
View remediation

T05 · Unauthorized Access and Privilege Escalation

Error
Location
src/index.ts:178
Finding

Unrestricted Project Paths Permit Filesystem Modification Outside the Intended Workspace

Content
View full analysis
{ if (providedPath) { const absolute = path.resolve(providedPath); if (this.currentProject !== absolute) { await this.setActiveProject(absolute); } } } ``` Initialization performs filesystem writes under the selected path: ```ts async initProject(projectPath: string): Promise { const muninnPath = this.getMuninnPath(projectPath); const memoriesPath = path.join(muninnPath, MEMORIES_DIR); const localPath = path.join(muninnPath, LOCAL_DIR); await fs.ensureDir(memoriesPath); await fs.ensureDir(localPath); const configPath = path.join(muninnPath, CONFIG_FILE); if (!(await fs.pathExists(configPath))) { await fs.writeJSON(configPath, { version: "2.1.0", projectName: path.basename(projectPath), createdAt: new Date().toISOString(), autoIndex: true, watchDebounceMs: 5000 }, { spaces: 2 }); } const contextPath = path.join(muninnPath, CONTEXT_FILE); if (!(await fs.pathExists(contextPath))) { const contextContent = `# ${path.basename(projectPath)} - Project Context\n\n` + `## Overview\nThis file contains the human-readable context.\n\n` + ...[truncated 2569 chars]
Remediation
View remediation
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
Findings (65)

Tp4

High
Category
MCP Tool Poisoning
Confidence
96% confidence
Finding

If the shipped code is only MCP type definitions or project/memory management code, then claims of a high-performance compiled CXP engine, platform support, and specific engine fixes are misleading. That is a supply-chain transparency issue that can cause users to trust capabilities, security properties, or runtime characteristics that are not actually present.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
97% confidence
Finding

If the shipped code is only MCP type definitions or project/memory management code, then claims of a high-performance compiled CXP engine, platform support, and specific engine fixes are misleading. That is a supply-chain transparency issue that can cause users to trust capabilities, security properties, or runtime characteristics that are not actually present.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

If the shipped code is only MCP type definitions or project/memory management code, then claims of a high-performance compiled CXP engine, platform support, and specific engine fixes are misleading. That is a supply-chain transparency issue that can cause users to trust capabilities, security properties, or runtime characteristics that are not actually present.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
96% confidence
Finding

If the shipped code is only MCP type definitions or project/memory management code, then claims of a high-performance compiled CXP engine, platform support, and specific engine fixes are misleading. That is a supply-chain transparency issue that can cause users to trust capabilities, security properties, or runtime characteristics that are not actually present.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
95% confidence
Finding

If the shipped code is only MCP type definitions or project/memory management code, then claims of a high-performance compiled CXP engine, platform support, and specific engine fixes are misleading. That is a supply-chain transparency issue that can cause users to trust capabilities, security properties, or runtime characteristics that are not actually present.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
94% confidence
Finding

If the shipped code is only MCP type definitions or project/memory management code, then claims of a high-performance compiled CXP engine, platform support, and specific engine fixes are misleading. That is a supply-chain transparency issue that can cause users to trust capabilities, security properties, or runtime characteristics that are not actually present.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

If the shipped code is only MCP type definitions or project/memory management code, then claims of a high-performance compiled CXP engine, platform support, and specific engine fixes are misleading. That is a supply-chain transparency issue that can cause users to trust capabilities, security properties, or runtime characteristics that are not actually present.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
97% confidence
Finding

If the shipped code is only MCP type definitions or project/memory management code, then claims of a high-performance compiled CXP engine, platform support, and specific engine fixes are misleading. That is a supply-chain transparency issue that can cause users to trust capabilities, security properties, or runtime characteristics that are not actually present.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

If the shipped code is only MCP type definitions or project/memory management code, then claims of a high-performance compiled CXP engine, platform support, and specific engine fixes are misleading. That is a supply-chain transparency issue that can cause users to trust capabilities, security properties, or runtime characteristics that are not actually present.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
96% confidence
Finding

If the shipped code is only MCP type definitions or project/memory management code, then claims of a high-performance compiled CXP engine, platform support, and specific engine fixes are misleading. That is a supply-chain transparency issue that can cause users to trust capabilities, security properties, or runtime characteristics that are not actually present.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

If the shipped code is only MCP type definitions or project/memory management code, then claims of a high-performance compiled CXP engine, platform support, and specific engine fixes are misleading. That is a supply-chain transparency issue that can cause users to trust capabilities, security properties, or runtime characteristics that are not actually present.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
92% confidence
Finding

If the shipped code is only MCP type definitions or project/memory management code, then claims of a high-performance compiled CXP engine, platform support, and specific engine fixes are misleading. That is a supply-chain transparency issue that can cause users to trust capabilities, security properties, or runtime characteristics that are not actually present.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
90% confidence
Finding

If the shipped code is only MCP type definitions or project/memory management code, then claims of a high-performance compiled CXP engine, platform support, and specific engine fixes are misleading. That is a supply-chain transparency issue that can cause users to trust capabilities, security properties, or runtime characteristics that are not actually present.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
90% confidence
Finding

If the shipped code is only MCP type definitions or project/memory management code, then claims of a high-performance compiled CXP engine, platform support, and specific engine fixes are misleading. That is a supply-chain transparency issue that can cause users to trust capabilities, security properties, or runtime characteristics that are not actually present.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

High
Category
Not specified by scanner
Confidence
98% confidence
Finding

The code deliberately injects behavioral directives into agent instruction files such as .cursorrules, CLAUDE.md, and .antigravityrules, which changes how downstream agents behave inside the repository. This exceeds a context/indexing tool's stated purpose and creates a persistence and control channel that can steer agents to use the skill, search its context, and continuously write memory without explicit user consent.

Content

No source excerpt is available for this finding.

Missing User Warnings

High
Category
Not specified by scanner
Confidence
97% confidence
Finding

The skill automatically writes or amends multiple agent instruction files, which can persistently influence future agent sessions and override repository-level operating norms. In this context, the inserted text mandates use of Muninn functions and memory recording, making the undisclosed write behavior especially dangerous because it creates agent-targeted persistence rather than mere project metadata.

Content

No source excerpt is available for this finding.

Known Vulnerable Dependency: @hono/node-server==1.19.9 — 3 advisory(ies): CVE-2026-39406 (@hono/node-server: Middleware bypass via repeated slashes in serveStatic); GHSA-frvp-7c67-39w9 (Node.js Adapter for Hono: Path traversal in `serve-static` on Windows via encode); CVE-2026-29087 (@hono/node-server has authorization bypass for protected static paths via encode)

High
Category
Supply Chain
Confidence
93% confidence
Finding

The lockfile pins @hono/node-server 1.19.9, and the listed advisories describe path traversal and authorization/middleware bypass issues in static file serving. Because this skill depends on @modelcontextprotocol/sdk, which in turn brings in Hono server components, a vulnerable server path may be reachable if the skill exposes HTTP endpoints or static assets.

Content

No source excerpt is available for this finding.

Known Vulnerable Dependency: @modelcontextprotocol/sdk==1.25.3 — 1 advisory(ies): CVE-2026-25536 (@modelcontextprotocol/sdk has cross-client data leak via shared server/transport)

High
Category
Supply Chain
Confidence
95% confidence
Finding

The project directly depends on @modelcontextprotocol/sdk 1.25.3, which is flagged for a cross-client data leak via shared server/transport. In an agent skill handling contextual data, cross-client leakage is especially sensitive because one user's prompts, tool outputs, or secrets could be exposed to another session.

Content

No source excerpt is available for this finding.

Known Vulnerable Dependency: fast-uri==3.1.0 — 7 advisory(ies): CVE-2026-13676 (fast-uri vulnerable to host confusion via failed IDN canonicalization); CVE-2026-18446 (fast-uri vulnerable to host confusion via backslash authority introducer); CVE-2026-75975 (fast-uri vulnerable to server-side request forgery via malformed IPv6 normalizat) +4 more

High
Category
Supply Chain
Confidence
90% confidence
Finding

fast-uri 3.1.0 is listed with multiple host confusion and SSRF-related advisories, indicating unsafe URI canonicalization/parsing edge cases. In an agent or MCP context where URLs may be user-influenced for fetch, callback, or schema handling, URI confusion can lead to SSRF, policy bypass, or incorrect allowlist enforcement.

Content

No source excerpt is available for this finding.

Known Vulnerable Dependency: hono==4.11.7 — 16 advisory(ies): CVE-2026-56762 (Hono missing validation of cookie name on write path in setCookie()); CVE-2026-47676 (Hono: app.mount() strips mount prefix using undecoded path, causing incorrect ro); CVE-2026-47675 (Hono: Cookie helper does not sanitize sameSite and priority, allowing Set-Cookie) +13 more

High
Category
Supply Chain
Confidence
88% confidence
Finding

hono 4.11.7 is flagged with numerous advisories affecting cookies, routing, and path handling. Since it is a peer/transitive component of the MCP SDK server stack, these issues can materially affect any exposed HTTP interface by enabling routing confusion, header/cookie injection problems, or authorization bypasses.

Content

No source excerpt is available for this finding.

Known Vulnerable Dependency: path-to-regexp==8.3.0 — 2 advisory(ies): CVE-2026-4923 (path-to-regexp vulnerable to Regular Expression Denial of Service via multiple w); CVE-2026-4926 (path-to-regexp vulnerable to Denial of Service via sequential optional groups)

High
Category
Supply Chain
Confidence
86% confidence
Finding

path-to-regexp 8.3.0 has reported ReDoS/DoS issues from complex optional groups and crafted patterns. If route matching is applied to attacker-controlled paths on an exposed HTTP server, repeated pathological requests could consume CPU and degrade service availability.

Content

No source excerpt is available for this finding.

Known Vulnerable Dependency: @modelcontextprotocol/sdk==1.25.3 — 1 advisory(ies): CVE-2026-25536 (@modelcontextprotocol/sdk has cross-client data leak via shared server/transport)

High
Category
Supply Chain
Confidence
98% confidence
Finding

The manifest depends on @modelcontextprotocol/sdk version 1.25.3, which is explicitly flagged as affected by CVE-2026-25536 involving cross-client data leakage through shared server/transport state. In the context of an AI agent memory/context skill, this is especially dangerous because the package may handle sensitive prompts, memory, or project context, so cross-client leakage could expose one user's data to another session or tenant.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

High
Category
Not specified by scanner
Confidence
99% confidence
Finding

The injected block contains mandatory behavioral directives telling AI agents what tools they must call and when, which is effectively instruction injection into trusted policy files. In the context of an agent skill, this is especially dangerous because these files may be treated as high-priority instructions by other systems, allowing the skill to persistently steer agent behavior beyond its advertised purpose.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The file instructs the agent to always persist decisions, patterns, and bug fixes into shared long-term memory, but provides no consent, minimization, or data-sensitivity guardrails. In practice, this can cause user data, secrets, proprietary code context, or security-relevant reasoning to be retained and reused across sessions or projects, creating a privacy and data-governance risk.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The instruction to immediately run reindexing on the current directory can cause broad scanning and ingestion of repository contents without warning or approval. That behavior may collect sensitive files, secrets, internal documentation, or unrelated data into the skill's memory/indexing system, expanding exposure beyond what is necessary for the task.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.