T05 · Unauthorized Access and Privilege Escalation
- Location
main.py:47- Finding
Unrestricted File Access and Template Path Traversal
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This appears to be a legitimate Chinese official-document formatter, but it can read and overwrite caller-selected local files without path containment or overwrite safeguards.
Install only if you trust the environment where it will run. Use explicit input and output paths in a dedicated working folder, avoid running it with broad filesystem privileges, and treat template_name as unsafe until the package validates basenames and prevents overwriting existing files without confirmation.
main.py:47Unrestricted File Access and Template Path Traversal
The README states that all Chinese uses official document fonts and that all numbers and English characters are forcibly switched to Times New Roman. This imposes a fixed formatting/language convention on mixed-language content without indicating user choice or opt-in, which matches the language/locale policy violation criteria.
The skill is written entirely in Chinese and prescribes Chinese government document formatting conventions and Chinese-specific fonts such as 方正大标宋简体、方正小标宋简体、仿宋_GB2312, without stating that this skill is only for Chinese-language official documents or offering any user language/locale choice. This creates a natural-language locale policy concern because the skill implicitly enforces a specific locale and document standard on all users.
The description and function/parameter text are entirely in Chinese and describe formatting according to national official-document standards, but the manifest does not state that the skill is region-specific or that language/locale usage is optional. This can violate language/locale policy where users are not given a choice or explicit notice that the skill is intended only for Chinese-language official documents.
The skill writes a DOCX file to the user-supplied output path via doc.save(output_path). There is no confirmation prompt, print/log statement, or explanatory docstring/comment warning the user that the operation will create or overwrite a file at the specified location.
No suspicious patterns detected.