Back to skill

Security audit

灵感应用推荐

Security checks for vulnerabilities and agentic risk

Overview

The skill has a coherent purpose, but generated reports can execute unsanitized web-sourced content and an unverified remote chart script in the user's browser.

Review before installing. Use this only when you want a Chinese-language web-sourced inspiration report, and be cautious opening generated HTML because public website content is rendered into the report without clear sanitization and the report loads a chart library from a CDN. Prefer a fixed version that escapes report data, bundles or integrity-pins scripts, and asks before creating files.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • 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
Findings (2)

T09 · Insecure Skill Coding Practices

Error
Location
assets/report-template.html:460
Finding

Stored DOM-Based Cross-Site Scripting Through Unsanitized Report Data

Content
View full analysis
p.category === filter); const grid = document.getElementById('productGrid'); const empty = document.getElementById('emptyState'); if (filtered.length === 0) { grid.innerHTML = ''; empty.style.display = 'block'; return; } empty.style.display = 'none'; grid.innerHTML = filtered.map((p, i) => `
#${i + 1} ${p.sourceIcon || '🔗'} ${p.source}

${p.innovationLevel ? '' + p.innovationLevel + '' : ''} ${p.name}

${p.tagline}

${p.category} ${p.difficulty ? `难度:${p.difficulty}` : ''} ${p.monetization ? `💰 ${p.monetization}` : ''} ${p.timeToMVP ? `⏱ ${p.timeToMVP}` : ''}
${p.metrics ? `
${p.metrics.upvotes ? `👍 ${p.metrics.upvotes}` : ''} ${p.metrics.stars ? `⭐ ${p.metrics.stars}` : ''} ${p.metrics.comments ? `💬 ${p.metrics.comments}` : ''}
Remediation
View remediation
``` Serialize it with a proper JSON serializer, escape `<`, `>`, `&`, U+2028, and U+2029, and parse the node's `textContent` at runtime. 5. Add a restrictive Content Security Policy that blocks inline event handlers and limits script and network sources. A nonce- or hash-based policy is preferable to allowing arbitrary inline scripts. 6. Validate the report data schema before rendering. Enforce expected primitive types, bounded lengths, numeric ranges, and known enumeration values. 7. Add security regression tests that place markup, quote-breaking strings, event handlers, and script-closing sequences in every externally sourced field and verify that they render only as text. ]]>

T08 · Insecure Dependencies

Warning
Location
assets/report-template.html:385
Finding

Unverified Third-Party JavaScript Executed from a Remote CDN

Content
View full analysis
``` ### Technical Analysis Every generated report downloads and executes Chart.js from a third-party CDN when the report is opened. Although the dependency version is pinned to `4.4.0`, the template does not specify a Subresource Integrity hash. It also provides no Content Security Policy restricting executable script sources. Consequently, browser execution depends on the integrity and availability of the CDN response at viewing time. Compromise of the CDN, its delivery path, or the referenced published artifact could replace the expected library with arbitrary JavaScript after the Skill package has already been reviewed. This is a supply-chain trust issue rather than evidence that the current Chart.js file is malicious. ### Attack Path 1. An attacker compromises the CDN response, the referenced package artifact, or another relevant part of the dependency delivery chain. 2. A user opens a generated report while network access is available. 3. The browser requests the remote JavaScript resource. 4. Because no integrity hash is present, the browser accepts any successfully returned script content. 5. The altered script executes automatically in the generated report's browsing context before the report initialization functions run. ### Impact Assessment A compromised dependency can execute arbitrary JavaScript with the same browser-level access as the report itself. It can: - Read or alter the complete report. - Manipulate visualizations and recommendations. - Exfiltrate browser-accessible report data. - Perform network requests or redirect the user. - Prevent report rendering. The finding does not establish system-level privilege escalation. The immediate sc ...[truncated 150 chars]
Remediation
View remediation
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (6)

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The trigger list includes broad, everyday phrases such as '做点什么', '找灵感', and '有什么好想法', which can match many ordinary conversations unrelated to this skill. That raises the chance of unintended activation, causing unsolicited web searches, external fetching, and report generation that the user did not explicitly request.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The 'when to use' guidance is still ambiguous because phrases like '帮我找找灵感' or '想看看有什么好想法/好方向' do not clearly distinguish this skill from general brainstorming or advice requests. In context, that ambiguity is risky because this skill performs network access and creates output files, so accidental routing has side effects beyond a normal chat response.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The best-practices section states '中文优先', directing the skill to translate product descriptions into Chinese by default. This is a language policy choice that forces a specific language without offering the user a locale preference or opt-in.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The HTML root declares lang="zh-CN", and the template content and date formatting are hard-coded for zh-CN. This imposes a specific language/locale on all users without any visible opt-in or explanation that the skill is region-specific.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
90% confidence
Finding

The skill directs the agent to search and fetch content from multiple external sites without warning the user that network activity will occur. This matters because external requests may disclose timing, interest patterns, or queried topics to third parties, and users may expect an offline ideation assistant unless told otherwise.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
91% confidence
Finding

The skill instructs the agent to write 'inspiration-report.html' to the working directory and present it, but does not require prior notice or consent for local file creation. While not inherently severe, silent artifact creation can surprise users, clutter the workspace, and in some environments persist potentially sensitive derived data.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.