Back to skill

Security audit

competitive-product-research

Security checks for vulnerabilities and agentic risk

Overview

This skill is a competitive-research report helper with disclosed form, template, and local test assets that fit its stated purpose.

Install only if you want a Chinese/bilingual competitive-product research workflow. Review any internal materials before adding them to the intake form or generated report, and treat the optional Chrome test script as a developer-only tool.

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
  • 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
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
Findings (17)

Tp4

High
Category
MCP Tool Poisoning
Confidence
97% confidence
Finding

The declared purpose is competitive research and report generation, but the file also instructs browser automation, local asset copying, DOM interaction, and shell-based regression testing. This mismatch is dangerous because users and policy systems may trust the skill under a low-risk business-analysis label while it attempts higher-risk local execution behaviors that expand attack surface.

Content

No source excerpt is available for this finding.

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
按采集表确认的格式生成:HTML 严格使用 [report-template-pro.html](references/report-template-pro.html);Markdown 使用同一分区结构。格式锁、事实边界、文风、自检 → [research-playbook.md](references/resea

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
按采集表确认的格式生成:HTML 严格使用 [report-template-pro.html](references/report-template-pro.html);Markdown 使用同一分区结构。格式锁、事实边界、文风、自检 → [research-playbook.md](references/resea

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/report-template-pro.html (reported line 188)May include surrounding context.

html
</style>
</head>

<!--
  Competitive Product Research Report Template
  =============================================
  Placeholder format:  __placeholder_name__

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/report-template-pro.html (reported line 264)May include surrounding context.

html
</div>
  </div>

  <!-- ========== CALLOUTS ========== -->
  <div class="cos">
    <div class="co insight">
      <span class="co-icon">&#128269;</span>

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/report-template-pro.html (reported line 321)May include surrounding context.

html
</div>
  </div>

  <!-- ========== SUMMARY CONCLUSIONS ========== -->
  <div class="card">
    <div class="card-h">&#128203; Summary Conclusions</div>
    <ol style="padding-left:18px;font-size:13px;color:var(--s700)">

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/report-template-pro.html (reported line 355)May include surrounding context.

html
<div class="card-h">&#129504; Strategic Analysis</div>
    <div class="card-sub">SWOT &middot; Porter's Five Forces &middot; PESTLE</div>

    <!-- SWOT -->
    <div style="font-size:13px;font-weight:600;color:var(--s700);margin-bottom:8px">SWOT</div>
    <div class="swot">
      <div class="swot-cell s"><div class="swot-label">Strengths</div>__swot_s__</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/report-template-pro.html (reported line 412)May include surrounding context.

html
<a class="pill n pill-link" href="__finding_2_ev_url__" target="_blank" rel="noopener">__finding_2_ev__</a>
      </div>
    </div>
    <!-- Risk-level finding -->
    <div class="finding risk">
      <div class="dim">__finding_3_dim__</div>
      <strong>__finding_3_title__</strong>

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/report-template-pro.html (reported line 447)May include surrounding context.

html
</div>
  </div>

  <!-- ========== IMPLEMENTATION ROADMAP ========== -->
  <div class="card">
    <div class="card-h">&#128640; Implementation Roadmap</div>
    <table>

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
86% confidence
Finding

The skill references capabilities that imply file access, network use, and shell-driven test execution, but it does not declare any explicit tool scope or permission boundaries. That creates an authorization ambiguity where a host or reviewer may approve a seemingly harmless research skill without realizing it can access local files, open browsers, or invoke commands.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

The invocation guidance says the skill can be triggered by phrases like “帮我做 XX 和 YY 竞品调研” and especially “benchmark X against Y,” which are broad formulations that may overlap with ordinary requests for comparison rather than this specific dual-track competitive-research workflow. The file provides many positive examples but no negative examples or exclusion rules for borderline comparison requests, making activation scope less specific.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

This section says the listed colloquial inputs ‘都应触发本技能’ and includes broad natural phrases like asking what a product does better or requesting material before a PRD review. Without exclusion conditions, these examples may collide with general product-analysis or strategy-assistant requests rather than uniquely identifying this skill.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The page sets lang="zh-CN", and all visible labels and prompts are written in Chinese, which indicates the skill is designed for a single language/locale. Per the policy, forcing a specific language without user opt-in is a natural-language policy violation unless the restriction is explicitly justified, which is not present here.

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/test_intake_form.py (reported line 69)May include surrounding context.

python
with tempfile.TemporaryDirectory(prefix="cpr-form-test-") as profile_name:
        profile = pathlib.Path(profile_name)
        process = subprocess.Popen(
            [
                str(find_chrome()),
                "--headless=new",

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
87% confidence
Finding

The HTML document declares lang="en", which fixes the report output to English. Under the stated policy, forcing a specific language or locale without user choice or a documented region-specific reason is a natural-language policy concern.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
71% confidence
Finding

The comment 一体式仪表板 introduces Chinese-language content into an otherwise English template, while the file does not explain language selection or offer locale choice. This creates inconsistent language behavior and suggests an implicit locale decision without user opt-in.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
84% confidence
Finding

Line L240 states that if the user asks in Chinese, the report title and section names should preferentially be localized to Chinese. Under the policy criteria, forcing or defaulting to a specific language without an explicit opt-in can be a locale-policy issue when no user choice mechanism or justification is provided.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.