Caveat verdict
investorclaw
Portfolio analyzer skill operating via a local MCP-HTTP endpoint; enforces strict data-integrity rules requiring all figures to come from HMAC-signed tool results, which is responsible behavior for a financial tool.
⚠ 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.
Permission integrity
network_out
Findings (15)
Pipe-to-python pattern — remote code execution risk
SKILL.md · code · curl -sS http://127.0.0.1:18090/api/portfolio/tools | python
Pipe to python — executes piped content as Python code
SKILL.md · code · | python3
Recursive delete from root or home — destructive command
agent-skills/claude-code/INSTALL.md · code · rm -rf ~
Possible hardcoded credential
docs/GETTING_STARTED_MASSIVE.md · code · API_KEY="$MASSIVE_API_KEY
HTTP request to bare IP address — common in malicious payloads
SKILL.md · code · http://127.0.0.1
Writes to SKILL.md — self-modifying skill
agent-skills/claude-code/INSTALL.md · prose · downgraded · SKILL.md + an MCP-server config write
References sudo — requests elevated privileges
SKILL.md · prose · downgraded · sudo
Accesses OpenClaw config/secrets directly
agent-skills/openclaw/INSTALL.md · prose · downgraded · ~/.openclaw/openclaw.json
Instructs covert action — may act without user awareness
agent-skills/zeroclaw/INSTALL.md · prose · downgraded · silently
Social engineering — falsely claims user authorization
DISCLAIMER.md · prose · downgraded · the user has configured
Popular HTTP library — network access
bridge/investorclaw_bridge/bundle_schema.py · prose · downgraded · Got
Python shutil file operation — copies/moves/deletes files
bridge/investorclaw_bridge/bundle.py · prose · downgraded · shutil.move(
Python os.environ.get — reads environment variable
bridge/investorclaw_bridge/dashboard.py · prose · downgraded · os.environ.get(
References agent configuration files
install.yaml · prose · downgraded · agent_config
References agent memory files
RFC-v0.1.md · prose · downgraded · MEMORY.md
Why the tier is capped
Execution sink present in raw bytes (Hard Floor: class F). 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.
network_outnetwork_in Is this flag fair?
Thanks — recorded.