Kie Ai Skill

WarnAudited by ClawScan on May 10, 2026.

Overview

The skill mostly matches its advertised kie.ai image-generation purpose, but it has a command-injection bug and may send the KIE API key to unvalidated image download URLs.

Review this skill before installing. Its core image-generation workflow is understandable, but avoid untrusted `models --category` input and be aware that the current downloader may expose the KIE API key to result URL hosts. Use revocable API keys, monitor credit usage, and delete local task/image history if prompts or outputs are sensitive.

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

A malicious or accidental crafted category argument could make the skill run unintended local code on the user's machine.

Why it was flagged

The shell expands the user-supplied category argument directly into Python source. A crafted value containing a quote and Python code could execute locally when `models --category` is run.

Skill content
python3 -c "
...
category = '$3'
if category not in data['models']:
Recommendation

Avoid using `models --category` with untrusted input until fixed. The skill author should pass the category as a Python argument, validate it before use, or avoid `python3 -c` string interpolation.

What this means

If the returned image URL points to a third-party host or is redirected unexpectedly, the KIE API key could be exposed and potentially used to spend credits or access the account.

Why it was flagged

The download function sends the KIE bearer token to the arbitrary `url` supplied by the API result, without checking that the host is a trusted kie.ai download domain.

Skill content
headers = {
    "Authorization": f"Bearer {API_KEY}",
    "User-Agent": "Mozilla/5.0"
}
req = urllib.request.Request(url, headers=headers)
Recommendation

Only attach the Authorization header to validated kie.ai-owned domains, strip credentials on redirects, and download public result URLs without the API key when possible.

What this means

Users may believe credentials and network traffic are limited to the listed API endpoints when the implementation can contact additional result URLs.

Why it was flagged

The stated security manifest lists only kie.ai API endpoints, but the same file downloads image URLs returned by the API and sends an Authorization header to those URLs.

Skill content
No data is sent to any endpoint other than those listed above.
Recommendation

Update the security manifest to accurately describe result-URL downloads and credential handling, and add domain validation before sending credentials.

What this means

Using the skill can spend kie.ai credits, especially with higher-resolution models.

Why it was flagged

The skill creates paid image-generation tasks through the kie.ai API. This is the advertised purpose, but it can consume account credits.

Skill content
result = api_request("POST", "/jobs/createTask", data)
Recommendation

Confirm prompts, model choices, and resolution before invoking generation, and monitor usage with the `balance` command or kie.ai dashboard.

What this means

Sensitive prompt text may remain on disk after generation and could be visible to anyone with access to the skill directory.

Why it was flagged

Task state stores prompts and related metadata in `.task-state.json`, which persists locally for resume and usage tracking.

Skill content
"prompt": prompt,
"model": model,
"status": "pending",
Recommendation

Avoid entering sensitive prompts unless local retention is acceptable, and periodically delete `.task-state.json` and generated files if needed.

What this means

Generated images uploaded with `--upload-drive` are sent to Maton/Google Drive and may persist in the configured Drive folder.

Why it was flagged

Optional Google Drive upload sends file bytes through the Maton gateway. This is disclosed and user-directed, but it adds another service boundary.

Skill content
url = 'https://gateway.maton.ai/google-drive/upload/drive/v3/files?uploadType=multipart'
Recommendation

Use Drive upload only when intended, verify the configured folder ID, and use a revocable Maton API key.