TeddyMobile Vox Phone Notification

PassAudited by VirusTotal on May 13, 2026.

Overview

Type: OpenClaw Skill Name: teddymobile-vox-phone-notification Version: 1.0.0 The skill bundle provides a legitimate integration for the TeddyMobile Vox outbound phone notification service. It includes well-documented logic for natural language parsing (chat-to-notification.js), HMAC-SHA256 request signing (hmac-outbound-client.js), and a standard credential loading mechanism that checks environment variables and a service-specific local file (~/.teddymobile/credentials.json). All network activity is directed to the official platform domain (vox.teddymobile.cn), and there is no evidence of data exfiltration, unauthorized execution, or malicious prompt injection.

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 configured runtime could place phone calls to supplied numbers, which may have cost, privacy, or abuse implications if triggered incorrectly.

Why it was flagged

The helper can submit outbound phone-notification requests to the provider API, which is the stated purpose but is still a real external side effect.

Skill content
const response = await fetchImpl(`${baseUrl}${path}`, { method: 'POST', ... body: JSON.stringify(requestBody) });
Recommendation

Require clear user or business authorization before each call, validate the phone number and message, and add rate limiting or allowlists for production use.

What this means

Anyone with access to those credentials may be able to use the TeddyMobile account’s outbound notification capability.

Why it was flagged

The skill requires TeddyMobile app credentials and a bot/outbound number to act on the user's provider account; this is disclosed and purpose-aligned.

Skill content
Configure those credentials with environment variables or a local file such as `~/.teddymobile/credentials.json`.
Recommendation

Store credentials outside source control, restrict file permissions, rotate secrets if exposed, and grant only the TeddyMobile capabilities needed for notifications.

What this means

If a hosted zip URL is replaced or served from an untrusted source, users could install a different skill than the one reviewed here.

Why it was flagged

The release guidance supports installing from a custom hosted zip URL, which is normal for this distribution model but depends on the integrity of that hosted package.

Skill content
Upload the zip to a stable HTTPS URL ... public HTTPS access ... direct download without login
Recommendation

Install only from trusted URLs, compare the downloaded contents to the reviewed package, and prefer signed or checksummed releases where available.

What this means

Stored notification records may contain phone numbers and business details that should not be retained longer than necessary or reused for unrelated tasks.

Why it was flagged

The integration template suggests persisting phone numbers and business notification context for callback correlation; this is useful but creates stored sensitive context.

Skill content
Before calling TeddyMobile, save a record keyed by `requestId`. Suggested fields: `requestId`, `callee`, `task`, `variables`, `status`, `createdAt`
Recommendation

Define retention, access controls, and deletion for notification context, and avoid storing unnecessary message content.

What this means

If deployed publicly without verification, unrelated callers could reach the callback endpoint and potentially trigger callback processing or agent work.

Why it was flagged

The optional callback example accepts provider webhook-style POSTs and streams SSE responses, but the sample does not show origin, signature, or authentication checks.

Skill content
app.post('/vox/callback', async (req, res) => { const body = req.body || {}; ... res.setHeader('Content-Type', 'text/event-stream');
Recommendation

Treat the callback server as an example only; in production, verify TeddyMobile callback authenticity, use HTTPS, restrict network access where possible, and avoid trusting callback text as authoritative instructions.