Back to skill

Security audit

产品需求大法-评审沙盘

Security checks for vulnerabilities and agentic risk

Overview

This skill is a coherent product-requirement review assistant with expected local document generation behavior and no evidence of hidden exfiltration, persistence, or destructive actions.

Before installing, users should understand that the skill may create local Markdown/PDF files and, if they ask for Feishu delivery and the environment is already logged in, may create or fill a Feishu document. Review generated business content before sharing it externally.

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
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Behavioral ASTexec() Call, eval() Call, Dynamic Import
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
Findings (7)

Env Variable Harvesting

High
Category
Data Exfiltration
Confidence
60% confidence
Finding

Code enumerates, copies, or searches environment variables for secrets. Bulk environment access can collect credentials unrelated to the skill's stated purpose.

Content

Scanner excerpt · scripts/render_markdown_pdf.py (reported line 219)May include surrounding context.

python
process.exit(1);
}});
"""
    env = os.environ.copy()
    if node_modules:
        existing = env.get("NODE_PATH", "")
        env["NODE_PATH"] = node_modules if not existing else node_modules + os.pathsep + existing

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
90% confidence
Finding

The skill references executable shell usage and file generation workflows (for example invoking a local Python script to render PDF) while declaring no explicit tool scope or permission boundaries. That creates an overbroad execution surface: a hosting agent may permit shell, file read/write, or environment access implicitly, making it easier for later edits or prompt injection in user content to trigger unintended local actions or file access.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
86% confidence
Finding

The user-facing metadata and default prompt are entirely in Chinese, which implies a fixed language/locale experience without indicating user choice or a justified region-specific limitation. This can violate language/locale policy when no opt-in or explicit locale constraint is provided.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The manifest's default prompt is framed as a general request in natural language, which does not define clear activation boundaries or exclusion conditions. Because the file provides no explicit trigger scope, negative examples, or narrowing context, the skill could be invoked in situations broader than intended.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

This Python file contains multiple hard-coded Chinese user-facing strings and sets the generated HTML language to zh-CN, which enforces a specific language/locale choice. The file provides no option for the user to select another language or opt into this locale, which matches the natural-language policy violation criteria.

Content

No source excerpt is available for this finding.

subprocess module call

Medium
Category
Dangerous Code Execution
Confidence
70% confidence
Finding

subprocess module calls execute external commands. Without careful input validation, this enables command injection.

Content

Scanner excerpt · scripts/render_markdown_pdf.py (reported line 227)May include surrounding context.

python
handle.write(script)
        script_path = handle.name
    try:
        subprocess.run([node, script_path], check=True, env=env)
    except subprocess.CalledProcessError as exc:
        raise SystemExit(
            "PDF 渲染失败。请确认 Node.js 环境中可用 playwright,或通过 --node-modules 指定包含 playwright 的 node_modules。"

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
96% confidence
Finding

The instruction "默认使用中文输出" imposes a specific language preference in the skill's natural-language behavior. Under the policy, locale or language constraints should either be user-selected or clearly justified; this file does not offer an opt-in or alternative.

Content

No source excerpt is available for this finding.