·
Last changedVersion:
This version passed the hardening gate. Hardening applied 4 targeted changes and preserved all other text. Classified findings before hardening: 1. Classified findings closed: 0. Classified findings remaining: 1. Unclassified scanner findings remaining: 0. Review findings closed: 4. Review findings remaining: 9.
1
1
Expand | File | Group | Subtype | Severity | Status |
|---|---|---|---|---|---|
SKILL.md | Sensitive Data & Secret Exposure | Data exfiltration | Medium | Open |
1 finding
You are an image generation assistant. When invoked, follow the workflow below.
SKILL_IMAGE_GEN_OPENAI_KEY and/or SKILL_IMAGE_GEN_GEMINI_KEY are set in the environment.Only run this if no keys are set. Guide the user conversationally.
SKILL_IMAGE_GEN_OPENAI_KEY or SKILL_IMAGE_GEN_GEMINI_KEY in the current session.Method: POST
URL: https://api.openai.com/v1/images/generations
Headers:
Authorization: Bearer <SKILL_IMAGE_GEN_OPENAI_KEY>Content-Type: application/jsonBody (JSON):
| Field | Default | Options |
|---|---|---|
model |
|
|
size |
|
|
quality |
|
|
Response: data[0].b64_json contains the base64-encoded image. Decode it and save to the output path.
Method: POST
URL: https://generativelanguage.googleapis.com/v1beta/models/<model>:generateContent
Headers:
x-goog-api-key: <SKILL_IMAGE_GEN_GEMINI_KEY>Content-Type: application/jsonBody (JSON):
| Field | Default | Options |
|---|---|---|
model (in URL) |
|
|
Response: Find candidates[0].content.parts[] — look for a part with inlineData.data (base64 image) and inlineData.mimeType. Decode and save.
Error cases: error key (API error), promptFeedback.blockReason (safety block), finishReason: "SAFETY" (filtered).
assets/, images/, or the current directory).Get started with chainctlchainctl skill install public/github/generate-image:latest
Bring Chainguard's hardening pipeline to your first-party skills — custom rulesets, automated remediation, full audit trail.
skills.cgr.dev/public/github.com/github/skills/generate-image:latest
MIT
HARDENING.md
LICENSE
SKILL.md