Speech is Cheap Transcribe

PassAudited by VirusTotal on May 12, 2026.

Overview

Type: OpenClaw Skill Name: asr Version: 1.2.0 The skill bundle provides an automatic speech-to-text transcription service. The `SKILL.md` and `README.md` files contain clear, functional instructions for the OpenClaw agent to use the `asr.sh` script, without any evidence of prompt injection attempts to subvert the agent's behavior or exfiltrate data. The `asr.sh` script correctly handles the `SIC_API_KEY` environment variable and interacts with the `speechischeap.com` API for transcription, including local file uploads and webhook callbacks. While the script can upload local files and accept arbitrary webhook URLs, these are core functionalities of an ASR service and are not used with malicious intent within the provided code or instructions. There is no evidence of data exfiltration to unauthorized endpoints, malicious execution patterns, or obfuscation.

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 crafted or poorly handled command argument could cause transcription jobs to fail or use unexpected request parameters.

Why it was flagged

The script manually interpolates agent/user-supplied strings into a JSON request instead of using a JSON encoder. This is purpose-aligned, but special characters in arguments could malformed or alter the provider API request.

Skill content
--url) URL="$2"; shift ;; ... JSON_DATA=$(cat <<EOF ... "input_url": "$URL", ... "webhook_url": "$WEBHOOK", ... EOF
Recommendation

Use trusted command arguments, avoid letting untrusted page/session text choose webhook or advanced options unattended, and prefer a future version that builds JSON with a proper encoder such as jq or Python.

What this means

Anyone with access to the environment variable could use the linked Speech is Cheap account and potentially consume paid transcription credits.

Why it was flagged

The skill requires a Speech is Cheap API key and sends it as a bearer token to the service. This is expected for the stated provider integration, with no hardcoded key or logging shown.

Skill content
if [ -z "$SIC_API_KEY" ]; then ... -H "Authorization: Bearer $SIC_API_KEY"
Recommendation

Store SIC_API_KEY as a secret, use a revocable or least-privilege key if the provider supports it, and monitor account usage.

What this means

Audio files, URLs, transcripts, and callback payloads may be sent outside the local machine to the provider or to a configured webhook endpoint.

Why it was flagged

Local files can be uploaded to the provider, and an optional webhook can receive job completion data. Private mode is supported but defaults to false unless the user supplies --private.

Skill content
UPLOAD_BASE="https://upload.speechischeap.com/v2" ... -F "input_file=@$FILE" ... -F "webhook_url=$WEBHOOK" ... PRIVATE=false
Recommendation

Only transcribe media you are allowed to share with the provider, use --private for sensitive jobs, and set webhooks only to endpoints you control and trust.