Back to skill

Security audit

Openclaw Admin

Security checks for vulnerabilities and agentic risk

Overview

The skill mostly fits OpenClaw administration, but it includes admin-context commands that can run unreviewed local or registry code.

Install only if you trust the OpenClaw workspace and understand that the skill may reveal local gateway configuration. Do not run the full health check unless `status.sh` is known and trusted, and prefer a pinned or locally installed restart command instead of unversioned `npx thepopebot`. Require explicit approval before any routing, cron, trigger, or gateway config changes.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • 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
Findings (2)

T09 · Insecure Skill Coding Practices

Warning
Location
SKILL.md:111
Finding
Execution of an Unverified Workspace Shell Script<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md`, lines 111-114 **Vulnerability Type**: Unverified local script execution **Risk Level**: Medium ### Vulnerable Code ```markdown ### Gateway Health Check (Full) ```bash bash ./status.sh ``` ``` ### Technical Analysis The skill directs the agent to execute `status.sh` using a path relative to the current working directory. The audited project contains only `SKILL.md`; therefore, the referenced script is not bundled with the skill and its contents, provenance, and security properties cannot be verified. Because `./status.sh` is resolved from the process's current directory, its behavior depends on the environment in which the skill is invoked. A malicious or compromised workspace can supply its own `status.sh`. Explicitly launching the file with `bash` also bypasses the need for the file to have executable permissions. This is an unsafe trust-boundary assumption rather than evidence that the missing script is itself malicious. ### Attack Path 1. An attacker gains the ability to create or replace `status.sh` in the workspace from which the command will run. 2. The attacker places arbitrary shell commands in that file. 3. A user asks the agent to perform the documented full gateway health check. 4. The agent follows the skill instructions and executes `bash ./status.sh`. 5. The attacker's commands execute with the operating-system identity, environment variables, filesystem access, and network access available to the agent process. ### Impact Assessment Successful exploitation permits arbitrary command execution within the privileges of the account running the agent. Potential consequences include reading or modifying accessible gateway configuration, extracting credentials exposed through files or environment variables, altering agent behavior, and making network requests. The instruction does not independently obtain elevated privileges; its scope is limited to permissions already held by ...[truncated 26 chars]
Remediation
<![CDATA[ ## Remediation Suggestions - Bundle `status.sh` with the skill so that its complete implementation can be reviewed. - Resolve the script from a trusted, canonical skill directory rather than the current working directory. - Validate the script against a trusted cryptographic hash or signature before execution. - Refuse to execute the script if its ownership, location, or integrity does not match the expected values. - Run diagnostics under a minimally privileged account with a restricted environment and filesystem access. - Request explicit user approval before executing a script that is not part of the reviewed package. - Prefer implementing the required diagnostic operations directly through narrowly scoped, reviewed commands. ]]>

T08 · Insecure Dependencies

Warning
Location
SKILL.md:160
Finding
Unpinned Third-Party Package Execution Through npx<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md`, line 160 **Vulnerability Type**: Unsafe and unpinned dependency execution **Risk Level**: Medium ### Vulnerable Code ```markdown - After any config modification, remind the user to hot-reload: the gateway picks up changes on next request, or restart with `npx thepopebot`. ``` ### Technical Analysis The restart instruction invokes `thepopebot` through `npx` without specifying a reviewed version, integrity hash, trusted registry, or local-only resolution policy. If the package is unavailable locally, `npx` can retrieve it from a configured package registry and execute its package lifecycle or command code. Consequently, the code executed by this administrative instruction can change after the skill has been reviewed. Security depends on the current registry response, dependency graph, package publisher account, npm configuration, and resolved package version. There is no evidence in the audited file that `thepopebot` is malicious. The vulnerability is the unpinned remote dependency execution mechanism and the absence of integrity controls. ### Attack Path 1. An attacker compromises the package, its publisher account, a transitive dependency, or the package-resolution infrastructure. 2. The attacker publishes a malicious version that can be selected by the unversioned `npx thepopebot` command. 3. A user follows the documented restart instruction after a configuration change. 4. `npx` resolves and, when necessary, downloads the attacker-controlled package or dependency. 5. Package or command code executes with the permissions and environment of the user running the gateway administration command. ### Impact Assessment Successful exploitation can provide arbitrary code execution under the invoking user's account. The package may access readable gateway configuration, tokens and credentials available to the process, project files, and permitted network resources. It may also modify files or ...[truncated 219 chars]
Remediation
<![CDATA[ ## Remediation Suggestions - Add the required package as an explicitly version-pinned, reviewed project dependency. - Commit and enforce a lockfile containing integrity metadata. - Invoke the verified local binary, such as through a package script, rather than allowing `npx` to download a package automatically. - Where supported, use an offline or local-only execution mode that fails if the expected dependency is absent. - Restrict package installation to an approved registry and validate package provenance or signatures. - Audit direct and transitive dependencies before updates and use automated supply-chain scanning. - Prefer a reviewed local restart command or service-management procedure that does not execute registry-delivered code at runtime. ]]>
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (3)

Vague Triggers

Medium
Confidence
90% confidence
Finding
The activation section is broad enough to match generic admin and inspection requests, increasing the chance this high-privilege skill is invoked when a narrower or safer skill would be more appropriate. Because the skill exposes commands for reading gateway configuration, listing installed skills, and running diagnostics, over-triggering can lead to unnecessary access to sensitive local state.

Missing User Warnings

Medium
Confidence
92% confidence
Finding
The skill contains commands that inspect local configuration files, enumerate installed skills, call external tooling like `ollama`, and execute a local script `bash ./status.sh`, but it does not warn users that these actions may expose sensitive system or configuration data. In an admin-oriented skill, the absence of a user-facing warning makes inadvertent disclosure or unsafe execution more likely.

Rp1

Medium
Category
MCP Rug Pull
Confidence
85% confidence
Finding
The skill instructs users to restart the gateway with `npx thepopebot`, which fetches and executes a package without any version pinning. That creates a supply-chain risk: a newer, compromised, or typosquatted package could be executed in an administrative context on the local machine.

Static analysis

No suspicious patterns detected.