WeChat Post with GPT Image-2

ReviewAudited by ClawScan on May 12, 2026.

Overview

The skill mostly matches a WeChat marketing poster generator, but it needs review because it uses undeclared local API credentials, can run a public unauthenticated callback server, and includes provider/model behavior that does not fully match the visible instructions.

Use this skill only if you are comfortable sending the provided marketing prompt, contact details, and generated-image requests to external image APIs. Prefer the polling workflow or secure the callback server with localhost binding and a secret token, verify which provider/model is actually used, and review the final image and QR code before posting.

Findings (6)

Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.

What this means

If exposed on a VPS or public network, anyone who can reach the port could submit spoofed callback payloads or store arbitrary data in the callback directory.

Why it was flagged

The callback server listens on all interfaces by default and saves any POST headers/body without a shown token, signature check, or origin validation.

Skill content
HOST = os.environ.get("KIE_CALLBACK_HOST", "0.0.0.0") ... "headers": {k: v for k, v in self.headers.items()}, "body": parsed
Recommendation

Bind the callback server to localhost by default, require a secret callback token or provider signature validation, and document how to stop or clean up the service.

What this means

A spoofed or poisoned callback could cause the workflow to download the wrong image into the final marketing output.

Why it was flagged

The downloader trusts the result URL found in callback JSON and writes it to the requested output path without validating the callback origin or URL domain.

Skill content
url = result['resultUrls'][0]
download_url(url, output_path)
Recommendation

Validate callback authenticity, verify the task ID against the just-created task, restrict acceptable result domains, and require user review before publishing generated images.

What this means

User prompts and marketing details could be sent to a different image provider/account than the user expects if this helper is invoked.

Why it was flagged

An included script reads a Seedream credential and calls a Volces image API, which is not clearly represented by the visible KIE GPT Image-2-only workflow or registry credential declarations.

Skill content
CREDENTIALS_FILE = "/root/.openclaw/credentials/seedream.json" ... API_URL = _CREDENTIALS.get("endpoint", "https://ark.cn-beijing.volces.com/api/v3/images/generations")
Recommendation

Remove unused provider helpers or clearly declare all supported providers, credential paths, endpoints, and when each provider is used.

What this means

A user may believe the workflow enforces GPT Image-2 and the documented options, but the actual script may use a different configured/default model or mis-handle the shown flags.

Why it was flagged

The runnable KIE script chooses the model from the credential file and only accepts positional arguments, while the visible SKILL instructions claim a fixed GPT Image-2 model with --model/--aspect/--resolution flags.

Skill content
'model': obj.get('model', 'nano-banana-2') ... print('Usage: kie-create-task.py <prompt> [callback_url] [image_url ...]')
Recommendation

Align the SKILL command examples with the script, add argparse validation for documented flags, and fail closed if the model is not the declared GPT Image-2 model.

What this means

The prompt templates used for image generation may change over time or contain instructions the agent should not over-trust.

Why it was flagged

The skill asks the user to clone an external prompt library and later read prompt templates from it; this is purpose-aligned but unpinned external content.

Skill content
git clone --depth 1 https://github.com/EvoLinkAI/awesome-gpt-image-2-API-and-Prompts.git
Recommendation

Pin the prompt repository to a reviewed commit and treat downloaded prompt text as untrusted reference material.

What this means

A stale or incorrect QR setting could be reused in future posters if the user does not notice it.

Why it was flagged

QR-code settings, including a QR image path, are persisted and reused by later generations.

Skill content
save to all three locations: ./wechat-post/{topic-slug}/qrcode_setting.txt ... $HOME/.jeffli-skills/jeffli-wechat-post/qrcode_setting.txt
Recommendation

Show the active QR setting before generation, keep QR settings project-scoped where possible, and provide a clear reset/disable command.