T09 · Insecure Skill Coding Practices
- Location
scripts/qwen-image-gen.js:691- Finding
DashScope API credentials can be forwarded to an arbitrary configured endpoint
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This image-generation skill is mostly purpose-aligned, but it handles API credentials and downloads in ways that are too broadly scoped for automatic trust.
Install only if you trust the publisher and will keep the base URL pointed at the official DashScope endpoint you intend to use. Prefer DASHSCOPE_API_KEY from the environment instead of config.json, do not allow untrusted projects or agents to edit config.json or DASHSCOPE_BASE_URL, and review generated output files before reusing them.
scripts/qwen-image-gen.js:691DashScope API credentials can be forwarded to an arbitrary configured endpoint
scripts/qwen-image-gen.js:545Untrusted API response URLs are fetched without destination or response validation
Referenced artifact was not completely inspected
主要脚本:`node scripts/qwen-image-gen.js`
Referenced artifact was not completely inspected
主要脚本:`node scripts/qwen-image-gen.js`
Referenced artifact was not completely inspected
主要脚本:`node scripts/qwen-image-gen.js`
Referenced artifact was not completely inspected
主要脚本:`node scripts/qwen-image-gen.js`
Referenced artifact was not completely inspected
主要脚本:`node scripts/qwen-image-gen.js`
Referenced artifact was not completely inspected
主要脚本:`node scripts/qwen-image-gen.js`
The skill requires access to an API key and makes outbound network requests, but the manifest does not declare an explicit tool scope such as permissions or allowed-tools. This creates an overbroad trust boundary: a host agent may invoke the skill without clear policy gating on secret access and networking, increasing the chance of unintended credential exposure or unreviewed external communication.
This markdown file presents all substantive guidance in Chinese, including headings, usage notes, and pricing, with no indication that the language choice is optional or that the document is intended only for a Chinese-speaking or region-specific audience. Under the stated policy, forcing a specific language without user opt-in can be a natural-language policy violation.
The script emits user-facing messages in Chinese, for example the error text at L192, and this pattern continues throughout usage, validation, and status output. Because there is no opt-in, locale switch, or documented region-specific justification in the file, this is a natural-language locale policy concern.