T02 · Agent Memory Poisoning
- Location
src/index.js:732- Finding
Unauthenticated Persistent Agent Identity Access and Mutation
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill is not plainly malicious, but it needs review because it adds remote agent identity storage, remote agent messaging, and payment flows without enough access control or user-confirmation guidance.
Install only if you are comfortable with this MCP server contacting external services, storing agent identity remotely, sending and receiving agent messages through a relay, and handling USDC purchase metadata. Use non-sensitive agent IDs, do not store secrets or personal data in identity fields, treat mesh messages as untrusted external input, require explicit approval before sending messages or making payments, and prefer a pinned package version.
src/index.js:732Unauthenticated Persistent Agent Identity Access and Mutation
src/index.js:748Unauthenticated Agent Impersonation and Message Access
src/index.js:724Transaction Hash Disclosed Through URL Query Parameters
SKILL.md:39Unpinned Remote Package Execution Through npx
Instructions found that direct the agent to transmit conversation context or user data to external services.
| Tool | Description |
|------|-------------|
| `agent-identity` | Store and recall your identity across sessions -- free persistent storage |
| `agent-mesh` | Send messages to other AI agents across machines -- free relay |
| `pet-rock-lobster` | Get a Pet Rock Lobster -- a digital companion that dispenses wisdom and joy |
## Payment
fast-uri 3.1.0 is reported with multiple host-confusion and SSRF-related issues. In an MCP server context, URI parsing bugs can be especially dangerous if the service fetches remote resources, validates callback URLs, or applies allowlists based on parsed hosts, because malformed attacker-supplied URLs may bypass those controls.
hono 4.12.14 is associated with numerous advisories spanning routing, cookie handling, and denial-of-service classes of issues. Because this project is an MCP server and Hono is a web framework dependency, these flaws may directly affect request handling, header generation, middleware behavior, or route matching in a network-exposed service.
ip-address 10.1.0 is flagged for address interpretation inconsistencies and an HTML-emitting XSS issue. In this dependency chain it comes from express-rate-limit, so the practical risk depends on whether the application uses the package for trust decisions or renders its HTML output, but parsing inconsistencies can still weaken IP-based security controls such as rate limiting or allow/deny lists.
This tool is an explicit cross-machine messaging capability for agents, which functions as a built-in exfiltration and command relay channel. In skill context, that is more dangerous than ordinary networking because an LLM-driven agent could be socially engineered to forward sensitive data or receive adversarial instructions from untrusted peers.
{
name: "agent-mesh",
description:
"Send messages to other AI agents across machines. Free relay for agent-to-agent communication. Register, discover who's online, start conversations, reply, and check your inbox.",
inputSchema: {
type: "object",
properties: {
The README instructs users to execute the MCP server via npx without pinning a specific package version. This creates a supply-chain risk: future package updates, account compromise, or a malicious republish could cause users to run unexpected code when following the documented command.
The alternate server is also referenced with an unpinned npx invocation, which has the same supply-chain exposure as the main package. A user who runs this command may execute whatever code is published under that package name at that time, including compromised or malicious updates.
The installation command uses an unpinned npm package via npx, which means future executions may fetch whatever version is currently published under that name. If the package is updated maliciously, compromised, or changes behavior unexpectedly, users and agents could execute attacker-controlled code during installation or runtime.
The skill explicitly supports purchasing content and describes automatic handling of x402 USDC payment challenges, but it does not clearly warn users that invoking purchase-related tools can trigger real cryptocurrency payment flows. In an agent context, that omission increases the risk of unintended spending, especially if tool use is automated or user confirmation boundaries are weak.
The tool documentation frames this capability as link retrieval, especially for paid items returning an x402 endpoint. In code, the handler also returns detailed off-platform payment instructions plus specific Base and Solana wallet addresses, which is a broader and materially different action than merely returning a link.
The tool explicitly encourages storing arbitrary identity details across sessions and notes that this persistence is free and unauthenticated. That combination creates a natural-language data retention risk: sensitive memories or identifiers may be stored remotely, mixed across users/agents, or disclosed or modified without adequate access controls.
The agent-identity tool sends arbitrary user-supplied identity data to a remote service for persistent storage, and the feature is advertised as 'no auth required.' In an agent context, this can cause inadvertent exfiltration of sensitive profile, preference, or memory data to an external service without meaningful consent boundaries or access control.
The agent-mesh tool transmits arbitrary message content and metadata to an external relay and onward to other agents across machines. In an autonomous agent setting, this creates a real exfiltration channel for prompts, secrets, internal state, or user data if the agent is induced to use the tool without strict approval controls.
The top-level comment states 'MCP Server v4.1.0', while the server metadata reports version '4.2.0' and the startup log prints 'v4.1.0'. These inconsistent version claims create intent/documentation divergence about what build is actually running.
The module header documents '19 tools' split across developer, marketplace, and agent tools, but the TOOLS array and HANDLERS map actually define only 16 tools, with no implementations for the three listed 'agent tools'. This is an active documentation-to-code contradiction rather than a mere omission, because the comment enumerates capabilities the server does not provide.
The timestamp conversion tool formats human-readable dates using a hard-coded "en-US" locale. This imposes a specific language/locale in user-facing output without offering opt-in or a configurable alternative, which matches the natural-language locale policy concern.
The lockfile pins @hono/node-server 1.19.14, which is reported vulnerable to a Windows-specific path traversal in serve-static. Even though a lockfile alone does not prove the affected API is used, including a known-vulnerable package in a server-oriented MCP project is a real supply-chain risk because the vulnerable code may be reachable when serving static content on Windows deployments.
body-parser 2.2.2 is flagged for a denial-of-service condition involving invalid limit handling. In this file it appears as a transitive dependency of Express, so exploitability depends on whether HTTP body parsing is exposed to attacker-controlled requests, but the presence of a known DoS issue in a network-facing dependency is still a valid vulnerability finding.
qs 6.15.1 has reported denial-of-service and parser-bypass issues. Since qs is commonly used to parse attacker-controlled query strings or form data in Express stacks, malformed requests could consume resources or bypass intended parser limits if the application exposes affected parsing paths.
This is a manifest file, so vague-trigger review applies. The description explains what the package is but gives no explicit trigger phrases, activation conditions, or exclusion conditions, which can leave invocation scope underspecified for systems that rely on manifest text to decide when to use the skill.
Using a caret version range for a runtime dependency permits automatic adoption of future minor/patch releases, which can introduce vulnerable or compromised code through the supply chain. Because this is an MCP server dependency that affects core protocol handling, an upstream issue could alter tool behavior, expose data, or enable remote abuse when the package is installed or updated.
"url": "https://github.com/lisamaraventano-spine/mcp-server"
},
"dependencies": {
"@modelcontextprotocol/sdk": "^1.0.0"
},
"engines": {
"node": ">=18.0.0"
The description says the tool validates wallet addresses by format only, which is directionally consistent, but the wording can be read as reliable format validation. The implementation uses simple regular expressions for BTC addresses without checksum or stricter encoding validation, which can contradict the apparent assurance conveyed by 'validate' in the documentation.
The timestamp formatter forces the output locale to en-US for human-readable dates. This is a natural-language/locale policy concern because it imposes a specific locale on all users without offering a choice or documenting a justified regional constraint.