Caveat verdict

tg-canvas

openclaw-tg-canvas

45
🟠 Risky
Significant risk patterns flagged — automated deep scan, not behavioral proof.

Provides a JWT-authenticated WebSocket terminal with full server-side PTY/bash shell access; though gated by Telegram HMAC verification and ALLOWED_USER_IDS, exposing a shell over a WebSocket is elevated-privilege capability warranting RISKY.

⚠ 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.

10
security
90
transparency
80
maintenance

Findings (9)

Pattern match high

HTTP request to bare IP address — common in malicious payloads

README.md · code · http://127.0.0.1

Pattern match high

References sudo — requests elevated privileges

README.md · code · sudo

Pattern match high

<script> tag in markdown — potential code injection

README.md · prose · downgraded · <script>

Pattern match medium

Accesses OpenClaw config/secrets directly

README.md · prose · downgraded · ~/.openclaw/openclaw.json

Pattern match medium

Uses spawn() — can execute external programs

server.js · prose · downgraded · spawn(

Pattern match low

Opens WebSocket connection

SKILL.md · prose · downgraded · WebSocket

Pattern match low

Accesses sensitive environment variables

bin/tg-canvas.js · prose · downgraded · process.env.PUSH_TOKEN

Pattern match low

String.fromCharCode — can build strings to evade detection

miniapp/app.js · prose · downgraded · String.fromCharCode

Pattern match low

Node http/https module — low-level network access

server.js · prose · downgraded · require("http")

Why the tier is capped

Execution sink present in raw bytes (Hard Floor: class B/G). Final tier capped at Caution — cannot be lifted by any downgrade, example-payload opt-in, or allowlist.

Permissions & capabilities

Requires 5 environment variables. (3 sensitive: BOT_TOKEN, JWT_SECRET, PUSH_TOKEN). Requires 2 system binaries.

Is this flag fair?

Check another skill Browse the registry Auditing your own skills or configs? Use the API