Skip to content
Report library
Purpose / Other

Image Skill Security Audit

What the author says it does (original text)

When the user wants to create, generate, edit, or optimize images for marketing — blog heroes, social graphics, product mockups, profile banners, listing visuals, or brand assets. Also use when the user mentions 'AI image generation,' 'generate an image,' 'create a graphic,' 'product mockup,' 'hero image,' 'social media graphic,' 'banner image,' 'cover photo,' 'profile banner,' 'listing screenshot

Independent security check

Security risks found

Files checked
3
Risks found
2
Could it run dangerous commands?Looks for programs run straight after downloading, remote control of your computer, and hidden commands.No risks found
Could it expose your files or keys?Looks for uploads of files containing passwords or keys, and keys written directly in the code.Risks found: 1
Medium risk

Real product screenshots and brand assets may be uploaded to third-party image services

Source references: 2
What we found

The workflow calls for real product screenshots, while the prompting guide recommends uploading product screenshots, brand assets, or style references to services such as Flux. Screenshots can expose customer records, internal features, test accounts, access tokens, or unreleased designs; brand files may also be confidential.

Why this matters

Without redaction, this material leaves the local environment and becomes subject to the provider’s retention, training, logging, and access policies, potentially exposing business or personal data.

There is a conditional data-disclosure risk: the skill recommends capturing real product screenshots, while its referenced guide explicitly recommends uploading product screenshots, brand assets, or style references to Flux. If that multi-reference workflow is used, those assets are processed by a third party. The source gives no instruction to inspect or redact customer data, tokens, internal features, or unreleased designs first. Users can ask for pre-upload review/redaction and an option limited to local or approved services.

SKILL.md:190In the instructionsOpen original file
1. **Capture real screenshots** of your product at 2x resolution2. **Frame in device mockups** — use browser frame, laptop, or phone templates3. **Add context** — callout arrows, feature labels, before/after comparisons4. **Annotate with code** — Hyperframes or HTML/CSS for programmatic overlays
Show 1 other places
references/ai-image-prompting.md:142In the instructionsOpen original file
- **Multi-image reference** is the killer feature — upload product screenshots, brand assets, or style references- Best for **brand consistency** across a set of images- Use Flux Pro for final assets, Flux Dev for rapid iteration- Flux Klein for high-volume batch generation (cheapest)- Style transfer via reference images > style keywords in prompt- Prompts can be shorter than other models — the references do heavy lifting
Could it delete files or keep running?Looks for broad file deletion, disk overwrites, and programs set to start automatically.Risks found: 1
Medium risk

The JPEG optimization example wildcard-modifies every JPG in the current directory and removes metadata

Source references: 1
What we found

`jpegoptim --max=80 --strip-all *.jpg` processes every matching JPG in the current directory, recompressing it and removing all metadata. The example provides no backup, target preview, or separate output directory.

Why this matters

If run from the wrong directory or alongside original photos, it can irreversibly reduce image quality and remove EXIF, copyright, capture-time, location, or color-related metadata.

This example performs in-place lossy optimization on every JPEG matched by `*.jpg` in the working directory and removes metadata with `--strip-all`; it specifies no separate output directory, preview, or backup. If an agent runs it in a directory containing originals, all matching files could lose quality and EXIF, copyright, or color-related metadata irreversibly. Users can require processing only explicitly named copies while preserving originals and necessary metadata.

SKILL.md:273In the instructionsOpen original file
# Optimize JPEG (using jpegoptim)jpegoptim --max=80 --strip-all *.jpg
Could it bypass safety checks?Looks for skipped website security checks, excessive file access, or actions that skip your approval.No risks found
Could it mislead the AI or hide text?Checks the skill instructions for requests to ignore you, influence the report, or hide text in invisible characters.No risks found
Could it change links or payment recipients without asking?Looks for forced referral or payment changes combined with instructions to hide the change.No risks found

Inside this skill

8 instruction sections

This Skill is a marketing-image workflow guide. It first directs the agent to read a project’s product-marketing context, then choose among AI generation, design tools, screenshots, or stock media based on purpose, platform, dimensions, brand assets, and budget. No automatically executed script is included in the supplied material.

View source
SKILL.md:15In the instructionsOpen original file
**Check for product marketing context first:**If `.agents/product-marketing.md` exists (or `.claude/product-marketing.md`, or the legacy `product-marketing-context.md` filename, in older setups), read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
SKILL.md:38In the instructionsOpen original file
Pick the right tool for the job:

For real product interfaces, the Skill explicitly discourages AI-fabricated screenshots and instead recommends capturing the actual product, framing it in a device mockup, and adding annotations.

View source
SKILL.md:188In the instructionsOpen original file
Showcase your product UI in context. AI models hallucinate UI — don't use them for this.1. **Capture real screenshots** of your product at 2x resolution2. **Frame in device mockups** — use browser frame, laptop, or phone templates3. **Add context** — callout arrows, feature labels, before/after comparisons4. **Annotate with code** — Hyperframes or HTML/CSS for programmatic overlays

Image generation may use external services from Google, Black Forest Labs, Ideogram, OpenAI, and others, some of which charge per image. The Skill asks whether the user has suitable API keys and what budget applies, but it does not instruct the user to paste the secret values.

