acestep
ReviewAudited by ClawScan on May 1, 2026.
Overview
Review before installing: the skill is for music generation, but its API/data-flow disclosure is inconsistent and its Bash/config handling could expose API keys or run unintended shell input.
Install only if you are comfortable verifying the API endpoint and sharing prompts/lyrics with that service. Before use, inspect `scripts/config.json`, avoid printing configs that contain API keys, and ensure the agent uses safe quoting or file-based input instead of pasting raw lyrics into Bash commands.
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.
A crafted lyric or caption could cause the agent to run unintended shell commands in the user's project environment.
The skill authorizes Bash and directs the agent to place arbitrary full lyrics into CLI arguments. The examples use shell-quoted arguments; without explicit escaping or file-based input, lyrics containing shell metacharacters or command substitution could be interpreted by the shell.
allowed-tools: Read, Write, Bash, Skill ... If user provides lyrics, pass the ENTIRE text they give you ... ./scripts/acestep.sh generate -c "Electronic pop, energetic synths" -l "[Verse] Your complete lyrics
Do not paste raw user lyrics into a shell command. Use a file/JSON input mode, robust shell escaping, or require explicit review before running Bash with user-supplied text.
Unreleased lyrics, prompts, or other creative material may be sent to a remote service when the user expected a local API server.
The API request body includes prompts and lyrics. This external data flow is purpose-aligned, but the included config template points to `https://api.acemusic.ai` while SKILL.md documents a local `127.0.0.1` default, making the default provider/data boundary unclear.
"messages": [{"role": "user", "content": "<prompt>Jazz with saxophone</prompt><lyrics>[Verse] Hello...</lyrics>"}]Before use, inspect `scripts/config.json`, confirm the API endpoint, and only send content you are comfortable sharing with that service. The skill should clearly disclose the default endpoint and privacy implications.
An API key could be exposed in the agent conversation, logs, or screenshots if the config command is run without the masking option.
The script supports storing an API key in `config.json`, and the default `config` display path prints the whole config file unredacted, unlike the masked `--list` path.
./scripts/acestep.sh config --set api_key <key> ... cat "$CONFIG_FILE"
Mask `api_key` in every config output path, prefer environment variables or a secret store for credentials, and declare the credential requirement in metadata.
The skill may fail or prompt ad hoc setup if curl or jq is missing.
The registry requirements list no required binaries, while the skill documentation and script require curl and jq. This is expected for the API wrapper, but the dependency contract is incomplete.
The `scripts/acestep.sh` script requires: **curl** and **jq**.
Declare curl and jq as required binaries and document the supported setup path.
