Agentic Calling

Security checks across static analysis, malware telemetry, and agentic risk

Overview

The skill largely does what it claims, but it gives an autonomous agent broad real-world calling/SMS/recording power and contains an unsafe script pattern that could be abused through malicious call text.

Install only if you intentionally want an agent to use your Twilio account for real calls or SMS. Before enabling it, add human approval, recipient allowlists, spend/rate limits, consent rules for recording, and avoid passing untrusted message text until the script's Python/TwiML construction is fixed.

Static analysis

No static analysis findings were reported for this release.

VirusTotal

66/66 vendors flagged this skill as clean.

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.

What this means

An agent with access to this skill and Twilio credentials could place real phone calls or send messages to arbitrary numbers, potentially causing costs, unwanted contact, or compliance issues.

Why it was flagged

Running the script directly posts to Twilio's Calls API using supplied recipient and message values. The artifacts do not show confirmation prompts, recipient allowlists, rate limits, or spend controls for autonomous agent use.

Skill content
FORM_DATA="To=${TO_NUMBER}&From=${TWILIO_PHONE_NUMBER}&Twiml=${TWIML_ENCODED}&Timeout=${TIMEOUT}" ... RESPONSE=$(curl -s -X POST "$API_URL" \
  -u "${TWILIO_ACCOUNT_SID}:${TWILIO_AUTH_TOKEN}" \
  -d "$FORM_DATA")
Recommendation

Use only with explicit user approval, recipient allowlists, rate limits, logging, and Twilio spend controls; avoid enabling autonomous calling for open-ended tasks.

What this means

Malicious or untrusted message text passed into the call tool could potentially execute local code in the user's environment or alter the generated Twilio instructions.

Why it was flagged

Command-line inputs such as the call message are interpolated into a Python -c program via a triple-quoted string. A crafted message containing triple quotes could break out of the string and execute Python code; the TwiML is also not XML-escaped.

Skill content
TWIML="<?xml version=\"1.0\" encoding=\"UTF-8\"?><Response><Say voice=\"$VOICE\">$MESSAGE</Say>" ... TWIML_ENCODED=$(python3 -c "import urllib.parse; print(urllib.parse.quote('''$TWIML'''))")
Recommendation

Do not pass untrusted text to this script as-is. Maintainers should URL-encode via stdin or a safe argument channel, XML-escape message content, and validate voice/message fields before generating TwiML.

What this means

Anyone or any agent process with access to the token can use the linked Twilio account for calls/messages and related call data within the script capabilities.

Why it was flagged

The skill needs Twilio account credentials to perform its stated function. This is expected, but the token authorizes billing-impacting communications and call-data access, while the registry metadata declares no primary credential.

Skill content
Create `~/.clawdbot/twilio-config.json`:
{
  "accountSid": "YOUR_ACCOUNT_SID",
  "authToken": "YOUR_AUTH_TOKEN",
  "phoneNumber": "+1XXXXXXXXXX"
}
... export TWILIO_AUTH_TOKEN="your_auth_token"
Recommendation

Use a dedicated Twilio account or restricted credential where possible, protect the config file permissions, rotate tokens if exposed, and set Twilio spending/usage limits.

What this means

If the callback URL is wrong or untrusted, call metadata or recording/transcription events could be exposed outside the intended system.

Why it was flagged

The script can configure Twilio status, recording, and transcription callbacks to a user-supplied URL. This is purpose-aligned, but call metadata and recording-related events may be sent to that endpoint.

Skill content
FORM_DATA="${FORM_DATA}&RecordingStatusCallback=${CALLBACK_URL}/recording&Transcribe=true" ... FORM_DATA="${FORM_DATA}&StatusCallback=${CALLBACK_URL}"
Recommendation

Use only trusted HTTPS callback endpoints, validate callback URLs, and avoid recording/transcription unless callers have consented and the data destination is controlled.

What this means

Users may assume additional scripts are part of the reviewed skill or may go looking for unreviewed replacements.

Why it was flagged

SKILL.md documents helper scripts for webhooks, receiving calls, IVR, conferences, and ElevenLabs that are not included in the provided file manifest, so those documented workflows cannot be reviewed from the supplied package.

Skill content
./scripts/setup-webhook.sh --url "https://your-server.com/voice" ... ./scripts/receive-call.sh --port 3000 ... ./scripts/make-call-elevenlabs.sh --to "+15551234567" --message "Hello" --voice-id "YOUR_VOICE_ID"
Recommendation

Use only the scripts included in the reviewed package unless separately auditing any missing helper scripts from a trusted source.