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

Content
View full analysis

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
View 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.

Content

No source excerpt is available for this finding.

Undeclared Tool Scope

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.

Content

No source excerpt is available for this finding.

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.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
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.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Low
Category
Not specified by scanner
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.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
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.

Content

No source excerpt is available for this finding.