T09 · Insecure Skill Coding Practices
- Location
liuyao_skill.py:18- Finding
Parent-Directory Module Shadowing Enables Arbitrary Code Execution
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This is a local Chinese Liuyao divination skill with no evidence of exfiltration or persistence, though one optional integration file uses an unsafe import pattern.
Installers should expect Chinese-language divination output and avoid entering unnecessary sensitive personal details. Prefer the standalone liuyao_standalone.py flow; only use liuyao_skill.py if the surrounding project directory and its initialize.py/utils.py modules are trusted.
liuyao_skill.py:18Parent-Directory Module Shadowing Enables Arbitrary Code Execution
The skill documentation is entirely in Chinese and presents the skill as operating for Chinese traditional divination use without any indication that users may choose another language. Per the policy, forcing a specific language without opt-in is a natural-language policy violation unless the locale restriction is clearly documented and justified.
The trigger phrases include very generic terms such as “起卦” and “排盘”, which can overlap with ordinary user requests and cause the skill to activate outside a clearly bounded divination context. Over-broad activation increases the chance of unintended tool invocation, confusing responses, or routing user data into this skill when the user did not explicitly intend to use it.
The module description, example usage, and all user-facing strings are written in Chinese, and the skill API/CLI do not provide any option to select another language or locale. This creates a natural-language policy concern because the skill imposes a specific language experience without explicit user opt-in or justification that it is intended only for a Chinese-language context.
This Python file contains natural-language descriptions, examples, CLI help text, and output labels exclusively in Chinese, which effectively forces a specific language for user interaction. The policy allows fixed locale behavior only when there is explicit opt-in or a clearly justified region-specific purpose, neither of which is stated here.
All natural-language instructions and output format are fixed in Chinese, and the skill does not offer opt-in or alternative language behavior. Under the stated policy, forcing a specific language without user choice is a locale policy violation unless clearly justified and documented as region-specific.
The trigger phrase "起卦" is generic within the divination domain and can easily match ordinary user requests that are not intended to invoke this specific skill. Overly broad activation increases the chance of unintended routing, causing the agent to apply this skill in the wrong context and produce irrelevant or misleading outputs.
The trigger phrase "排盘" is ambiguous because it is used across multiple metaphysical systems, including astrology, bazi, and other divination workflows. This can cause accidental skill invocation and cross-skill collisions, which undermines reliable intent matching and may lead users to receive the wrong type of analysis.
The skill accepts free-form personal questions and sex information, which may include sensitive personal or emotional data, but provides no privacy notice, minimization guidance, or handling disclosure. In this standalone file there is no obvious exfiltration or network transmission, so the primary risk is inadvertent collection and unsafe downstream use of sensitive user input rather than direct data theft.
No suspicious patterns detected.