vnsh

clawhub:vnsh

View source
F
0/100

First Seen

Feb 18, 2026

Last Scanned

Feb 22, 2026

Findings

11

Score

0/100

CRITICAL 4
LOW 7

Findings (11)

CRITICAL
Download-and-execute
L20

Detects patterns of downloading and piping to shell execution

curl
      - openssl
  install:
    - id: vnsh-cli
      kind: shell
      command: "curl -sL vnsh.dev/i | sh
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
L20

Detects downloading scripts piped directly to a shell interpreter

curl
      - openssl
  install:
    - id: vnsh-cli
      kind: shell
      command: "curl -sL vnsh.dev/i | sh
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.

CRITICAL
Download-and-execute
L221

Detects patterns of downloading and piping to shell execution

curl -sL vnsh.dev/i \| sh
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
L221

Detects downloading scripts piped directly to a shell interpreter

curl -sL vnsh.dev/i \| sh
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.

LOW
Chained shell command execution
L20

Detects chained commands using shell operators with dangerous operations

curl
      - openssl
  install:
    - id: vnsh-cli
      kind: shell
      command: "curl -sL vnsh.dev/i | sh
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.

LOW
Shell script file execution
L95

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

bash
~/.openclaw/skills/vnsh/scripts/read.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
L102

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

bash
FILE_PATH=$(~/.openclaw/skills/vnsh/scripts/read.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
Dynamic code evaluation
L128

Detects eval() or exec() used for dynamic code execution

exec("
FIX

Replace eval()/exec() with a safer alternative such as json.loads(), ast.literal_eval(), or a purpose-built parser.

FP?

Likely FP if the matched text contains 'exec' as part of a word (e.g., 'execute', 'execution') rather than an actual eval() or exec() call.

LOW
Dynamic code evaluation
L139

Detects eval() or exec() used for dynamic code execution

exec("
FIX

Replace eval()/exec() with a safer alternative such as json.loads(), ast.literal_eval(), or a purpose-built parser.

FP?

Likely FP if the matched text contains 'exec' as part of a word (e.g., 'execute', 'execution') rather than an actual eval() or exec() call.

LOW
Chained shell command execution
L221

Detects chained commands using shell operators with dangerous operations

curl -sL vnsh.dev/i \| sh
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.

LOW
System package manager install
L222

Detects system-level package installation via brew, apt, yum, or dnf

brew install o
FIX

Pin system packages to specific versions where the package manager supports it. Document the exact packages required and prefer containerized environments to avoid system-wide changes.

FP?

Likely FP if the match is standard setup documentation listing well-known system packages (e.g., apt install git curl) that are prerequisites.