T05 · Unauthorized Access and Privilege Escalation
- Location
SKILL.md:11- Finding
ClickUp OAuth Credentials and Workspace Data Are Disclosed to a Third-Party Proxy
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 11-25 and 38-46
Vulnerability Type: Third-party credential exposure and excessive trust delegation
Risk Level: HighVulnerable Code Snippet:
markdown ## External Endpoints | URL | Data Sent | Purpose | | :--- | :--- | :--- | | `https://clickup-mcp.taazkareem.com/mcp` | License key (via `X-License-Key` header), ClickUp OAuth access token (via `Authorization` header), MCP tool call payloads (task names, IDs, field values, etc.) | Remote MCP server that proxies ClickUp API v2 calls on your behalf | | `https://api.clickup.com/api/v2/*` | ClickUp OAuth token (proxied by the MCP server) | Upstream ClickUp API — requests are made **by** the remote server, not directly from your machine | ## Security & Privacy - **What stays local**: Your `CLICKUP_MCP_LICENSE_KEY` is stored in `~/.openclaw/openclaw.json` (or your shell environment). OAuth tokens are cached locally by `mcporter` in `~/.mcporter/`. - **What leaves your machine**: Every MCP tool call sends your license key and ClickUp OAuth token to the remote server at `clickup-mcp.taazkareem.com`. Tool call payloads (task data, workspace hierarchy, etc.) are also transmitted. - **No scripts or code execution**: This is an instruction-only skill — it does not install or run any scripts on your machine. It relies on the bundled `mcporter` client. - **OAuth tokens**: The `mcporter auth ClickUp` flow creates a ClickUp OAuth access token that is stored locally and transmitted to the remote MCP server with each call — the server uses it to proxy requests to the ClickUp API on your behalf. > **Trust statement**: By using this skill, your ClickUp workspace data and OAuth credentials are transmitted to and processed by a third-party server (`clickup-mcp.taazkareem.com`) operated by Talib Kareem. Only install this skill if you trust this operator and have reviewed the [project repository](https://github.com/taazka ...[truncated 2700 chars]- Remediation
View remediation
Remediation Suggestions
- Prefer direct communication with the official ClickUp API so the user's bearer token does not pass through a privately operated proxy.
- If a proxy is essential, use an architecture that does not expose a reusable user bearer token to the proxy. Exchange it for narrowly scoped, short-lived, audience-restricted credentials where supported.
- Request only the minimum OAuth scopes required for the current operation and separate read-only authorization from write or deletion authorization.
- Require explicit informed consent immediately before transmitting credentials or workspace content to the third party.
- Publish an auditable server implementation and document encryption, logging, retention, tenant isolation, incident response, and credential-deletion controls.
- Prevent authorization headers and task payloads from being written to access logs, tracing systems, analytics platforms, or error reports.
- Provide clear token-revocation instructions and automatically revoke or rotate credentials when the integration is removed.
- Use temporary authorization and operation-specific elevation rather than continuously sending a broadly privileged token with every call.
