Back to skill

Security audit

OpenClaw Code Search

Security checks for vulnerabilities and agentic risk

Overview

The skill is a coherent read-only code search helper, but its dependency installation guidance includes unverified system-wide binary installs that users should review before installing.

Use the skill only for directories you intend the agent to inspect. Install rg, fd, and tree through trusted package-manager channels where possible; avoid following the fallback curl-and-copy instructions unless you independently verify the downloaded artifacts and approve a system-wide install.

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
DESIGN.md:208
Finding
Unverified third-party binaries installed into a system-wide executable directory<![CDATA[ ## Vulnerability Details **File Location**: `DESIGN.md:208-213` **Vulnerability Type**: Unverified binary dependency installation **Risk Level**: Medium ```bash curl -LO https://github.com/BurntSushi/ripgrep/releases/download/14.1.1/ripgrep-14.1.1-x86_64-unknown-linux-musl.tar.gz tar xzf ripgrep-*.tar.gz && cp ripgrep-*/rg /usr/local/bin/ # fd curl -LO https://github.com/sharkdp/fd/releases/download/v10.2.0/fd-v10.2.0-x86_64-unknown-linux-musl.tar.gz tar xzf fd-*.tar.gz && cp fd-*/fd /usr/local/bin/ ``` ### Technical Analysis The documented fallback installation procedure downloads precompiled `ripgrep` and `fd` archives and copies their executables into `/usr/local/bin` without verifying a cryptographic checksum or trusted signature. Although the URLs identify pinned releases in the tools' official GitHub repositories, version pinning does not establish artifact integrity. The broad archive and directory wildcards (`ripgrep-*.tar.gz`, `ripgrep-*/rg`, `fd-*.tar.gz`, and `fd-*/fd`) also allow an unintended preexisting archive or extracted directory in the working directory to be selected. The procedure does not create or validate a clean installation directory. The runtime script does not automatically perform these downloads: `scripts/search.sh:28` and `scripts/search.sh:37` only print the download URLs when dependencies are missing. Exploitation therefore requires a user or privileged Agent to follow the installation instructions. Nevertheless, the documented operation modifies a system-wide executable directory, exceeding the least privileges required for a read-only search Skill. ### Attack Path 1. The dependency check reports that `rg` or `fd` is unavailable. 2. A user or Agent follows the fallback installation procedure in `DESIGN.md`. 3. A compromised upstream release asset, publisher account, delivery mechanism, or attacker-controlled matching file in the current directory supplies a modified archive or executable. 4. Because no check ...[truncated 1160 chars]
Remediation
<![CDATA[ ## Remediation Suggestions 1. Prefer operating-system packages from a trusted, configured package repository. 2. If release archives must be used, pin and verify the expected SHA-256 digest before extraction. Obtain the digest through a trusted release-signing channel rather than from the same unauthenticated workflow. 3. Verify a trusted publisher signature where the upstream project provides signed artifacts. 4. Download into a newly created, permission-restricted temporary directory and remove it after installation. 5. Replace wildcard paths with exact archive and extracted-directory names. 6. Install into a user-scoped executable directory unless system-wide installation is explicitly required and authorized. 7. Keep installation separate from the read-only Skill workflow and clearly disclose that installation changes the host system. 8. Update `scripts/search.sh` dependency messages to direct users to verified package-manager instructions rather than displaying a bare `curl -LO` command. ]]>
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (3)

Natural-Language Policy Violations

Medium
Confidence
94% confidence
Finding
The document title explicitly presents the skill design in Chinese, and the rest of the file is written as Chinese-only documentation without any indication that language is selectable by the user. The policy allows locale constraints only when the skill offers opt-in or clearly justifies a region-specific requirement, neither of which is present here.

Natural-Language Policy Violations

Medium
Confidence
84% confidence
Finding
This markdown file uses Chinese in the primary title and throughout the requirements, which can impose a specific language on users or maintainers without opt-in. The policy requires flagging language or locale constraints unless the skill offers a choice or clearly justifies the constraint.

Natural-Language Policy Violations

Medium
Confidence
93% confidence
Finding
The file presents its primary human-facing description and operational comments in Chinese, including the title, usage annotations, and command descriptions. This imposes a specific language on users without any opt-in, fallback, or explanation that the skill is intended only for a Chinese-language context.

Static analysis

No suspicious patterns detected.