T09 · Insecure Skill Coding Practices
- Location
SKILL.md:257- Finding
Jira API token disclosure through an unvalidated service URL
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill is mostly a coherent bug-analysis helper, but its documented Jira and ZenTao integrations can send sensitive bug data and API tokens to external systems without clear consent or destination validation.
Review this skill before installing. Use it for local bug analysis by default, and only enable Jira or ZenTao integration with trusted HTTPS URLs, least-privilege tokens, and explicit confirmation before creating tickets or sending logs, screenshots, stack traces, customer data, or security findings.
SKILL.md:257Jira API token disclosure through an unvalidated service URL
SKILL.md:293ZenTao API token disclosure through an unvalidated service URL
The description says to use this skill whenever the user needs to analyze bug causes, classify defects, generate bug reports, track fixes, or mentions a wide list of terms such as "问题定位" and "根因分析". These triggers are expansive and lack explicit boundaries or negative examples, making it unclear when this skill should activate versus a more general troubleshooting or analysis skill.
The skill’s natural-language description and operating instructions are entirely in Chinese and do not indicate that users may choose another language. This can violate language or locale policy when a skill effectively constrains interaction to a specific language without opt-in or documented justification.
The documentation includes Jira and ZenTao integrations but does not clearly warn that bug descriptions, logs, screenshots, or other defect data may be transmitted to external systems. Because bug artifacts often contain sensitive internal details, stack traces, PII, or security-relevant information, lack of disclosure and consent increases the chance of unintended data leakage.
The skill is presented as a bug analysis/tracking assistant, but it also documents code to create Jira issues, which expands its scope from analysis into state-changing actions against an external system. That creates a real risk of unintended ticket creation, spam, disclosure of sensitive bug details to third-party services, or misuse if the skill is invoked in contexts where the user only expected analysis.
The documented requests.post call sends structured issue data to Jira, which is an external transmission sink. In this skill's context, that means potentially sensitive bug details can leave the current environment and be persisted in an external platform, and the action is also state-changing rather than purely analytical.
"labels": labels or [] } } response = requests.post(url, headers=self.headers, json=data) return response.json()
No suspicious patterns detected.