Back to skill

Security audit

Connect Mermail MCP

Security checks for vulnerabilities and agentic risk

Overview

This skill is a connection and troubleshooting guide for Mermail MCP, and its credential/network behavior is disclosed, purpose-aligned, and bounded by read-only verification instructions.

Install this only if you intend to connect an agent to your Mermail workspace. Prefer OAuth, keep API keys in a secret store or launch environment, verify the selected workspace and profile, and do not use full-profile mail or PayBox tools unless that broader authority is intended.

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
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (4)

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

Scanner excerpt · SKILL.md (reported line 20)May include surrounding context.

md
e, logs, or any connection handoff. In API-key mode, use [check-connection.mjs](scripts/check-connection.mjs) for deterministic initialization and catalog check

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

Scanner excerpt · SKILL.md (reported line 38)May include surrounding context.

md
e, logs, or any connection handoff. In API-key mode, use [check-connection.mjs](scripts/check-connection.mjs) for deterministic initialization and catalog check

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
70% confidence
Finding

Without declared permissions the skill's intent is opaque and cannot be validated.

Content

No source excerpt is available for this finding.

Autonomous Decision Making

Medium
Category
Excessive Agency
Confidence
80% confidence
Finding

Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.

Content

Scanner excerpt · SKILL.md (reported line 36)May include surrounding context.

md
1. Confirm the problem is connection setup, authentication, tool discovery, or MCP argument transport. If the connection is healthy and the user wants a business operation, route immediately to the matching Mermail domain skill.
2. Identify the exact client and requested capability. Choose the full profile for ordinary Mermail operations; choose `?profile=agent-inbox` only for its exact least-privilege mailbox-provisioning and safe-email-read workflow. Its `create_mailbox` operation is a scoped write and must never be used as a connection smoke test. Never use the restricted profile as a way to obtain send, delete, Composio, mailbox-agent, or wallet tools.
3. Prefer MCP OAuth when the client supports it. Connect to `https://console.mermail.app/mcp`, complete browser authentication with the same Enoki account as the Mermail console, and select one workspace. Use an API key only for clients or installation paths that require header authentication.
4. For API-key mode, create the key in Mermail workspace settings, store it as `MERMAIL_API_KEY` in the launching process's secret environment, and map it to `x-api-key` using [platforms.md](references/platforms.md). Never ask the user to paste the value into chat.
5. Restart, reload, or reconnect the client after changing authentication or environment state. Do not assume an already-running desktop process received a shell-only variable.
6. Verify `initialize` and `tools/list`. In API-key mode, run `node scripts/check-connection.mjs` from this skill directory. In OAuth mode, use the client's MCP status/catalog surface because the script intentionally requires `MERMAIL_API_KEY`.
7. Compare the selected profile against [troubleshooting.md](references/troubleshooting.md), then make one read-only `list_workspaces` or `list_mailboxes` smoke test using the exact host-exposed identifier. Treat a successful catalog without a successful scoped read as incomplete verification.

Static analysis

No suspicious patterns detected.