T09 · Insecure Skill Coding Practices
- Location
scripts/youtube-transcript.sh:53- Finding
API Credential Transmission to an Unrestricted Configurable Endpoint
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill is a legitimate YouTube transcript integration, but its script has review-worthy weaknesses that could expose the API key or allow command execution through crafted arguments.
Review before installing. Use only the default diarize endpoint unless you fully trust a custom endpoint, keep API keys out of untrusted OpenClaw config or inherited environments, and avoid letting an agent or external input choose timeout or polling arguments until the script validates them as bounded positive integers.
scripts/youtube-transcript.sh:53API Credential Transmission to an Unrestricted Configurable Endpoint
scripts/youtube-transcript.sh:125Command Execution Through Unvalidated Bash Arithmetic Input
The skill exposes shell-based execution via a referenced script but does not declare any explicit tool scope such as permissions or allowed-tools. That creates an authorization gap where an agent or runtime may invoke shell capabilities more broadly than intended, reducing policy enforcement and making misuse or unsafe command execution harder to constrain.
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
local base_url="$5"
if [[ -n "$body" ]]; then
curl -fsS -X "$method" \
-H "Authorization: Bearer $api_key" \
-H "Content-Type: application/json" \
"${base_url}${path}" \
This shell script submits a user-supplied YouTube URL to an external service and later retrieves job and transcript data via HTTP requests, but it provides no confirmation prompt, no user-facing notice about the remote transmission, and no explanatory comments/docstrings describing that behavior. Because these requests send user data off-system to diarize.io or a configured endpoint, the lack of disclosure matches the missing-warning criterion for code files.
No suspicious patterns detected.