T08 · Insecure Dependencies
- Location
SKILL.md:23- Finding
Unpinned Third-Party MCP Server Receives Sensitive Credentials
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 23-43
Vulnerability Type: Unpinned external dependency with access to credentials and health data
Risk Level: MediumVulnerable Code
markdown 2) **Ultrahuman MCP server** Repository: - https://github.com/Monasterolo21/Ultrahuman-MCP Build it (example): - `bun install && bun run build` - You should end up with an entrypoint like: `dist/main.js` 3) **mcporter config** that defines an MCP server named `ultrahuman` Example `config/mcporter.json` (adjust path to your built `main.js`): ```json { "mcpServers": { "ultrahuman": { "transport": "stdio", "command": "node", "args": ["/absolute/path/to/Ultrahuman-MCP/dist/main.js"], "env": { "ULTRAHUMAN_AUTH_TOKEN": "${ULTRAHUMAN_AUTH_TOKEN}", "ULTRAHUMAN_USER_EMAIL": "${ULTRAHUMAN_USER_EMAIL}" } } } }text ### Technical Analysis The installation instructions direct users to clone and build a third-party GitHub repository without identifying a reviewed commit, immutable release, integrity hash, or signature. The resulting code is then launched as an MCP server and explicitly receives the user's Ultrahuman authentication token and email. Authentication and network communication with Ultrahuman are necessary for the declared functionality. However, delegating those operations to mutable, unpinned third-party code creates avoidable supply-chain risk. The effective implementation can change after this Skill has been reviewed. Running `bun install` also installs the dependency versions selected by the external project, which may introduce additional unreviewed code. No evidence in the audited repository proves that the referenced MCP server is malicious. The vulnerability is the absence of controls ensuring that users execute the same dependency version that was reviewed. ### Attack Path 1. An attacker com ...[truncated 1203 chars]- Remediation
View remediation
Remediation Suggestions
- Pin the MCP server to a specific reviewed commit hash or cryptographically signed release rather than referencing a mutable repository branch.
- Document the exact reviewed repository URL, commit, runtime version, and build commands.
- Publish and verify an integrity checksum or signature for the built server artifact.
- Require a committed dependency lockfile and install dependencies using a frozen-lockfile mode.
- Review the MCP server and its transitive dependencies before recommending them to users.
- Prefer an official Ultrahuman-maintained client or API integration where available.
- Use a narrowly scoped and revocable token, and document token rotation and revocation procedures.
- Isolate the MCP server in a restricted container or sandbox with minimal filesystem and network access.
