Back to skill

Security audit

Wx Peitu

Security checks for vulnerabilities and agentic risk

Overview

The skill’s core purpose is clear, but it combines broad automatic triggers with file reads, desktop writes, external API calls, Lark/Feishu uploads, and unsafe browser-rendering settings without enough runtime control.

Review this skill carefully before installing. Use it only on Markdown you are comfortable sending-derived search terms or generated images to third-party services, disable or remove Lark/Feishu upload unless you explicitly want cloud sync, avoid zero-confirmation Master Mode for sensitive drafts, and prefer a pinned reviewed release. The Puppeteer screenshot script should be hardened before use with untrusted Markdown or external assets.

Vulnerability Patterns
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • 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
Findings (3)

T01 · Skill Instruction Hijacking

Error
Location
references/workflow.md:966
Finding

Promotional Subscription and Traffic-Diversion Content Injected into Generated Deliverables

Content
View full analysis
``` From `references/workflow.md:966-967`: ```html ### Subscribe Card(关注引导卡) ``` From `references/assets.md:1797-1801`: ```text - 底部一条 `.card-accent` CTA 行 **Minimum density:** 标题 + 3 条 takeaway 行 + CTA **Hard limits:** takeaway 3-5 条;CTA 1 条 ``` From `references/assets.md:1852-1853`: ```html
开始你的第一次实验
关注公众号回复「实验」获取模板
``` ### Technical Analysis The Skill’s declared core function is to convert a Markdown article into a package of PNG illustrations. However, its workflow also defines conversion-oriented back-cover and subscription cards containing publication identity, calls to action, and QR placeholders. The closing-summary recipe goes further by embedding a fixed message instructing readers to follow a public account and reply with a keyword. A CTA can be legitimate when it comes from the source article or is explicitly requested by the user. In this implementation, promotional conversion is incorporated into the standard design system and example output rather than being strictly conditioned on explicit user authorization. This can cause the Agent to alte ...[truncated 1766 chars]
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Error
Location
references/workflow.md:619
Finding

Puppeteer Screenshot Process Disables Chromium Sandbox and Web Security

Content
View full analysis
Remediation
View remediation
`, `"`, and `'` according to context. 4. Prohibit or sanitize source HTML, scripts, event-handler attributes, iframes, SVG active content, `javascript:` URLs, and unsafe CSS URLs. 5. Add a restrictive Content Security Policy, for example: - `default-src 'none'` - `img-src 'self' data:` - `font-src 'self'` - `style-src 'self' 'unsafe-inline'` - `script-src 'none'` 6. Pre-download permitted images and fonts, validate their media types, and render only local approved resources. 7. Use Puppeteer request interception to abort all network requests except explicitly approved local assets. 8. Render in a temporary, low-privilege directory with strict permissions and no sensitive files. 9. Use a dedicated low-privilege operating-system account or container for screenshot generation. 10. Keep Chrome updated and fail securely if sandboxed launch is unavailable rather than automatically disabling protections. ]]>

T08 · Insecure Dependencies

Warning
Location
README.en.md:67
Finding

Installation Instructions Use Unpinned Executable Dependencies and Mutable Repository State

Content
View full analysis
Remediation
View remediation
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Rogue AgentSelf-Modification, Session Persistence
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
Findings (31)

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

Scanner excerpt · SKILL.md (reported line 143)May include surrounding context.

