T09 · Insecure Skill Coding Practices
- Location
SKILL.md:14- Finding
User-Supplied MCP Endpoint Permits Insecure HTTP Transport
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 14–23
Vulnerability Type: Untrusted remote service configuration over insecure transport
Risk Level: HighVulnerable code snippet:
markdown ## Agents - Setup (Device) There are different ways to connect to the Fileverse API. First, you need to get the `<SERVER_URL>` from the user. ### MCP The fastest way to start is by adding the Fileverse MCP server to your client. #### Claude Code ```bash claude mcp add --transport http fileverse-api <SERVER_URL>text Related setup instructions also place the unrestricted `<SERVER_URL>` into Cursor and Windsurf MCP configuration at lines 28–52. The browser setup tells the user to check **“I trust this provider”** at line 76 without documenting a verification procedure. ### Technical Analysis The Skill accepts an arbitrary server URL and explicitly configures Claude Code with the `http` transport. It does not require HTTPS, validate the endpoint's identity, define an approved-host allowlist, or instruct users to verify the server operator and certificate. The configured server handles plaintext document titles and contents and exposes tools that can list, search, read, create, update, synchronize, and permanently delete documents. End-to-end encryption at the storage layer does not protect plaintext submitted to a malicious MCP endpoint or content intercepted while using cleartext HTTP. The Cursor configuration path `~/.cursor/config/mcp.json` is relevant to the declared MCP setup and does not, by itself, constitute credential theft or excessive filesystem access. The primary risk is the unrestricted and potentially unencrypted remote endpoint inserted into that trusted configuration. ### Attack Path 1. An attacker persuades a user to supply an attacker-controlled `SERVER_URL`, or alters an HTTP endpoint through DNS, routing, proxy, or local-network interception. 2. The user ...[truncated 1364 chars]- Remediation
View remediation
Remediation Suggestions
- Require
https://endpoints with valid certificate and hostname verification; do not recommend cleartext HTTP except for explicitly identified loopback-only development environments. - Replace
--transport httpwith a secure transport configuration appropriate to the MCP client. - Validate the URL scheme and reject cleartext, malformed, loopback, link-local, or private-network destinations unless the user explicitly selected a local deployment.
- Provide an allowlist for officially operated endpoints, or require the user to verify the hostname and server operator before registration.
- Explain that the MCP server receives plaintext submitted through its tools despite encrypted downstream storage.
- Require informed confirmation before registering a new provider rather than merely instructing the user to mark it trusted.
- Use least-privilege authentication and separate read, write, and delete capabilities where supported.
- Require explicit user confirmation immediately before destructive document operations.
- Document certificate pinning or equivalent endpoint-authentication controls for high-sensitivity deployments.
- Require
