T09 · Insecure Skill Coding Practices
- Location
generate-image.py:11- Finding
Hard-Coded Application Signing Key
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This skill appears to perform the advertised AutoGLM image-generation task, but users should know prompts and a local bearer token are sent to the documented external API.
Install only if you are comfortable with your image prompts being sent to AutoGLM and with the skill obtaining a bearer token from the documented localhost service. The publisher should rotate/remove the embedded signing key and document data handling more clearly, but the reviewed artifact does not show malicious behavior.
generate-image.py:11Hard-Coded Application Signing Key
The skill performs network operations, including contacting a local token service and a remote image-generation API, but does not declare any tool scope or permissions. This weakens reviewability and consent because consumers cannot easily see that the skill will transmit data off-box and access localhost resources.
The documentation states that user-provided text is automatically sent to a remote API and that a token is automatically fetched from a local HTTP service, but provides no privacy warning, consent flow, or data-handling notice. This is dangerous because prompts may contain sensitive information and localhost token brokers often expose privileged credentials that should not be used silently.
The script silently retrieves a bearer token from a local service and immediately uses it to authenticate an outbound request to a third-party API. In a skill context, this can cause unintended credential use and data transfer without informed user consent, which is risky even if the token source is localhost.
User-supplied prompt text is transmitted to an external image-generation service without any warning that the content leaves the local environment. This creates privacy and compliance risk because users may include sensitive or proprietary information in prompts, especially when the skill presents itself as a simple local utility.
The natural-language instructions and usage description are presented in Chinese only, which can amount to forcing a specific language on users without offering an opt-in or alternative. The policy allows locale constraints when clearly documented and justified, but no such justification or language-choice mechanism is provided here.
Comments and usage strings are presented only in Chinese, and the script does not offer an alternative language or indicate that it is intentionally region-specific. This can violate a language/locale policy when skills are expected to avoid forcing a specific language without opt-in.
No suspicious patterns detected.