Telnyx SMS/MMS Channel

Security checks across malware telemetry and agentic risk

Overview

This looks like a real Telnyx SMS plugin, but its allowlist behavior can unintentionally let anyone who knows the phone number reach the assistant when the allowlist is empty.

Before installing, set webhookPublicKey and explicit allowFrom phone numbers; do not leave the allowlist empty unless you are comfortable with anyone texting the number. Verify the package identity if installing manually, monitor Telnyx usage, and remember that SMS/MMS content may be stored in agent conversation context.

VirusTotal

VirusTotal engine telemetry is currently stale for this artifact.

View on VirusTotal

Risk analysis

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.

#
ASI02: Tool Misuse and Exploitation
High
What this means

If you leave allowFrom empty, anyone who can text the Telnyx number may interact with the assistant, potentially prompting replies, causing SMS costs, or reaching command-capable workflows.

Why it was flagged

In allowlist mode, an empty allowFrom list permits every sender instead of rejecting or gating them, and inbound SMS context is marked command-authorized before dispatch.

Skill content
const isAllowed = allowFrom.length === 0 || allowFrom.some((entry) => { ... }); ... CommandAuthorized: true
Recommendation

Configure explicit allowed phone numbers before exposing the number, and update the implementation so empty allowlists deny or gate by default while only ["*"] allows everyone.

#
ASI09: Human-Agent Trust Exploitation
Medium
What this means

Users may believe the default allowlist setting blocks unknown numbers when it can actually allow them.

Why it was flagged

The UI schema tells users that "*" is the explicit allow-all setting and shows an empty default, but the runtime code allows all senders when the list is empty.

Skill content
"description": "Phone numbers allowed to message (E.164 format). Use \"*\" to allow all. Only applies when dmPolicy is \"allowlist\".", ... "default": []
Recommendation

Align documentation, UI schema, and runtime behavior; warn users clearly if an empty allowlist is intended to mean open access.

#
ASI04: Agentic Supply Chain Vulnerabilities
Low
What this means

A user following the README outside ClawHub could install a package identity that is not obviously the same as the reviewed artifact.

Why it was flagged

The manual install instruction names a scoped npm package, while package.json declares the package name as "openclaw-channel-telnyx-sms".

Skill content
npm install @pcplayground/openclaw-channel-telnyx-sms
Recommendation

Install through the trusted ClawHub flow or verify the npm package name, publisher, version, and repository before manual installation.

#
ASI03: Identity and Privilege Abuse
Medium
What this means

The assistant can send messages from your Telnyx number, which may incur charges or affect account reputation.

Why it was flagged

The plugin uses the configured Telnyx API key to send SMS/MMS messages through the Telnyx Messages API, which is expected for this channel.

Skill content
Authorization: `Bearer ${account.config.apiKey}` ... fetch(`${TELNYX_API_BASE}/messages`, { method: "POST"
Recommendation

Store the Telnyx key securely, use the least-privileged key Telnyx supports, monitor usage/billing, and keep outbound access limited to trusted workflows.

#
ASI06: Memory and Context Poisoning
Medium
What this means

Private SMS/MMS content may be retained in conversation context and influence later assistant responses.

Why it was flagged

Inbound SMS text and MMS media URLs are passed into the agent context and recorded for session continuity.

Skill content
BodyForAgent: bodyText, ... MediaUrls: mediaPaths.length > 0 ? mediaPaths : void 0, ... await recordInboundSession({ storePath, sessionKey: ... ctx: ctxPayload })
Recommendation

Use a tight allowlist, configure session retention/history appropriately, and avoid sending sensitive data through the SMS channel unless you expect it to enter the agent context.