Caveat verdict
wallet-mcp
Multi-chain wallet management skill (Solana/EVM) operating on explicitly user-owned wallets for legitimate transfer and sweep operations; --from-label preferred over raw keys, and all commands are documented and user-directed.
⚠ Flagged for review — coarse, uncorroborated signal, not a confirmed exploit. Review the config yourself before installing.
Automated static analysis — not a human review. Caveat flags capabilities, not confirmed intent, and can produce false positives. Disagree with this verdict? Use Dispute below.
Findings (13)
Pipe-to-shell pattern (curl | sh) — supply chain attack vector
CONTRIBUTING.md · code · curl -LsSf https://astral.sh/uv/install.sh | sh
Pipe to sh — executes piped content as shell commands
CONTRIBUTING.md · code · | sh
Possible hardcoded credential
EXAMPLES.md · code · token="0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48
References sudo — requests elevated privileges
INSTALLATION.md · code · sudo
Pipe to python — executes piped content as Python code
OPENCLAW.md · prose · downgraded · | Python
Accesses shell history/config
OPENCLAW.md · code · ~/.zshrc
Accesses OpenClaw config/secrets directly
OPENCLAW.md · code · ~/.openclaw/openclaw.json
Sets world-executable permissions
INSTALLATION.md · code · chmod 700
Python os.getenv — reads environment variable
src/wallet_mcp/core/evm.py · prose · downgraded · os.getenv(
importlib.import_module — dynamic module loading
src/wallet_mcp/core/generator.py · prose · downgraded · importlib.import_module(
Base64 encoding/decoding
src/wallet_mcp/core/solana.py · prose · downgraded · base64-encode
Popular HTTP library — network access
test_local.py · prose · downgraded · got
Python shutil file operation — copies/moves/deletes files
test_local.py · prose · downgraded · shutil.rmtree(
Why the tier is capped
Execution sink present in raw bytes (Hard Floor: class A/E). Final tier capped at Caution — cannot be lifted by any downgrade, example-payload opt-in, or allowlist.
Permissions & capabilities
No declared permissions — minimal attack surface.
Is this flag fair?
Thanks — recorded.