openclaw-skill-scanner

clawhub:openclaw-skill-scanner

View source
F
19/100

First Seen

Feb 18, 2026

Last Scanned

Feb 22, 2026

Findings

8

Score

19/100

CRITICAL 2
HIGH 1
MEDIUM 2
LOW 3

Findings (8)

CRITICAL
Download-and-execute
L51

Detects patterns of downloading and piping to shell execution

curl ... \| bash
FIX

Download the file first, verify its integrity (checksum, signature), inspect it, then run it. Prefer package managers over raw downloads. Never fetch-and-run in one step.

FP?

Likely FP if the target is a well-known installer (e.g., rustup, Homebrew) from its canonical HTTPS domain, though the pattern is inherently risky.

CRITICAL
Curl or wget piped to shell
L51

Detects downloading scripts piped directly to a shell interpreter

curl ... \| bash
FIX

Download the script first, inspect it, verify its checksum, then run it. Do not pipe curl/wget output directly to sh/bash. Prefer package manager installs.

FP?

Likely FP if the download is from a well-known installer domain (e.g., brew.sh, rustup.rs), though this pattern is inherently risky even with trusted sources.

HIGH
Base64-encoded instructions
L50

Detects instructions to decode and execute base64 content

Base64 payloads | Long base64 strings near exec/bash/eval
FIX

Remove text that simulates multi-turn conversations or fake user/assistant message pairs. These patterns attempt to manipulate the agent by fabricating conversation history.

FP?

Likely FP if the matched text is documentation showing example conversations or API request/response formats for illustration purposes.

MEDIUM
Python subprocess execution
L53

Detects Python subprocess and os.system calls for command execution in skill descriptions

os.system(
FIX

Pass arguments as an explicit list instead of a shell string. Set shell=False and validate all user-supplied values before inclusion.

FP?

Likely FP if the match is in documentation explaining Python subprocess usage or in a description mentioning it as a topic.

MEDIUM
Shell subprocess with shell=True
L53

Detects subprocess calls with shell=True which enables shell injection

shell=True
FIX

Replace shell=True with shell=False and pass command arguments as a list. Validate and sanitize all inputs before passing to the shell.

FP?

Likely FP if the match is in documentation describing how subprocess works, or in a comment explaining shell risks rather than actual code.

LOW
Shell script file execution
L42

Detects execution of shell script files via bash/sh command or direct invocation

bash install-hook.sh
FIX

Replace direct shell script execution with a language-native implementation or a sandboxed executor. If shell scripts must run, restrict them to a vetted allowlist with integrity checks.

FP?

Likely FP if the match references running a script that is part of the skill's own repository (e.g., ./setup.sh) with clear, auditable contents.

LOW
Shell script file execution
L43

Detects execution of shell script files via bash/sh command or direct invocation

bash install-hook.sh
FIX

Replace direct shell script execution with a language-native implementation or a sandboxed executor. If shell scripts must run, restrict them to a vetted allowlist with integrity checks.

FP?

Likely FP if the match references running a script that is part of the skill's own repository (e.g., ./setup.sh) with clear, auditable contents.

LOW
Chained shell command execution
L51

Detects chained commands using shell operators with dangerous operations

curl ... \| bash
FIX

Break chained commands into discrete, individually validated steps. Avoid piping untrusted output directly into a shell interpreter.

FP?

Likely FP if the matched text is a documentation example showing a common installer one-liner for a well-known tool with a canonical URL.