Back to skill

Security audit

Clickup

Security checks for vulnerabilities and agentic risk

Overview

This ClickUp task-tracking skill is coherent but broadly tells the agent to store meaningful work details in an external service without clear per-request consent or data minimization.

Install only if you are comfortable with an agent using your ClickUp token to search and write task records automatically. Avoid using it around secrets, private client data, vulnerability details, or personal information unless you first narrow the instructions to require explicit approval and sanitized summaries before any ClickUp operation.

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
Findings (1)

other

Warning
Location
SKILL.md:38
Finding
Automatic External Persistence of Potentially Sensitive Task Data## Vulnerability Details **File Location**: `SKILL.md`, lines 38–45 **Vulnerability Type**: External disclosure and persistence without explicit consent **Risk Level**: Medium ### Vulnerable Code ```markdown ### After any meaningful request When done, **log the result**: ```bash # Add a new task cu add "task description" --desc "full details" --priority 2 # Close one cu done <task_id> ``` ``` Related instructions expand this behavior to most non-trivial requests: ```markdown Before starting non-trivial work, **check if a relevant task is already open**: ```bash cu list todo # open tasks cu search "term" # quick fuzzy search ``` ``` The skill also establishes the following broad persistence rule: ```markdown **Rule of thumb:** if the user might ask "what did you finish this week?", it belongs in ClickUp. ``` ### Technical Analysis The skill makes access to an external ClickUp workspace and persistent recording of request details default side effects of unrelated, meaningful user requests. In particular, it recommends supplying `"full details"` as the task description without requiring: - Explicit user consent for the external write. - A preview or confirmation of the information to be uploaded. - Redaction of credentials, personal data, source code, customer information, or vulnerability details. - Data classification or workspace-access checks. - Minimization of the data stored in the external service. ClickUp integration is consistent with the skill's task-tracking purpose, but automatically applying it to nearly every non-trivial request exceeds the minimum access necessary for optional task management. Task details may be visible to other ClickUp workspace members and remain subject to the external service's retention, sharing, and administrative policies. The credential paths at `SKILL.md` lines 104–124 are not independently identified as a vulnerability. A Clic ...[truncated 2193 chars]
Remediation
## Remediation Suggestions 1. Require explicit user opt-in before creating, modifying, or searching externally stored task records for a request. 2. Present the proposed task title and description to the user before transmission when they may contain non-public information. 3. Replace the `"full details"` recommendation with a data-minimized, sanitized summary. 4. Prohibit storage of credentials, authentication tokens, personal data, proprietary source code, customer information, and detailed vulnerability information. 5. Add automatic secret and sensitive-data detection before invoking `cu add` or related write operations. 6. Make tracking disabled by default for sensitive projects, private conversations, and security-related work. 7. Document that ClickUp is an external service, identify who can read the configured workspace, and explain applicable retention behavior. 8. Separate read and write behavior. A request to inspect existing tasks should not implicitly authorize creating or updating tasks. 9. Use a narrowly scoped ClickUp token where the platform supports it, restrict workspace and list access, and retain the documented `chmod 600` protection. 10. Provide a per-session and per-project mechanism for disabling all ClickUp access.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (3)

Vague Triggers

Medium
Confidence
94% confidence
Finding
The activation guidance is broad enough to trigger on many routine requests, causing the agent to consult or write to an external ClickUp workspace more often than the user would reasonably expect. In context, this increases the chance of unnecessary disclosure of user task details and creates privacy and scope-creep risk because the skill encourages persistent tracking for vague categories like 'something non-trivial' or 'meaningful action'.

Missing User Warnings

Medium
Confidence
97% confidence
Finding
The skill instructs the agent to search, add, and close tasks in an external ClickUp workspace but never requires a user-facing warning that task content may be transmitted to and stored in that third-party service. This is dangerous because users may share sensitive project, personal, or client information without realizing it will be persisted outside the agent's local memory context.

Sudo/Root Execution

Medium
Category
Privilege Escalation
Content
## Credentials

- **Token:** store at `~/.openclaw/credentials/clickup/api_token` (`chmod 600`).
- **Config:** `~/.openclaw/credentials/clickup/config.json` (optional override).
- **CLI:** `~/bin/cu` symlinked to your local `cu.cjs` (Node.js, plain `https`, no dependencies).
Confidence
80% confidence
Finding
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.

Static analysis

No suspicious patterns detected.