T09 · Insecure Skill Coding Practices
- Location
scripts/validate.py:151- Finding
Symbolic-Link Path Escape in GetX Page Generator
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This Flutter scaffolding skill is mostly coherent, but its generator can be tricked into writing new files outside the intended project folder through symlinks.
Review before installing if you plan to use the scaffold generator. The architecture guidance itself is low risk, but run scripts/validate.py only in trusted Flutter repositories and avoid target directories containing symlinks until the path containment check is hardened with realpath/lstat-style validation and no-follow file creation.
scripts/validate.py:151Symbolic-Link Path Escape in GetX Page Generator
Without declared permissions the skill's intent is opaque and cannot be validated.
The manifest description and main heading are written entirely in Chinese, and the file provides no indication that other languages are supported or that Chinese is required for a region-specific purpose. This creates a natural-language locale constraint without user opt-in, which matches the policy-violation category.
Line L151 states '避免拼音', which is a natural-language constraint on language usage in identifiers. The file does not present this as an optional convention or provide user choice or a documented compliance reason, so it fits the locale/language policy concern.
This code file contains user-facing natural language in Chinese, including the module description and usage notes, which effectively imposes a language/locale on users. The policy allows locale constraints only when they are optional or clearly justified, and neither is present here.
The script prints status, success, and error messages in Chinese, which can force a specific language experience on users. There is no option to switch languages and no justification that this tool is region-specific.