md
0 Swiss + C01-C10 Chart,v7.4 移除 E04/S08 金句图配方),禁止连续3张同recipe。品类路由表自动推荐序列。Read [`references/assets.md`](references/assets.md) + [`references/workflow.md`](refere

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

Scanner excerpt · SKILL.md (reported line 146)May include surrounding context.

md
0 Swiss + C01-C10 Chart,v7.4 移除 E04/S08 金句图配方),禁止连续3张同recipe。品类路由表自动推荐序列。Read [`references/assets.md`](references/assets.md) + [`references/workflow.md`](refere

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

Scanner excerpt · SKILL.md (reported line 147)May include surrounding context.

md
0 Swiss + C01-C10 Chart,v7.4 移除 E04/S08 金句图配方),禁止连续3张同recipe。品类路由表自动推荐序列。Read [`references/assets.md`](references/assets.md) + [`references/workflow.md`](refere

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

Scanner excerpt · SKILL.md (reported line 161)May include surrounding context.

md
0 Swiss + C01-C10 Chart,v7.4 移除 E04/S08 金句图配方),禁止连续3张同recipe。品类路由表自动推荐序列。Read [`references/assets.md`](references/assets.md) + [`references/workflow.md`](refere

Missing User Warnings

High
Category
Not specified by scanner
Confidence
98% confidence
Finding

The workflow includes automatic cloud sync of generated PNGs to Feishu, but the user-facing flow shown here does not require a clear consent step immediately before external upload. Because the skill processes local Markdown content and derived images, automatic upload can exfiltrate sensitive or proprietary material to an external service without sufficiently explicit, contextual user approval.

Content

No source excerpt is available for this finding.

Hidden Instructions

High
Category
Prompt Injection
Confidence
70% confidence
Finding

Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.

Content

Scanner excerpt · references/workflow.md (reported line 466)May include surrounding context.

md
</style>
</head>
<body>
<!-- 照片背景(封面/封底使用,其他类型可删除此img) -->
<img class="bg-photo" src="https://images.unsplash.com/photo-xxx" alt="" />
<div class="overlay"></div>

Hidden Instructions

High
Category
Prompt Injection
Confidence
70% confidence
Finding

Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.

Content

Scanner excerpt · references/workflow.md (reported line 466)May include surrounding context.

md
</style>
</head>
<body>
<!-- 照片背景(封面/封底使用,其他类型可删除此img) -->
<img class="bg-photo" src="https://images.unsplash.com/photo-xxx" alt="" />
<div class="overlay"></div>

Session Persistence

Medium
Category
Rogue Agent
Confidence
60% confidence
Finding

Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.

Content

Scanner excerpt · CHANGELOG.md (reported line 53)May include surrounding context.

md
### Changed

- README.md: Rewrite with guizang-style structure (30秒开始/效果/适合不适合/品类检测/使用场景/主题色预设/字号阶梯/FAQ/核心设计原则/视觉参考)
- README.md: Remove English section, use single Chinese README with inline English terms
- README.md: Add flat-square badges (GitHub stars/License/Skill/WeChat/ClawHub/Claude Code)
- GitHub repo description: Fix garbled characters

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

This markdown file includes natural-language project policy stating 'Remove English section, use single Chinese README,' which forces a specific language rather than offering user choice. The rule for policy violations applies to all file types, and this appears to be an explicit locale/language constraint without opt-in or documented justification.

Content

No source excerpt is available for this finding.

Autonomous Decision Making

Medium
Category
Excessive Agency
Confidence
90% confidence
Finding

The README discloses that the skill automatically uploads files to Feishu, saves to the desktop, calls external APIs, and may open Explorer. These autonomous side effects are dangerous because they can move user content off-device and modify the local environment, especially when combined with broad triggers and low-friction execution paths.

Content

Scanner excerpt · README.en.md (reported line 53)May include surrounding context.

md
## ⚠️ User Warnings

This skill automatically performs the following operations when running:
1. **Auto-uploads to Feishu Cloud Drive**: Generated illustrations are automatically uploaded to a specified Feishu cloud folder
2. **Auto-saves to Desktop**: PNG illustrations are automatically saved to `C:\Users\<user>\Desktop\<project-name>公众号配图\` directory
3. **Auto-calls external APIs**: Calls Pexels/Pixabay APIs to search for illustration photos (requires API Key)

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding

npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The trigger guidance uses broad natural-language phrasing around illustration generation, which can cause the skill to activate on loosely related requests. In this skill, unintended activation is more concerning because execution includes file reads, external API calls, desktop writes, and cloud uploads, so a mistaken invocation can produce real side effects.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The common-use trigger example 'Generate illustrations for this article' is generic and lacks sufficient domain constraint, so the skill may be selected for ordinary article-image requests outside its intended WeChat workflow. Because the documented workflow performs automatic generation, saving, and Lark sync, incorrect routing can expose local content or create unwanted uploads.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

Master Mode activates on ambiguous phrases like 'surprise me' or 'just do it' and is explicitly described as fully automated with zero confirmations. In a skill that reads local files and performs automatic uploads and writes, this creates a meaningful risk of unintended autonomous execution and data handling without explicit informed consent at runtime.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding

npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding

npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The trigger phrase 大师推荐,直接来 is broad and conversational, making accidental activation more likely in normal chat. In this skill's context, activation can lead to local file reads, external API calls, subprocess execution, desktop writes, and automatic cloud upload to Feishu, so an overly loose trigger increases the chance of unintended side effects and data handling without deliberate user consent.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The mode-activation logic accepts vague phrases such as 你定 and 直接来 to enter a zero-confirmation automation path. Because this skill is explicitly capable of reading local Markdown files, calling external image APIs, invoking lark-cli and Puppeteer subprocesses, writing files, opening Explorer, and syncing outputs to Feishu cloud storage, ambiguous activation materially raises the risk of unintended execution and unauthorized data disclosure to third-party services.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

This markdown file repeatedly prescribes HTML templates with lang="zh-CN", starting in the general rules/examples and continuing throughout the document. Because the file is a general assets reference rather than a clearly region-specific tool, forcing a specific locale in generated output can violate language/locale policy when no opt-in or alternative is offered.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
84% confidence
Finding

The section "Chinese Title Length Bands" defines hard mappings and rules specifically for Chinese text presentation, including prescriptive behavior such as shortening copy rather than reducing font size. As written, this imposes a language/locale-specific policy without stating that it is optional, user-selected, or limited to Chinese-language output contexts.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The keyword shortcut table maps broad, common phrases like “排版”, “清单”, “步骤”, and “时间线” to automatic layout and mode selections. In an agent skill context, overly generic trigger phrases can cause the skill to activate or steer behavior for user requests that were not clearly intended for this image-generation workflow, increasing the chance of unintended file reads, external API use, subprocess execution, and cloud uploads.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

This markdown file mixes English content with mandatory Chinese labels and an untranslated rule note, which signals a locale-specific requirement in the skill guidance. The file does not offer a language choice or explain that the skill is intended only for a Chinese-language or region-specific workflow.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

These lines prescribe CJK rendering behavior and typography constraints as general rules for the skill, which effectively enforces a locale-specific presentation policy. Because the file does not limit these rules to CJK content or provide opt-in, this can violate language/locale policy expectations.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The trigger set includes broad phrases like '配图' and '文章配图', which can overlap with ordinary conversation and cause the skill to activate in contexts the user did not intend. In this skill, accidental activation is more dangerous because activation can lead to local file reads, third-party API access, subprocess execution, writing files to the Desktop, and cloud sync to Feishu.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The document mandates outbound requests to Pexels (and fallback to Unsplash) to download images, yet the visible workflow does not present a specific warning or consent step for third-party network access. In this skill context, that matters because article themes, derived keywords, and generation timing can leak information about the user's local content or workflow to external services.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.