Back to skill

Security audit

Pdf Generation

Security checks for vulnerabilities and agentic risk

Overview

This is a Chinese-language PDF generation skill whose file-writing behavior is disclosed and aligned with its purpose.

Install this if you want a Chinese-first assistant workflow for generating PDF files. Review the destination path before saving PDFs, avoid adding sensitive templates unless they are sanitized, and expect to adapt the typography/language guidance for non-Chinese documents.

Vulnerability Patterns
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
Findings (29)

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The trigger phrases include broad, common-language terms such as '创建pdf' and '制作PDF', which can cause accidental invocation outside clearly intended contexts. In an agent environment with file-writing behavior, overbroad activation increases the risk of unintended document generation, confusion about user intent, and side-effectful actions without sufficiently explicit consent.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The entire skill is authored as a Chinese-only content-generation template and does not indicate that users may choose another language or locale. Under the policy, forcing a specific language without user opt-in is a natural-language policy violation.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

The file is entirely framed as a Chinese-language output template, including headings, task description, and example output, with no indication that the language is optional or user-selectable. Under the policy, forcing a specific language without user opt-in is a natural-language policy violation.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The file title and all guidance are written in Chinese, and the typography section prescribes Chinese fonts such as 黑体、宋体、楷体. This creates a locale-specific requirement without any stated opt-in, alternative language support, or justification that the skill is only for a Chinese-language/regional context.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The title and core instruction text are written entirely in Chinese and direct the skill to produce output according to this Chinese checklist. There is no indication that users may choose another language or that the Chinese-only requirement is limited to a justified region-specific use case.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Low
Category
Not specified by scanner
Confidence
88% confidence
Finding

L058 states '本技能不依赖外部工具,所有能力均已内嵌', which conveys that the skill operates without external tooling. However, L150-L151 explicitly require using mature document libraries and standard APIs for complex document generation and format preservation, which contradicts the earlier claim of full self-containment.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
91% confidence
Finding

The skill explicitly states it will save output as a .pdf file but does not clearly warn about filesystem side effects or require confirmation before writing files. In agentic systems, silent file creation can surprise users, overwrite expected workflows, or be chained with other behaviors to create unwanted artifacts on disk.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
92% confidence
Finding

This markdown file contains user-facing instructions exclusively in Chinese, and there is no indication that users may choose another language or that the locale restriction is required for a region-specific purpose. Under the policy rule for natural-language violations, forcing a specific language without opt-in is in scope.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
82% confidence
Finding

This markdown exemplar presents all instructions, task descriptions, and output examples exclusively in Chinese. Under the policy for natural-language issues, forcing a specific language without user opt-in can be a locale/language policy violation when no alternative or explicit scope limitation is provided.

Content

No source excerpt is available for this finding.

Unpinned Dependencies

Low
Category
Supply Chain
Confidence
60% confidence
Finding

Dependencies lack version pinning, allowing potential malicious package updates. Consider pinning versions.

Content

Scanner excerpt · references/pdf-requirements.md (reported line 17)May include surrounding context.

md
<< /Type /Catalog
   /Pages 2 0 R
>>
endobj

2 0 obj
<< /Type /Pages

Unpinned Dependencies

Low
Category
Supply Chain
Confidence
60% confidence
Finding

Dependencies lack version pinning, allowing potential malicious package updates. Consider pinning versions.

Content

Scanner excerpt · references/pdf-requirements.md (reported line 24)May include surrounding context.

md
<< /Type /Catalog
   /Pages 2 0 R
>>
endobj

2 0 obj
<< /Type /Pages

Unpinned Dependencies

Low
Category
Supply Chain
Confidence
60% confidence
Finding

Dependencies lack version pinning, allowing potential malicious package updates. Consider pinning versions.

Content

Scanner excerpt · references/pdf-requirements.md (reported line 33)May include surrounding context.

md
<< /Type /Catalog
   /Pages 2 0 R
>>
endobj

2 0 obj
<< /Type /Pages

Unpinned Dependencies

Low
Category
Supply Chain
Confidence
60% confidence
Finding

Dependencies lack version pinning, allowing potential malicious package updates. Consider pinning versions.

Content

Scanner excerpt · references/pdf-requirements.md (reported line 40)May include surrounding context.

md
<< /Type /Catalog
   /Pages 2 0 R
>>
endobj

2 0 obj
<< /Type /Pages

Unpinned Dependencies

Low
Category
Supply Chain
Confidence
60% confidence
Finding

Dependencies lack version pinning, allowing potential malicious package updates. Consider pinning versions.

Content

Scanner excerpt · references/pdf-requirements.md (reported line 47)May include surrounding context.

