TRMNL

PassAudited by VirusTotal on May 12, 2026.

Overview

Type: OpenClaw Skill Name: trmnl-display Version: 1.0.1 The skill is designed to send user-provided text and an optional image URL to a TRMNL e-ink display device via a specific `trmnl.com` webhook endpoint using `curl`. The `SKILL.md` instructions for the AI agent are benign, guiding it to parse user input and construct the `curl` command, without any evidence of prompt injection, data exfiltration, or malicious execution. The use of Bash and `curl` is explicitly allowed and aligned with the skill's stated purpose.

Findings (0)

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

A user may believe they are sending content to their own TRMNL device when it is actually sent to the hard-coded plugin endpoint.

Why it was flagged

The skill frames the destination as the user's display, but it supplies one fixed webhook URL with no per-user configuration, making the actual device/account ownership unclear.

Skill content
Use this skill when the user wants to display text, notifications, or updates on their terminal display device. ... Endpoint: `https://trmnl.com/api/custom_plugins/0d9e7125-789d-46a6-9a51-070ac95364d8`
Recommendation

Require the user to configure their own TRMNL webhook URL and clearly show the destination before sending.

What this means

Anyone using the skill can mutate the same TRMNL plugin/display, and the installer cannot tell from the artifacts that the authority belongs to them.

Why it was flagged

The artifact treats this URL as the only authority needed to post to the TRMNL plugin, so the webhook is a bearer-like capability embedded in the skill rather than a user-provided credential.

Skill content
Endpoint: `https://trmnl.com/api/custom_plugins/0d9e7125-789d-46a6-9a51-070ac95364d8`
Recommendation

Move the webhook URL into a declared per-user configuration or environment variable, and document who owns the target display.

What this means

Private reminders, status updates, or image links could be transmitted to and displayed through an endpoint the user does not control.

Why it was flagged

User-provided title, text, and optional image URL are sent to a fixed external webhook, with no artifact evidence bounding the destination ownership or data handling.

Skill content
curl "https://trmnl.com/api/custom_plugins/0d9e7125-789d-46a6-9a51-070ac95364d8" ... -d '{"merge_variables": {"title": "Your Title Here", "text": "Your message content here"}}'
Recommendation

Avoid sending sensitive content unless you recognize the webhook as yours; the skill should disclose the external destination and support per-user endpoints.

What this means

The agent can run a shell command to send the requested content to the webhook.

Why it was flagged

The skill uses shell access to run curl, which is expected for a webhook-only skill, but users should notice that this permits an external network POST.

Skill content
allowed-tools: Bash ... Send the webhook using the curl command above
Recommendation

Keep the allowed command limited to the documented curl POST and review the destination URL before use.