keychain-bridge

clawhub:keychain-bridge

View source
B
85/100

First Seen

Feb 19, 2026

Last Scanned

Feb 22, 2026

Findings

7

Score

85/100

HIGH 1
LOW 6

Findings (7)

HIGH
Private data read with code execution
L3

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

[reads_private_data] access issues. Use when asked about secrets + [executes_code] subprocess.run(
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.

LOW
pip install arbitrary package
L28

Detects pip install of arbitrary packages that modify the host environment

pip3 install ke
FIX

Pin all pip packages to exact versions (e.g., pip install package==1.2.3). Use a requirements.txt or pyproject.toml with pinned versions and hash verification.

FP?

Likely FP if the match is in documentation showing how to install the skill's own PyPI package.

LOW
pip install arbitrary package
L30

Detects pip install of arbitrary packages that modify the host environment

pip install ke
FIX

Pin all pip packages to exact versions (e.g., pip install package==1.2.3). Use a requirements.txt or pyproject.toml with pinned versions and hash verification.

FP?

Likely FP if the match is in documentation showing how to install the skill's own PyPI package.

LOW
Shell script file execution
L78

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

bash SKILL_DIR/scripts/populate_secrets.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
Python subprocess execution
L171

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

subprocess.run(
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.

LOW
pip install arbitrary package
L178

Detects pip install of arbitrary packages that modify the host environment

pip3 install ke
FIX

Pin all pip packages to exact versions (e.g., pip install package==1.2.3). Use a requirements.txt or pyproject.toml with pinned versions and hash verification.

FP?

Likely FP if the match is in documentation showing how to install the skill's own PyPI package.

LOW
pip install arbitrary package
L184

Detects pip install of arbitrary packages that modify the host environment

pip install ke
FIX

Pin all pip packages to exact versions (e.g., pip install package==1.2.3). Use a requirements.txt or pyproject.toml with pinned versions and hash verification.

FP?

Likely FP if the match is in documentation showing how to install the skill's own PyPI package.