Back to skill

Security audit

Pm Review

Security checks for vulnerabilities and agentic risk

Overview

This markdown-only PM review skill is purpose-aligned for reviewing user-provided pages or screenshots, with ordinary caution needed for untrusted webpage content.

Install this if you want Chinese-language PM/design review assistance. Only provide URLs or screenshots you intend the agent to analyze, and treat webpage content as untrusted evidence rather than instructions. Its security and performance sections are broad checklists and should not replace a formal audit.

Vulnerability Patterns
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • 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
Findings (1)

T09 · Insecure Skill Coding Practices

Warning
Location
SKILL.md:22
Finding

Untrusted Webpage Content Is Processed Without Prompt-Injection Safeguards

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 22-32
Vulnerability Type: Indirect prompt injection through externally retrieved content
Risk Level: Medium

Vulnerable Code

markdown
**URL review** - The user provides a URL

Prefer the following tools to retrieve page content, in order of availability:
1. `mcp__web_reader__webReader` - Web Reader MCP server
2. `mcp__web-reader__webReader` - Alternative name
3. WebSearch to search for page information
4. Ask the user to provide a screenshot directly

After extracting the content:
- Analyze the page structure, text, and link information
- Perform a complete functional review

The snippet above is an English translation of the original instructions at the cited location.

Technical Analysis

The workflow retrieves content from an arbitrary user-supplied webpage and places the extracted text into the agent's analysis context. It does not establish a trust boundary between the Skill's instructions and the externally controlled webpage content.

In particular, the workflow does not instruct the agent to:

  • Treat webpage text and image-derived text exclusively as untrusted evidence.
  • Ignore instructions embedded in reviewed content.
  • Reject content asking the agent to change its objective, disclose information, invoke tools, or contact third parties.
  • Delimit retrieved content from trusted Skill instructions.
  • Require user approval before performing actions outside passive page analysis.
  • Restrict URL schemes or private, loopback, link-local, metadata-service, and local-file destinations when these controls are not already enforced by the retrieval provider.

An attacker can therefore place agent-directed instructions in visible text, metadata, accessibility text, or other content extracted by the selected Web Reader. Because the Skill immediately directs the agent to analyze the retrieved material without specifying that em ...[truncated 2092 chars]

Remediation
View remediation

Remediation Suggestions

  1. Add an explicit trust-boundary rule stating that all retrieved webpage content, metadata, links, and image-derived text are untrusted data and must never be treated as agent instructions.
  2. Require the agent to ignore embedded requests to change objectives, override policies, reveal secrets, invoke unrelated tools, modify memory, or communicate with third parties.
  3. Wrap retrieved material in clearly labeled delimiters and analyze only the content inside those delimiters as evidence.
  4. Restrict accepted URLs to http and https. Reject local-file schemes and, unless specifically required, loopback, private-network, link-local, and cloud metadata destinations.
  5. Do not follow links or perform active operations discovered in reviewed content without explicit user confirmation.
  6. Limit retrieval to the minimum content required for review and apply response-size, redirect, and timeout limits.
  7. Add a post-retrieval check that identifies prompt-like instructions in external content and flags them as potential injection attempts.
  8. Enforce least privilege at the runtime level so that review sessions cannot access secrets, local files, persistent memory, or unrelated tools by default.
  9. Record the original URL and retrieval provenance so conclusions can be traced without granting the content instructional authority.
Vulnerability Patterns
  • Output HandlingUnvalidated Output Injection, Cross-Context Output, Unbounded Output
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
Findings (13)

Unvalidated Output Injection

High
Category
Output Handling
Confidence
65% confidence
Finding

Model output is used without validation or sanitization. Unvalidated output injected into downstream contexts (SQL, shell, HTML) enables injection attacks and arbitrary code execution.

Content

Scanner excerpt · references/security-review.md (reported line 294)May include surrounding context.

const cleanHTML = DOMPurify.sanitize(userInput);

// 使用框架内置防护(React、Vue等)

```

其他注入类型防护:

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The skill’s trigger conditions are overly broad and include generic phrases such as 页面评审, 分析截图, and 界面分析, which can overlap with normal user requests outside the intended PM-review workflow. This can cause accidental invocation, leading the agent to fetch external URLs or analyze files in contexts where the user did not explicitly request this skill, increasing the chance of unintended data access or tool use.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

该技能文档从标题开始即完全以中文呈现,且全文未说明这是面向特定中文团队或区域的限定版本,也未提供其他语言选项。根据语言/locale政策,若技能默认强制单一语言而没有用户选择或明确合理性说明,属于自然语言层面的政策风险。

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
82% confidence
Finding

该文件标题及全文均以中文编写,但没有说明这是面向特定中文用户群体的区域性文档,也没有提供语言选择或用户可选项。根据语言/地区政策,若技能或说明材料隐含强制特定语言而无用户选择,属于自然语言层面的政策问题。

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The title and all operational guidance in the document are written exclusively in Chinese, and the file does not indicate that this is optional, region-specific, or limited to Chinese-speaking users. Under the policy, forcing a specific language without user opt-in is a natural-language locale violation.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

This markdown file is entirely presented in Chinese, beginning with a Chinese-only title, and nowhere offers an alternative language option or states that the skill is intended only for a Chinese-speaking or region-specific audience. 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
94% confidence
Finding

This markdown file contains natural-language instructions and headings only in Chinese, beginning with the title at L001, and nowhere provides an opt-in, alternate language, or justification for a fixed locale. Under the policy rule for language or locale constraints, forcing a specific language without user choice is a natural-language policy violation.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

技能清单描述的是面向网页或设计截图的产品经理评审,并将“安全合规审查”列为支持的专项审查之一;但该文件内容是完整的七层安全、隐私、基础设施、认证、合规治理与渗透测试框架,覆盖服务器、网络、依赖扫描、法律法规与审计流程等广泛安全治理主题。这已超出基于页面或截图进行产品质量评审所必需的实现细节,体现为文档层面的能力范围大幅扩张。

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The file begins with a Chinese-only template title, and the entire document is written exclusively in Chinese, which indicates a fixed language expectation. Because there is no opt-in, alternative language option, or stated region-specific justification, this conflicts with the policy against forcing a specific language without user choice.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

SQP-3 applies to all file types and covers natural-language language/locale policy violations. This markdown file consistently presents all instructions and guidance only in Chinese, and nowhere indicates that the skill is China-specific or that users may choose another language.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
91% confidence
Finding

This markdown file is entirely framed as a Chinese-language review process and does not indicate that users may choose another language or locale. Under the policy rule for natural-language violations, a skill that implicitly requires a specific language without opt-in can be flagged unless the locale constraint is documented and justified.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
95% confidence
Finding

This markdown file presents all instructions and templates exclusively in Chinese. Under the stated policy, forcing a specific language without offering user choice or documenting a justified locale constraint is a natural-language policy violation.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
95% confidence
Finding

This markdown file is entirely presented in Chinese starting from the title, and nowhere in the document does it offer an alternate language, user choice, or explain that the skill is intended only for a Chinese-speaking or China-specific audience. Under the policy, forcing a specific language without user opt-in is a natural-language locale violation.

Content

No source excerpt is available for this finding.