oh-my-opencode

clawhub:oh-my-opencode

View source
D
46/100

First Seen

Feb 18, 2026

Last Scanned

Feb 22, 2026

Findings

8

Score

46/100

HIGH 2
MEDIUM 3
LOW 3

Findings (8)

HIGH
Curl or wget piped to shell
L26

Detects downloading scripts piped directly to a shell interpreter

curl -fsSL https://opencode.ai/install | 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
L26

Detects patterns of downloading and piping to shell execution

curl -fsSL https://opencode.ai/install | 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.

MEDIUM
Sensitive file read pattern
L59

Detects reads of sensitive system or credential files

cat ~/.config
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
Autonomous agent spawning
L128

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

Background execution + autonomous
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).

MEDIUM
MCP server auto-registration
L368

Detects automatic registration of MCP servers into agent configuration

mcp add                   # Add an MCP server
FIX

Pin the curl/wget download to a specific URL with version and verify the downloaded file's SHA-256 checksum before using it. Prefer package manager installs over raw downloads.

FP?

Likely FP if the download is from a well-known canonical source (e.g., official GitHub release) and the documentation includes checksum verification steps.

LOW
Mutable GitHub raw content reference
L18

Detects references to raw.githubusercontent.com on mutable branches like main/master

raw.githubusercontent.com/code-yeongyu/oh-my-opencode/master/
FIX

Replace GitHub raw.githubusercontent.com references with pinned commit SHAs instead of branch names (e.g., /commit-sha/file instead of /main/file). Branch references are mutable.

FP?

Likely FP if the raw GitHub URL points to a versioned release tag in a well-known repository, though even tags are technically mutable.

LOW
Chained shell command execution
L26

Detects chained commands using shell operators with dangerous operations

curl -fsSL https://opencode.ai/install | 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.

LOW
Global package installation
L27

Detects global installation of packages which affects the host system

npm install -g o
FIX

Replace npm install -g with a local install (npm install --save-dev) or use npx with a pinned version. Global installs modify the system and risk supply chain attacks.

FP?

Likely FP if the global install is for a well-known CLI tool (e.g., typescript, eslint) in setup documentation, though the supply chain risk remains real.