Back to skill

Security audit

Visual Prompt Engine

Security checks for vulnerabilities and agentic risk

Overview

This skill is a disclosed prompt-helper that uses public design references and local JSON files, with some manageable prompt-injection and dependency hygiene risks.

Install only if you are comfortable with the skill fetching public Dribbble/reference metadata and writing local JSON files under its data directory. Treat scraped/imported titles, descriptions, and URLs as untrusted, review prompt output before giving an agent tool access, and use a virtual environment with pinned dependencies if enabling optional HTML scraping.

Vulnerability Patterns
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • 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 (2)

T01 · Skill Instruction Hijacking

Error
Location
scripts/style_card.py:104
Finding

Indirect Prompt Injection Through Untrusted Reference Metadata

Content
View full analysis
str: """Generate a prompt for an AI agent to analyze the design image and fill in the style card.""" return f"""{ANALYSIS_PROMPT} Design title: {card['title']} Design URL: {card['source_url']} Image URL: {card['image_url']} Current tags: {', '.join(card['style_tags'])} Update the style card fields based on your visual analysis.""" ``` ### Technical Analysis The function directly interpolates style-card fields into an AI-facing prompt without establishing a trust boundary between system instructions and externally supplied data. The affected fields originate from scraped Dribbble content or manually imported JSON. In particular, titles, descriptions, URLs, and related metadata can be attacker-controlled. Although the bundled datasets contain no malicious directives, the import and scraping workflow permits future hostile values to enter the style-card pipeline. A malicious title could contain content such as an instruction to disregard the analysis task, reveal context, alter output, or invoke an available tool. Because the data is embedded as ordinary prompt text rather than serialized and explicitly marked as untrusted, an AI agent may interpret that content as an instruction. The Skill workflow also directs the agent to read generated style cards when composing prompts. This creates an additional indirect prompt-injection surface when attacker-controlled metadata is subsequently consumed by the agent. ### Attack Path 1. An attacker publishes a design whose title or metadata contains instruction-like text, or supplies a crafted manual-import JSON file. 2. `scrape_dribbble.py` imports or scrapes the attacker-controlled metadata. 3. `style_card.py build` copies the metadata into a styl ...[truncated 1032 chars]
Remediation
View remediation

T08 · Insecure Dependencies

Note
Location
SKILL.md:116
Finding

Unpinned Third-Party Dependency Installation

Content
View full analysis
Remediation
View remediation
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (6)

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

The skill is presented as a prompt-generation helper, but the documented workflow materially includes scraping/importing external content and writing local datasets. This mismatch is dangerous because agents or users may authorize the skill for a low-risk creative task while it actually performs collection and persistence operations, undermining informed consent and increasing the chance of unexpected data handling or network activity.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
95% confidence
Finding

The skill is presented as a prompt-generation helper, but the documented workflow materially includes scraping/importing external content and writing local datasets. This mismatch is dangerous because agents or users may authorize the skill for a low-risk creative task while it actually performs collection and persistence operations, undermining informed consent and increasing the chance of unexpected data handling or network activity.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The README describes scraping Dribbble content, storing results in local JSON files, and even scheduling automated refreshes, but it does not prominently warn that the skill may initiate outbound network requests and persist collected data on disk. In an agent setting, this reduces informed consent and can lead to unexpected data retention, policy violations, or execution in restricted environments where external access and local writes must be explicitly disclosed and approved.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The README instructs users to trigger the skill with very broad phrases like 'Generate an image prompt for [your goal]', and the metadata also includes wide activation criteria such as 'give me a creative image idea.' In an agent ecosystem, overly broad activation language can cause the skill to run in situations where a more appropriate or safer tool should be used, increasing the chance of unintended network access, file writes, or prompt-generation behavior without clear user intent.

Content

No source excerpt is available for this finding.

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
90% confidence
Finding

The skill describes behavior that requires file reads, file writes, and network access, but it does not declare any explicit tool scope or permission boundaries. This is dangerous because an agent may invoke the skill with broader capabilities than users expect, enabling unreviewed local data modification and external fetching under a prompt-generation label.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The invocation guidance uses broad phrases like requests for image prompts, creative ideas, or prompt improvement, which can match many normal user queries. This is dangerous because it increases the chance of over-triggering a skill that also performs network collection and local file operations, causing unintended external access or state changes in contexts where a lightweight text response would have sufficed.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.