T09 · Insecure Skill Coding Practices
- Location
SKILL.md:31- Finding
Shell Command Injection Through User-Controlled Music Parameters
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This music-generation skill is purpose-aligned, but it asks the agent to run shell commands with user-provided song parameters in a way that can enable command injection and leaks the API key through URLs.
Review this skill before installing. Use it only in a restricted workspace, avoid sensitive prompts, rotate the OhYesAI key if it may have been logged, and do not let an agent paste user text directly into the provided shell templates; a safer implementation should build JSON with a serializer and download to unique, user-approved filenames.
SKILL.md:31Shell Command Injection Through User-Controlled Music Parameters
SKILL.md:36API Credential Exposed in URL Query Parameters
The setup and usage flow require sending an API key to a third-party service but do not warn that credentials and user prompts are being transmitted externally. This creates a privacy and secret-handling risk, especially in agent environments where users may not realize their inputs and tokens are leaving the local system.
The skill explicitly transmits user-supplied content and an API credential to an external service. This is expected for the feature, but it remains a real security concern because prompts may contain sensitive data and the API key is embedded in the request URL, which is more likely to leak via logs, proxies, or telemetry.
收集完参数后,使用 curl 调用 submit 接口提交任务:
curl -s --location --request POST "https://ohyesai.com/ohyesai-next/api/vio/skill/music-submit?apikey=$OHEYSAI_API_KEY" \
--header 'Content-Type: application/json' \
--data-raw '{
"title": "晚安",
The skill instructs the agent to download remote MP3 content directly into the current working directory using a fixed local filename, without any guardrails around overwrite, path safety, or file provenance. In an agent setting, this can clobber existing files, persist untrusted content locally, and increase the chance of later misuse if the returned URL or filename is manipulated.
The operational instructions and required user-facing reply text are all in Chinese, which can impose a specific language on users without opt-in. The file does not indicate that the skill is region-specific or provide an alternative language option.
No suspicious patterns detected.