T03 · Remote Payload Retrieval and Execution
- Location
references/api-guide.md:182- Finding
Unverified Remote Installer Executed Directly by a Shell
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This image-generation skill is coherent and disclosed, but it defaults to sending prompts over unauthenticated HTTP and includes unsafe optional download and installer guidance that users should review carefully.
Install only if you are comfortable sending non-sensitive prompts to the default AMD Radeon Cloud HTTP endpoint. Prefer configuring a trusted HTTPS `ERNIE_BASE_URL`, avoid `--format url` unless you trust the provider response path, and do not run the documented `curl | sh` installer without separately verifying the installer source.
references/api-guide.md:182Unverified Remote Installer Executed Directly by a Shell
scripts/generate.py:31Image Prompts and API Responses Use an Unauthenticated Plaintext HTTP Channel
scripts/generate.py:265Unrestricted and Unbounded Download of API-Provided URLs
The skill explicitly instructs the agent to access environment variables, write local files, and make network requests, but it does not declare any tool scope or allowed-tools boundary. This creates a permission mismatch: an agent platform may expose more capabilities than users expect, increasing the risk of silent data exfiltration or unintended file writes, especially since the default endpoint uses unencrypted HTTP.
The trigger list includes very broad phrases like "draw" and "generate image," and the skill says to "generate immediately with defaults." In a conversational agent, this can cause accidental invocation from ordinary user speech, leading to unintended network transmission of user text to a third-party service and local file creation without clear confirmation.
The script defaults to a plaintext HTTP endpoint (RADEON_BASE_URL = "http://134.199.132.159/ocr/v1") and sends user prompts to it during image generation. This exposes prompt contents to interception or modification in transit by network attackers, which is especially relevant because prompts may contain sensitive user data and the endpoint could be tampered with via man-in-the-middle attacks.
The description says "Chinese prompts excel" and that the skill "specializes in Chinese" styles, which introduces a language preference in the natural-language guidance. While not a hard prohibition, this can steer behavior toward a specific language without stating that language choice remains up to the user.
The section titled 'Chinese Prompt Tips' states that Chinese prompts often produce better results and then recommends Chinese-specific subjects and themes. This creates a language preference in the guidance without offering an explicit user choice or documenting a necessary region-specific constraint.
The guide instructs users to pipe a remote script directly into a shell via curl | sh, which is a classic supply-chain and remote-code-execution risk. If the hosting site, transport, DNS, or published installer is compromised, users could execute attacker-controlled code immediately on their system.
| Empty response | Temporary API issue | Retry after a few seconds |
| Invalid size | Size not in allowed list | Use one of the 7 supported sizes |
| Invalid prefix | Unsafe filename prefix | Use letters, numbers, `_`, `-`, or `.` |
| `uv run` fails | uv not installed or Python < 3.11 | Install uv: `curl -LsSf https://astral.sh/uv/install.sh \| sh` |
---