T09 · Insecure Skill Coding Practices
- Location
examples/run.sh:18- Finding
API Key Exposed Through Command-Line Arguments
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This skill coherently sends product descriptions to Revid to generate short ads, with no hidden persistence or unrelated local access found.
Install only if you are comfortable sending product copy, brand notes, and any provided media to Revid for processing. Avoid using confidential or regulated content unless approved, protect and rotate the Revid API key as needed, and prefer bounded polling and safer secret handling if adapting the example script for automation.
examples/run.sh:18API Key Exposed Through Command-Line Arguments
examples/run.sh:21Unbounded Status Polling and Missing Network Timeouts
Without declared permissions the skill's intent is opaque and cannot be validated.
The skill sends user-supplied product descriptions and optional media to www.revid.ai, but the user-facing description and usage guidance do not clearly warn that this content leaves the local system and is shared with a third-party service. This creates a data exposure risk if users paste confidential product plans, unpublished marketing copy, or proprietary images without informed consent.
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
PAYLOAD=$(cat "$PAYLOAD_FILE")
fi
PID=$(curl -fsS https://www.revid.ai/api/public/v3/render \
-H "Content-Type: application/json" -H "key: $REVID_API_KEY" \
-d "$PAYLOAD" | jq -r .pid)
echo "pid=$PID"
The payload hard-codes language: "en-US" for voice generation without indicating this to the user or allowing selection. While not a classic security flaw, it can cause unintended processing choices, misrepresentation of user intent, and accidental transmission of non-English content to a configuration the user did not approve.
The configuration hard-codes the voice language to "en-US", which is a natural-language locale constraint. The file does not indicate that users can choose a different language or explicitly opt into this locale, so it may violate language/locale choice policy.
No suspicious patterns detected.