T09 · Insecure Skill Coding Practices
- Location
SKILL.md:21- Finding
Unsafe Conversational Collection and Undefined Storage of Reusable Credentials
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill has a coherent EasySoft reporting purpose, but it asks for reusable business credentials and persistent local storage without enough clear safeguards or scoping.
Review this before installing if the EasySoft account can access sensitive financial or tenant data. Use only a dedicated low-privilege account, confirm where credentials are stored and how they can be deleted or rotated, and avoid entering a real password through ordinary chat unless the host provides a masked secret-entry and verified credential-vault flow.
SKILL.md:21Unsafe Conversational Collection and Undefined Storage of Reusable Credentials
Referenced artifact was not completely inspected
| `SKILL.md` | 使用说明和引导流程(本文件可公开) |
The trigger list includes very generic business terms such as '报表', '数据查询', '欠费', '应收', '实收', and '月报', which can cause the skill to activate for unrelated conversations that merely mention reporting or financial topics. In this skill’s context, unintended activation is more dangerous because the workflow can prompt users for highly sensitive credentials (property company key, username, and password), increasing the chance of credential collection in the wrong context.
The trigger list includes broad business terms such as ‘报表’, ‘数据查询’, ‘欠费’, ‘应收’, and ‘实收’, which may activate the skill during ordinary conversation that is not intended to query EasySoft. In this skill, accidental activation is more dangerous because the flow can prompt for highly sensitive credentials and initiate queries against an external system.
The skill asks users for a property-company key, EasySoft username, and password, and states that credentials will be validated and later used for report queries, but it does not clearly warn that these secrets will be transmitted to external EasySoft services. This weakens informed consent and can cause users to disclose sensitive enterprise credentials without understanding the external transmission and associated privacy/security implications.
The skill description and all invocation examples are presented only in Chinese, and the document does not state whether other languages are supported or that the skill is intentionally limited to Chinese-speaking users. Under the policy rule, a skill that effectively enforces a specific language without user opt-in can be a natural-language policy concern.
All trigger phrases, prompts, report names, and interaction examples are written in Chinese, and the document gives no indication that users may choose another language or that the locale restriction is intentional. This can constitute a language policy issue when a skill implicitly forces one language without opt-in.
The documentation states that the skill package includes SKILL.md as the usage and guidance document, but the provided file is SKILL_PUBLISH.md and serves that role here. This is an active documentation inconsistency about the skill's published artifact structure, which can mislead reviewers or operators about which file defines the skill's behavior and guidance.
The manifest text for the skill description and short description is entirely in Chinese, and there is no indication that users can choose another language or that the skill is intentionally limited to a Chinese-speaking or region-specific context. Under the policy for natural-language issues, forcing a specific language without user opt-in can be a locale policy violation.
No suspicious patterns detected.