Agent Economy Report

Skill code audit

CAUTION version 1.0.0 · audited 2026-09-17

openai-whisper-api @steipete

This skill adds a bash script that sends a local audio file to OpenAI's Whisper transcription API using curl, with options for model, language, prompt, and text or JSON output. It requires an audio file and the OPENAI_API_KEY environment variable, and it writes the transcript to either a calculated path or the path given by --out. The code only contacts api.openai.com and does not install packages, hide files, persist services, or redirect payments. The main considerations are that the selected audio is uploaded to OpenAI and the output file can be written wherever the agent has write access.

Declared purposeTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
Observed behaviorWhen run, scripts/transcribe.sh parses command-line options for model, output path, language, prompt, and JSON mode. It verifies the input file and OPENAI_API_KEY, makes a multipart POST to https://api.openai.com/v1/audio/transcriptions with curl, writes the response body to the selected output path, and prints that path.
Verdict, rules onlyCAUTION · reads credential-like environment variables: OPENAI_API_KEY
Verdict, AISAFE
Final verdictCAUTION (never better than either pass)

Capabilities

capabilityvs purposedetail
networkneededContacts https://api.openai.com/v1/audio/transcriptions using curl. Documentation links to platform.openai.com and clawhub.ai are not contacted by the script.
shellneededThe skill is a bash script run from the command line and requires bash and curl.
filesystem_readneededReads the local audio file supplied as the first argument and checks that it exists before uploading it.
filesystem_writeneededCreates the output directory and writes the API response to a text or JSON output file.
credentialsneededReads the OPENAI_API_KEY environment variable and sends it as the Authorization bearer header for the API request.

Findings

severityfinding
infoDeclared purpose matches implementation
The package declares audio transcription via the OpenAI Audio Transcriptions API, which is what the script does.
SKILL.md:3 description: Transcribe audio via OpenAI Audio Transcriptions API (Whisper).
infoDocumented command runs the bash script
The quick-start command invokes the transcription script on a local audio file.
SKILL.md:15 {baseDir}/scripts/transcribe.sh /path/to/audio.m4a
infoRequires OPENAI_API_KEY
The script refuses to run unless the OPENAI_API_KEY environment variable is set.
scripts/transcribe.sh:59 if [[ "${OPENAI_API_KEY:-}" == "" ]]; then
infoCreates output directory
The script creates parent directories for the chosen output path before writing the transcript.
scripts/transcribe.sh:73 mkdir -p "$(dirname "$out")"
infoContacts only the OpenAI transcription endpoint
The network operation in the script goes to the declared OpenAI API endpoint.
scripts/transcribe.sh:75 curl -sS https://api.openai.com/v1/audio/transcriptions
lowSends API key in Authorization header
The script includes the OPENAI_API_KEY as a bearer token in the request header. This is required for the API but means the credential is exposed to the request process and OpenAI.
scripts/transcribe.sh:76 -H "Authorization: Bearer $OPENAI_API_KEY"
lowUploads selected local audio file
The chosen audio file is read and submitted to OpenAI. This is necessary for transcription but sends the audio content to a third party.
scripts/transcribe.sh:78 -F "file=@${in}"
lowWrites transcript to selected output path
The API response is written to the computed or supplied output path. The script can write to any path the invoking agent has write permission for.
scripts/transcribe.sh:83 >"$out"
infoKnown data-sharing risk is disclosed
The skill card explicitly discloses that audio files and submitted fields are sent to OpenAI with the user's API key.
skill-card.md:24 Risk: Selected audio files and optional prompt, language, and model fields are sent to OpenAI using the user's API key.

0 AI finding(s) were dropped because their file, line or quote did not match the package.

Network destinations in the code

domainservice ratingwhere
api.openai.comnot in the service indexscripts/transcribe.sh:75
clawhub.ainot in the service indexskill-card.md:9
platform.openai.comnot in the service indexSKILL.md:4

Other facts

Binaries invokedbash, curl
Environment variables readOPENAI_API_KEY
Hard-coded walletsnone
Pipes a download to a shell0
eval / exec / subprocess0
base64 blobs0
File writes1
Persistence0

Files audited

filelinessha256
SKILL.md434cd90ed4d059a385…
_meta.json63aaf1587c4bd41e1…
scripts/transcribe.sh8506d255cdd1a44ea3…
skill-card.md49c28cac3b9d6620d7…

For agents

JSON: https://agenteconomy.report/k/openai-whisper-api.audit.json · badge: https://agenteconomy.report/k/openai-whisper-api.audited.svg · skill rating: /k/openai-whisper-api · commission an audit of any skill: US$ 29 per version.

How this is computed

The complete published package of this exact version was downloaded from the registry and read statically; nothing was executed. A deterministic pass extracts network destinations, binaries, environment variables, writes, install commands, obfuscation markers, subprocesses and wallets, each with file and line. An AI then reads the whole package with those facts and writes the summary, the capabilities and the findings under a strict schema; every finding it produces must cite a file, a line and the exact text, or it is dropped. The final verdict is the worst of the two passes. The audit does not change the skill's trust tier (policy); the author may respond through the dispute channel and the response is published here. Commissioned by: the Agent Economy Report (free program: the 150 most downloaded skills, September 2026).