AI短信发送工具

ReviewAudited by ClawScan on May 10, 2026.

Overview

This skill appears to send Chuanglan SMS as advertised, but it can send paid or bulk texts and handles API credentials in ways that need review.

Install only if you need automated Chuanglan SMS sending. Use a dedicated low-quota API account, keep IP whitelisting enabled, avoid untrusted .env files, do not set CHANGLAN_API_URL unless you fully trust the endpoint, and require manual confirmation before any real or bulk SMS send.

Findings (4)

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 mistaken or overly broad agent invocation could send paid SMS messages to many recipients, causing cost, privacy, or reputation impact.

Why it was flagged

The skill exposes a command that sends real SMS messages and documents bulk sending up to 1000 recipients, but the artifacts do not include confirmation, preview, rate-limit, spend-limit, or recipient-validation guidance.

Skill content
sms-send --phone <手机号> --template <模板ID> [--vars '<变量JSON>']; 批量发送时多个手机号用逗号分隔,最多1000个
Recommendation

Require explicit user confirmation before every send, add a preview of recipients/template/variables, cap bulk recipient counts by default, and use account quotas or test credentials.

What this means

If the environment is misconfigured or influenced, the SMS account password could be sent to an unintended endpoint; local process listings or logs may also expose the request body while curl runs.

Why it was flagged

The API password is embedded in the request body, the destination URL can be overridden by an undocumented environment variable, and the body is supplied to curl as a command-line argument.

Skill content
: "${CHANGLAN_API_URL:=https://smssh.253.com/msg/sms/v2/tpl/send}" ... "password": "${CHANGLAN_PASSWORD}" ... curl ... -d "${request_body}"
Recommendation

Pin or validate the official HTTPS API host, document any endpoint override, send the request body via stdin or a protected temporary file, and use a dedicated low-quota Chuanglan account with IP whitelist controls.

What this means

This is normal local configuration plumbing, but a tampered or untrusted .env file could run commands when the SMS command is used.

Why it was flagged

The script loads .env with shell source, which executes shell syntax in that file rather than only parsing key/value credentials.

Skill content
if [[ -f "$ENV_FILE" ]]; then source "$ENV_FILE"; fi
Recommendation

Prefer OpenClaw secret storage or environment variables; if .env is used, keep it private and parse it as data rather than sourcing it as shell code.

What this means

Phone numbers and message-template variables will be shared with the SMS provider as part of sending messages.

Why it was flagged

Recipient phone numbers, template IDs, and template variables are sent to the Chuanglan SMS provider API, which is expected for this skill but is still a third-party data flow.

Skill content
"phoneNumbers": "${phone}", "templateId": "${template}" ... curl -s -m 30 -X POST "${CHANGLAN_API_URL}"
Recommendation

Only send numbers and variables the user has approved, ensure recipient consent/compliance, and keep provider/account access limited to this purpose.