TBOT Controller

WarnAudited by ClawScan on May 10, 2026.

Overview

This appears to be a real TBOT controller, but it can send trading webhook commands and use local webhook secrets, while the docs disagree about whether JSON mode makes network calls.

Review this carefully before installing for any live trading setup. Treat JSON mode as potentially sending a real trading signal, verify paper vs. live mode, confirm the webhook URL and key source, and only allow `--run-it`/`RUN_IT=1` when you truly want the action performed.

Findings (5)

Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.

What this means

Invoking JSON mode could send an order-like signal to TBOT instead of merely creating a payload for review.

Why it was flagged

The JSON mode is not just local file generation; it can POST trading instructions to a webhook. For a trading bot, that can create or close positions, so the send path needs an unambiguous confirmation boundary.

Skill content
Behavior:
 - This command ALWAYS sends the generated, schema-validated JSON payload to TBOT.
 - Webhook endpoint is taken from (in order): --url, TBOT_WEBHOOK_URL, or defaults to http://127.0.0.1:5001/webhook.
Recommendation

Separate generate-only and send modes, make generate-only the default, and enforce `--run-it` or `RUN_IT=1` for every webhook send.

What this means

A user may believe the command is safe offline payload generation when it may actually contact the trading webhook.

Why it was flagged

This user-facing claim conflicts with the included sender implementation, which documents and implements webhook POST behavior. Users may underestimate the impact of using JSON mode.

Skill content
## Webhook JSON Generator

Builds a schema-valid TradingView-style payload (no network calls).
Recommendation

Correct the README and examples so they clearly state when a network send occurs and when explicit confirmation is required.

What this means

The agent may use an existing local TBOT webhook secret to authorize trade-signal delivery.

Why it was flagged

The skill can read and use local webhook credentials for the trading runtime. That is purpose-aligned, but sensitive and not reflected by the registry’s 'Primary credential: none' declaration.

Skill content
Webhook key is taken from (in order): --key, WEBHOOK_KEY env var, or the runtime .env file (auto-discovered).
Recommendation

Declare webhook credential use in metadata/docs, prefer explicit user-provided keys or clearly bounded env vars, and confirm the target URL before sending.

What this means

Portfolio/order information may appear in chat or logs when status or DB commands are run.

Why it was flagged

The skill retrieves persistent trading database records, including orders, alerts, and portfolio data, into the agent session. This is expected for the purpose but can expose sensitive financial context.

Skill content
bash scripts/tbot.sh status db --table orders --format summary --limit 100
bash scripts/tbot.sh status db --table alerts --format summary --limit 100
bash scripts/tbot.sh status portfolio --format summary
Recommendation

Use summary output and small limits by default; avoid raw JSON unless needed and do not share outputs publicly.

What this means

A future dependency version could change behavior compared with the reviewed version.

Why it was flagged

The entrypoint runs Python through uv and installs dependencies from the requirements file at invocation time; scripts/requirements.txt uses a version range for jsonschema. This is common but not fully pinned.

Skill content
PYTHON_EXEC=(uv run --no-project --with-requirements "$REQ_FILE" python3)
Recommendation

Pin dependencies with hashes or a lockfile if this will be used for financial automation.