T09 · Insecure Skill Coding Practices
- Location
scripts/md_to_pdf.py:276- Finding
Untrusted Markdown Can Trigger Local or Remote Resource Retrieval During PDF Rendering
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The research workflow is coherent, but the optional PDF export has unsafe handling of report files and risky dependency-install advice.
Install only if you need a Chinese-language deep-research workflow, and treat PDF export as the risky part: use trusted Markdown only, prefer a virtual environment, avoid `--break-system-packages`, and run conversion in a constrained directory or sandbox if processing user-supplied reports.
scripts/md_to_pdf.py:276Untrusted Markdown Can Trigger Local or Remote Resource Retrieval During PDF Rendering
scripts/md_to_pdf.py:8Unpinned Dependencies Are Installed with System Package Protections Disabled
The file states '输出语言:中文' as a default contract, which imposes a specific language choice in natural-language instructions. The policy allows locale or language constraints only when the skill offers user choice or clearly justifies the restriction; this file does not provide opt-in language selection or a documented regional justification.
The natural-language instruction requires the skill to 'deliver a structured Chinese research report,' which imposes a specific language regardless of user preference. This is a language/locale policy concern because the file does not offer a user choice or document a justified region-specific constraint.
This markdown template is entirely written in Chinese and provides no indication that language choice is optional or limited to a justified region-specific use case. Under the policy, forcing a specific language without user opt-in is a natural-language policy violation.
The file switches into Chinese and labels the default report structure as mandatory, with all required section headings written only in Chinese. This imposes a specific language on output without any opt-in, alternative locale, or justification that the skill is region-specific.
This markdown guidance switches into Chinese for the substantive instructions, effectively imposing a language requirement on users who rely on the file. The file does not indicate that Chinese is optional, nor does it justify a China-specific or Chinese-language-only context.
The workflow content is written entirely in Chinese and presents the process as the default way to operate, but it does not offer an alternative language or state that the skill is intentionally limited to Chinese-speaking users. That creates a natural-language policy concern because it effectively forces a specific language without user opt-in.
The generated document sets <html lang="zh-CN"> unconditionally, which forces a specific language/locale in the output regardless of user preference. The file also uses Chinese-only default titles and labels, but the explicit locale setting is the clearest policy-relevant issue because no language selection mechanism or justification is provided.
This markdown file contains user-facing instructions entirely in Chinese, beginning at L014 and continuing through the rest of the document. Under the policy rule, forcing a specific language without user opt-in can be a natural-language policy violation when no justification or alternative language option is provided.
This JSON schema includes user-facing natural-language text in Chinese while surrounding schema labels are in English. Because the file does not state that it is intended only for Chinese-speaking users or provide an opt-in language choice, it may violate a language/locale policy requiring explicit user choice or justification.
No suspicious patterns detected.