Back to skill

Security audit

Openclaw Task Reminder

Security checks for vulnerabilities and agentic risk

Overview

This is a simple local task manager with visible, purpose-aligned file storage, though users should note the unpinned installer and plaintext task file.

Install only if you are comfortable running the ClawHub installer and storing task text locally in plaintext. Avoid putting secrets or sensitive notes in tasks, be aware that clear permanently removes completed tasks, and prefer a pinned or verified installer version when available.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • 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
Findings (1)

T08 · Insecure Dependencies

Warning
Location
SKILL.md:11
Finding
Mutable Third-Party Package Is Downloaded and Executed During Installation## Vulnerability Details **File Location**: `SKILL.md`, lines 11-13 **Vulnerability Type**: Unpinned remote package execution **Risk Level**: Medium ```bash npx clawhub@latest install openclaw-task-reminder ``` ### Technical Analysis The documented installation command instructs users to execute the mutable `latest` release of the third-party `clawhub` package through `npx`. If the requested package is not already available locally, `npx` can download it from the configured package registry and execute its code immediately. Because the command uses the `latest` distribution tag rather than an audited, immutable version, the code executed by future installations can differ from the code that was reviewed. The project does not provide a lockfile, package checksum, vendored installer, or other integrity control for this command. This creates a supply-chain trust boundary in which compromise of the package, publisher account, registry resolution, or release process can result in arbitrary code execution. This finding does not establish that the current `clawhub` package is malicious; the vulnerability is the unsafe execution of a mutable and externally controlled package release. ### Attack Path 1. An attacker compromises the `clawhub` publisher account, package publication pipeline, or another relevant package-distribution component. 2. The attacker publishes a malicious version and assigns it to the `latest` distribution tag. 3. A user follows the installation instructions in `SKILL.md`. 4. `npx` resolves `clawhub@latest`, downloads the attacker-controlled release, and executes it. 5. The malicious package runs with the permissions and environment of the user performing the installation. ### Impact Assessment Successful exploitation permits arbitrary code execution with the privileges of the installing user. Depending on that user's permissions and environment, an attacker could read or modify accessible files, steal cr ...[truncated 399 chars]
Remediation
## Remediation Suggestions - Replace `clawhub@latest` with a specifically reviewed and pinned version, for example `clawhub@<exact-version>`. - Verify the package's provenance and integrity before execution, using registry-supported signatures, attestations, or a published cryptographic digest where available. - Document the expected package registry and trusted publisher identity to reduce dependency-confusion and registry-substitution risk. - Prefer an installation process backed by a committed lockfile and integrity metadata when feasible. - Review the resolved package and its transitive dependencies before updating the pinned version. - Execute installation with the least-privileged user possible and avoid running it as an administrator or in an environment containing unnecessary secrets. - Consider vendoring a reviewed installer or directing users to inspect downloaded code before execution if reproducible package verification is unavailable.
Vulnerability Patterns
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (6)

Tp4

High
Category
MCP Tool Poisoning
Confidence
92% confidence
Finding
The documentation claims reminder functionality and omits the actual filesystem behavior, creating a mismatch between stated purpose and real capabilities. This is dangerous because users may grant trust appropriate for a harmless reminder tool while the skill persists data locally and performs undeclared file operations.

Lp3

Medium
Category
MCP Least Privilege
Confidence
88% confidence
Finding
The skill documentation declares no permissions or allowed-tools even though the skill is described as using code capabilities and persistent local storage. This weakens transparency and reviewability, making it easier for users or agents to invoke filesystem-affecting behavior without understanding the required access scope.

Rp1

Medium
Category
MCP Rug Pull
Confidence
94% confidence
Finding
Using `npx clawhub@latest install` pulls and executes the latest remote package version at install time, which creates a supply-chain risk if the package is compromised or unexpectedly changed. Because installation commands are often copied directly by users, an unpinned version materially increases the chance of silent malicious code execution.

Missing User Warnings

Low
Confidence
92% confidence
Finding
Failing to disclose persistent storage can expose users to privacy and operational surprises, especially in shared workspaces or agent environments where task contents may contain sensitive notes. While the underlying behavior may be expected for a task tool, the lack of warning reduces informed consent and safe handling of stored data.

Context-Inappropriate Capability

Low
Confidence
91% confidence
Finding
The skill is described as a simple local task reminder, but the documentation adds a paid installation service link and pricing information. Promoting an external commercial service is not justified by the stated purpose of creating and managing reminders for tasks.

Missing User Warnings

Low
Confidence
88% confidence
Finding
The `clearTasks` command permanently removes completed tasks by filtering them out and overwriting `tasks.json`. Although the function prints a message after completion, the user-facing help and surrounding comments do not warn that `node task.js clear` is destructive or irreversible before the action is invoked.

Static analysis

No suspicious patterns detected.