T01 · Skill Instruction Hijacking
- Location
assets/report_template.py:211- Finding
Mandatory Third-Party Branding in Customer-Facing Reports
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This skill is a disclosed local report generator for Chinese retirement and inheritance risk reports, with privacy and dependency caveats but no evidence of hidden, destructive, or exfiltrating behavior.
Install only if you want a Chinese, Qingliu-branded retirement and inheritance risk-report template. Use a private working directory, review or pin the Python dependencies, avoid running it with elevated privileges, and check the generated report for sensitive personal information before sharing it.
assets/report_template.py:211Mandatory Third-Party Branding in Customer-Facing Reports
manifest.json:12Unpinned Third-Party Runtime Dependencies
assets/report_template.py:260Predictable Output Paths Permit File Overwrite and Symlink Redirection
The invocation text is written as a fixed Chinese prompt and instructs generation of a specific Chinese-language report format, with no indication that other languages are supported or that the user can opt in to this locale. Under the policy, forcing a specific language without user choice is a natural-language policy violation.
The file specifies '字体 | 微软雅黑', which imposes a Chinese-localized presentation convention and, together with the fully Chinese output structure, does not offer any user opt-in or alternative locale. Under the policy rule, forcing a specific language/locale without user choice can be a natural-language policy violation unless clearly justified as region-specific.
The file’s natural-language content and presentation are hard-coded for Chinese output, including a Chinese-only report title/content and a fixed Chinese font (微软雅黑). There is no user-facing opt-in or documented justification that this skill is intended only for Chinese-language/regional use, which creates a locale policy concern under the rule.
The code generates and saves a DOCX report and PNG family diagram containing highly sensitive personal and financial data, including health status, family relationships, assets, and inheritance intentions, to predictable local filenames without any privacy warning, consent gate, or output-path safety controls. In this skill context, that is more dangerous because the entire purpose is to process养老/传承 interview records, which are exceptionally sensitive and could be exposed through shared machines, synced folders, backups, or accidental reuse of the same filenames.
The trigger list contains several generic phrases such as '生成风险评估', '风险分析报告', and '养老风险盘点' that are broad enough to match user requests outside the intended narrow skill scope. This can cause unintended invocation, leading the agent to activate on loosely related finance or eldercare conversations and expose users to inappropriate automation in a sensitive wealth-management context.