View source
SKILL.md:30In the instructionsOpen original file
### 3. Technical Context- Do you have API keys for any image tools? (Gemini, Replicate/Flux, Ideogram)- Budget constraints? (Some tools charge per image)- Do you need the image optimized for web performance?
SKILL.md:58In the instructionsOpen original file
|-------|----------|:-:|-----|------|| **Gemini Image** (Google, "Nano Banana" / Nano Banana Pro) | All-around, editing, multi-image reference, text rendering | Good | [Gemini API](https://ai.google.dev/gemini-api/docs/image-generation) | Check [pricing](https://ai.google.dev/gemini-api/docs/pricing) || **Flux** (Black Forest Labs — Pro 1.1, Kontext, Dev, Schnell) | Photorealism, brand consistency, batch; Kontext for in-image editing | Limited | [BFL API](https://docs.bfl.ai/), Replicate, fal.ai | Check [pricing](https://docs.bfl.ai/quick_start/pricing) || **Ideogram 3.0** | Typography, branded graphics, accurate text rendering | Best | [Ideogram API](https://developer.ideogram.ai/) | Check [pricing](https://about.ideogram.ai/api-pricing) || **ChatGPT Images 2.0 / GPT Image** (OpenAI) | General purpose, ChatGPT integration, native editing | Good | [OpenAI API](https://platform.openai.com/docs/guides/image-generation) | Check [pricing](https://platform.openai.com/docs/pricing) || **Midjourney v7** | Artistic, high-aesthetic, art-directed visuals | Improved | No official API; Discord + Web | Subscription-based || **Recraft V3** | Vector + brand-consistent illustrations, design assets | Strong | [Recraft API](https://www.recraft.ai/docs) | Per-credit || **Stable Diffusion 3.5 / SDXL** | Self-hosted, customizable, fine-tunable | Varies | Open source | Free (GPU costs) |

The optimization section supplies copyable shell examples that convert files, batch-process images in the current directory, modify JPEGs, and request a specified website for page parsing. These are examples, not commands shown as automatically running during installation.

View source
SKILL.md:264In the instructionsOpen original file
### Quick Optimization Commands```bash# Convert to WebP (using cwebp)cwebp -q 80 input.png -o output.webp# Batch convert with ImageMagickmogrify -format webp -quality 80 *.png# Optimize JPEG (using jpegoptim)jpegoptim --max=80 --strip-all *.jpg# Check image sizes on a pagecurl -s https://yoursite.com | grep -oP 'src="[^"]+\.(jpg|png|webp)"' | head -20```
Start here · InstructionsSKILL.md
image
Lines connect the instruction file to its sections, not an observed execution order. Select a section to read the source. 2 more sections are available in the original file.

File reference map

References: 1
Files making referencesReferenced content
Lines show actual file references, not execution order. Select a node to highlight its connections and inspect the files and source locations. Dashed lines include files that still need locating.
Files and check records3 files

Coverage and gaps

Content covered in each file

These are the source ranges included in this check, not a guarantee that every issue has been resolved.

  • SKILL.mdFull text included
  • references/ai-image-prompting.mdFull text included
  • evals/evals.jsonFull text included

This report is for the version above. We read the available code and instructions without running the skill or checking extra packages it installs. This is not a promise of safety: a different version or setup may behave differently.

  • SKILL.mdInstructions
  • evals/evals.jsonSupporting file
  • references/ai-image-prompting.mdSupporting file

Operations mentioned in code and instructions

Connect to websites
SKILL.md:58In the instructionsOpen original file
|-------|----------|:-:|-----|------|| **Gemini Image** (Google, "Nano Banana" / Nano Banana Pro) | All-around, editing, multi-image reference, text rendering | Good | [Gemini API](https://ai.google.dev/gemini-api/docs/image-generation) | Check [pricing](https://ai.google.dev/gemini-api/docs/pricing) || **Flux** (Black Forest Labs — Pro 1.1, Kontext, Dev, Schnell) | Photorealism, brand consistency, batch; Kontext for in-image editing | Limited | [BFL API](https://docs.bfl.ai/), Replicate, fal.ai | Check [pricing](https://docs.bfl.ai/quic 
SKILL.md:59In the instructionsOpen original file
| **Gemini Image** (Google, "Nano Banana" / Nano Banana Pro) | All-around, editing, multi-image reference, text rendering | Good | [Gemini API](https://ai.google.dev/gemini-api/docs/image-generation) | Check [pricing](https://ai.google.dev/ | **Flux** (Black Forest Labs — Pro 1.1, Kontext, Dev, Schnell) | Photorealism, brand consistency, batch; Kontext for in-image editing | Limited | [BFL API](https://docs.bfl.ai/), Replicate, fal.ai | Check [pricing](https://docs.bfl.ai/quick_start/pricing) || **Ideogram 3.0** | Typography, branded graphics, accurate text rendering | Best | [Ideogram API](https://developer.ideogram.ai/) | Check [pricing](https://about.ideogram.ai/api-pricing) |
SKILL.md:60In the instructionsOpen original file
| **Flux** (Black Forest Labs — Pro 1.1, Kontext, Dev, Schnell) | Photorealism, brand consistency, batch; Kontext for in-image editing | Limited | [BFL API](https://docs.bfl.ai/), Replicate, fal.ai | Check [pricing](https://docs.bfl.ai/quic | **Ideogram 3.0** | Typography, branded graphics, accurate text rendering | Best | [Ideogram API](https://developer.ideogram.ai/) | Check [pricing](https://about.ideogram.ai/api-pricing) || **ChatGPT Images 2.0 / GPT Image** (OpenAI) | General purpose, ChatGPT integration, native editing | Good | [OpenAI API](https://platform.openai.com/docs/guides/image-generation) | Check [pricing](https://platform.openai.com/docs/pricing) 
Run commands
SKILL.md:266In the instructionsOpen original file
```bash# Convert to WebP (using cwebp)
Lines read
661
File checksum (to compare versions)
3bb9c1a9e1d0b396e28732a5876162da12ccba1ece3d7cf3ea3fc17b2e752899