Telegram Voice Messaging Recovery

WarnAudited by ClawScan on May 10, 2026.

Overview

This looks like a plausible OpenClaw voice recovery helper, but it is not truly offline, sends TTS text to a hosted Edge/Microsoft service, has an incomplete installer, and contains unsafe command construction for audio files.

Do not install this expecting a fully offline/private voice system. Review and fix the unsafe audio command handling, confirm whether you are comfortable sending TTS text to Edge/Microsoft, and require the missing transcribe-audio file plus clearer dependency/install declarations before use.

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

Users may install it believing voice processing stays offline, while generated reply text can depend on an external hosted TTS provider.

Why it was flagged

The user-facing description promises offline operation, but the included code uses Edge/Microsoft TTS hosted service. This could cause users to trust the skill as local/private when it is not.

Skill content
Description: Complete offline voice system with high-quality Lessac TTS and faster-whisper speech recognition. Provides natural voice conversations without internet.
Recommendation

Remove the offline/no-internet claim unless the skill is changed to fully offline TTS, and clearly disclose Microsoft/Edge TTS and any other network downloads before installation.

What this means

Assistant reply text, potentially including conversation content, may be sent to a hosted Microsoft/Edge TTS service for synthesis.

Why it was flagged

The TTS wrapper passes the text to the edge_tts provider; the installer also describes Edge TTS as a hosted voice service. The external data boundary is not clear in the registry description.

Skill content
communicate = Communicate(text=text, voice=voice, rate=rate, pitch=pitch, volume=volume)
Recommendation

Require explicit user awareness/consent for hosted TTS, document provider behavior and retention assumptions, and offer a truly local TTS option if offline privacy is required.

What this means

If the helper is invoked on a crafted audio path, it could run unintended local commands with the OpenClaw user's privileges.

Why it was flagged

The audio_file argument is interpolated into a shell command and executed with shell=True. A filename containing shell metacharacters or quotes could alter the command.

Skill content
cmd = f"ffmpeg -i '{audio_file}' -ar 16000 -ac 1 '{wav_file}' -y 2>/dev/null"; subprocess.run(cmd, shell=True, check=True)
Recommendation

Use subprocess.run with an argument list and no shell, validate/normalize audio paths, and avoid interpolating paths into Python -c strings.

What this means

Installation may fail, or users may be forced to obtain an unreviewed helper script from elsewhere for the core transcription path.

Why it was flagged

The installer depends on scripts/transcribe-audio, but that file is not present in the provided manifest/full contents. This is an incomplete package/provenance gap for the transcription entrypoint.

Skill content
cp "$SKILL_DIR/scripts/transcribe-audio" "$INSTALL_DIR/"
Recommendation

Include and scan the transcribe-audio helper in the package, declare the installer and dependencies in metadata, and pin dependency versions where practical.