md
<< /Type /Catalog
   /Pages 2 0 R
>>
endobj

2 0 obj
<< /Type /Pages

Unpinned Dependencies

Low
Category
Supply Chain
Confidence
60% confidence
Finding

Dependencies lack version pinning, allowing potential malicious package updates. Consider pinning versions.

Content

Scanner excerpt · references/pdf-requirements.md (reported line 295)May include surrounding context.

md
<< /Type /Catalog
   /Pages 2 0 R
>>
endobj

2 0 obj
<< /Type /Pages

Unpinned Dependencies

Low
Category
Supply Chain
Confidence
60% confidence
Finding

Dependencies lack version pinning, allowing potential malicious package updates. Consider pinning versions.

Content

Scanner excerpt · references/pdf-requirements.md (reported line 302)May include surrounding context.

md
<< /Type /Catalog
   /Pages 2 0 R
>>
endobj

2 0 obj
<< /Type /Pages

Unpinned Dependencies

Low
Category
Supply Chain
Confidence
60% confidence
Finding

Dependencies lack version pinning, allowing potential malicious package updates. Consider pinning versions.

Content

Scanner excerpt · references/pdf-requirements.md (reported line 311)May include surrounding context.

md
<< /Type /Catalog
   /Pages 2 0 R
>>
endobj

2 0 obj
<< /Type /Pages

Unpinned Dependencies

Low
Category
Supply Chain
Confidence
60% confidence
Finding

Dependencies lack version pinning, allowing potential malicious package updates. Consider pinning versions.

Content

Scanner excerpt · references/pdf-requirements.md (reported line 318)May include surrounding context.

md
<< /Type /Catalog
   /Pages 2 0 R
>>
endobj

2 0 obj
<< /Type /Pages

Unpinned Dependencies

Low
Category
Supply Chain
Confidence
60% confidence
Finding

Dependencies lack version pinning, allowing potential malicious package updates. Consider pinning versions.

Content

Scanner excerpt · references/pdf-requirements.md (reported line 325)May include surrounding context.

md
<< /Type /Catalog
   /Pages 2 0 R
>>
endobj

2 0 obj
<< /Type /Pages

Unpinned Dependencies

Low
Category
Supply Chain
Confidence
60% confidence
Finding

Dependencies lack version pinning, allowing potential malicious package updates. Consider pinning versions.

Content

Scanner excerpt · references/pdf-requirements.md (reported line 37)May include surrounding context.

md
4 0 obj
<< /Length 44 >>
stream
BT /F1 24 Tf 100 700 Td (PDF文档标题) Tj ET
endstream
endobj

Unpinned Dependencies

Low
Category
Supply Chain
Confidence
60% confidence
Finding

Dependencies lack version pinning, allowing potential malicious package updates. Consider pinning versions.

Content

Scanner excerpt · references/pdf-requirements.md (reported line 315)May include surrounding context.

md
4 0 obj
<< /Length 44 >>
stream
BT /F1 24 Tf 100 700 Td (PDF文档标题) Tj ET
endstream
endobj

Unpinned Dependencies

Low
Category
Supply Chain
Confidence
60% confidence
Finding

Dependencies lack version pinning, allowing potential malicious package updates. Consider pinning versions.

Content

Scanner excerpt · references/pdf-requirements.md (reported line 39)May include surrounding context.

md
<< /Length 44 >>
stream
BT /F1 24 Tf 100 700 Td (PDF文档标题) Tj ET
endstream
endobj

5 0 obj

Unpinned Dependencies

Low
Category
Supply Chain
Confidence
60% confidence
Finding

Dependencies lack version pinning, allowing potential malicious package updates. Consider pinning versions.

Content

Scanner excerpt · references/pdf-requirements.md (reported line 317)May include surrounding context.

md
<< /Length 44 >>
stream
BT /F1 24 Tf 100 700 Td (PDF文档标题) Tj ET
endstream
endobj

5 0 obj

Unpinned Dependencies

Low
Category
Supply Chain
Confidence
60% confidence
Finding

Dependencies lack version pinning, allowing potential malicious package updates. Consider pinning versions.

Content

Scanner excerpt · references/pdf-requirements.md (reported line 49)May include surrounding context.

md
>>
endobj

xref
0 6
0000000000 65535 f 
0000000009 00000 n

Unpinned Dependencies

Low
Category
Supply Chain
Confidence
60% confidence
Finding

Dependencies lack version pinning, allowing potential malicious package updates. Consider pinning versions.

Content

Scanner excerpt · references/pdf-requirements.md (reported line 327)May include surrounding context.

md
>>
endobj

xref
0 6
0000000000 65535 f 
0000000009 00000 n