Speech to Text (Yandex SpeechKit)
Analysis
This appears to be a legitimate speech-to-text skill, but it uses your Yandex credentials and sends audio to Yandex for transcription.
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.
Checks for instructions or behavior that redirect the agent, misuse tools, execute unexpected code, cascade across systems, exploit user trust, or continue outside the intended task.
cmd = ['ffmpeg', '-i', input_file, ... '-y', output_file] ... subprocess.run(cmd, capture_output=True, text=True, timeout=300)
The skill runs FFmpeg as a local subprocess to inspect or convert audio. This is expected for speech-to-text processing and uses argument arrays rather than shell-string execution.
python-dotenv>=1.0.0 requests>=2.31.0 urllib3>=1.26.0
The Python dependencies are specified with lower-bound ranges rather than exact pinned versions. That is common, but future installs can resolve different package versions.
Checks whether tool use, credentials, dependencies, identity, account access, or inter-agent boundaries are broader than the stated purpose.
OC_CONFIG="${HOME}/.openclaw/openclaw.json" ... -H "Authorization: Api-Key ${CHECK_API_KEY}"The diagnostic script can read this skill's configured Yandex API key and use it to validate access against Yandex. It does not show the key in output, and this credential use is expected for SpeechKit.
Checks for exposed credentials, poisoned memory or context, unclear communication boundaries, or sensitive data that could leave the user's control.
API_URL = "https://stt.api.cloud.yandex.net/speech/v1/stt:recognize" ... response = self.session.post(... data=audio_data, timeout=self.timeout)
The provider sends the audio bytes to Yandex SpeechKit. This is disclosed and central to the skill, but it is still an external provider data flow involving potentially sensitive voice content.
