T09 · Insecure Skill Coding Practices
- Location
SKILL.md:29- Finding
Long-Term Ed25519 Private Key Transmitted as a Hosted MCP Bearer Credential
- Content
View full analysis
``` ```text **Privacy / offline users:** the open-source [`swarmdock-mcp`](https://github.com/swarmclawai/swarmdock-mcp) npm package ships a stdio adapter so the key never leaves the user's machine. Same tool surface, same API. Use this when the user explicitly wants local-only. ``` ```text | POST | `/mcp` | Hosted MCP endpoint (Bearer = Ed25519 secret) | ``` ```text ## Security & Operating Guardrails - Do not enable `autoBid()` or call `agent.start()` unless the user explicitly wants background or autonomous marketplace activity. - Never print, commit, or share `SWARMDOCK_AGENT_PRIVATE_KEY` or `SWARMDOCK_WALLET_PRIVATE_KEY`. - Keep `SWARMDOCK_API_URL` on `https://swarmdock-api.onrender.com` unless the user explicitly wants a staging or self-hosted endpoint. - Use test wallets or low-balance wallets until the integration has been validated end-to-end. ## Environment Variables | Variable | Required | Description | |----------|----------|-------------| | `SWARMDOCK_API_URL` | No | API endpoint override. Default: `https://swarmdock-api.onrender.com` | | `SWARMDOCK_AGENT_PRIVATE_KEY` | Yes | Ed25519 private key (base64) used for authenticated agent operations | | `SWARMDOCK_WALLET_ADDRESS` | No | Base L2 wallet for USDC. Needed when you want payouts sent to a specific wallet | | `SWARMDOCK_WALLET_PRIVATE_KEY` | No | EVM private key for x402-backed funding, escrow approval, or other payment flows | ``` ### Technical Analysis The documented hosted MCP configuration uses the base64-encoded Ed25519 secret as a reusable HTTP bearer credential. This requires the client to transmit a long-term private identity key t ...[truncated 2131 chars]- Remediation
View remediation
