Back to skill

Security audit

Editorial Card Screenshot

Security checks for vulnerabilities and agentic risk

Overview

This skill is a disclosed local HTML-card generator and screenshot helper with no evidence of hidden persistence, credential access, exfiltration, or destructive behavior.

Install only if you are comfortable with the skill launching local Chrome/Chromium for screenshots and, by default, loading Google Fonts during rendering. Review or adjust the template if you need locale-neutral output or offline-only rendering.

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
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (6)

Tp4

High
Category
MCP Tool Poisoning
Confidence
95% confidence
Finding

The declared description presents the skill as generating high-density editorial HTML info cards in a specific visual style and then capturing them as screenshots. The supplied code only implements the screenshoting portion: it validates one of several fixed ratios, locates a Chrome/Chromium binary, loads a provided local HTML file, and saves a PNG screenshot. There is no code for creating HTML, applying stored editorial prompts, or producing design/layout content. The ratio support does align with the description, but the primary described capability of HTML/card generation is absent, so the description overstates what this code chunk actually does.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
85% confidence
Finding

The default HTML imports Noto Serif SC and Noto Sans SC, where SC denotes Simplified Chinese, and the skill says to use these defaults unless the user overrides them. This imposes a language/locale-specific presentation choice without explicit user opt-in or a documented regional justification.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The document hard-codes lang="zh-CN", which imposes a specific language/locale policy in the template. In this file there is no natural-language indication that the template is region-specific or that users can opt into another locale, so it fits the language/locale policy violation criteria.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The prompt is written entirely in Chinese and directs the model to act as a Chinese-language editorial designer, including mandatory output structure in Chinese. There is no indication that the user may choose another language or that the locale restriction is required for a region-specific purpose.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Low
Category
Not specified by scanner
Confidence
93% confidence
Finding

The template fetches fonts from fonts.googleapis.com at render time, which creates unnecessary outbound network access for a local presentation asset. This can leak usage metadata, break in offline/restricted environments, and slightly expand the attack surface through third-party dependencies, though it is not by itself a severe compromise vector in this context.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
87% confidence
Finding

This code launches an external Chrome/Chromium process to render and capture content, which is a subprocess execution covered by the missing-warning rule for code files. While the script's behavior is inferable from its name and usage, there is no confirmation prompt, warning comment, or disclosure near the execution point describing that it will invoke a local browser binary.

Content

No source excerpt is available for this finding.