wechat-publish-pro

WarnAudited by ClawScan on May 10, 2026.

Overview

The skill mostly matches its WeChat publishing purpose, but it asks for high-value WeChat credentials and includes an unsafe shell helper that can execute unintended commands from crafted inputs.

Only install this from a pinned, trusted source. Avoid using scripts/publish.sh until the eval issue is fixed; use the Python CLI directly with explicit --account values. Treat WECHAT_APP_SECRET as sensitive, store it carefully, and review the article, cover image, and account before allowing the agent to publish or upload.

Findings (5)

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 filename/title could cause arbitrary shell commands to run as the user if this helper script is used.

Why it was flagged

The script interpolates user-controlled file/title/cover values into a shell command string and runs it through eval, allowing crafted input to change the shell command that executes.

Skill content
publish_cmd="wechat-publish-pro publish \"$file\""
[[ -n "$title" ]] && publish_cmd="$publish_cmd --title \"$title\""
...
eval $publish_cmd
Recommendation

Remove eval and invoke the CLI using a shell array, for example `cmd=(wechat-publish-pro publish "$file")` and then `cmd+=(--title "$title")`; never execute constructed command strings.

What this means

A future repository change, force-push, or compromise could change what gets installed without the user noticing.

Why it was flagged

The install instruction pulls an unpinned GitHub repository instead of a fixed version, commit, or hash; combined with the registry's unknown source/no install spec, users may install code different from the reviewed artifact.

Skill content
pip install git+https://github.com/yuesf/wechat-publish-pro.git
Recommendation

Pin installation to a reviewed package version or commit hash and declare the source/homepage/install spec in registry metadata.

What this means

Anyone or any agent process with access to these credentials may be able to call WeChat official account APIs such as uploading media or creating drafts.

Why it was flagged

The skill requires WeChat official account credentials even though the registry metadata declares no required credentials or environment variables.

Skill content
export WECHAT_APP_ID=your_wechat_app_id
export WECHAT_APP_SECRET=your_wechat_app_secret
Recommendation

Use a dedicated WeChat app credential where possible, keep the AppSecret out of shell history, rotate it if exposed, and restrict use with WeChat IP allowlisting.

What this means

The agent can add draft content and media to the selected WeChat account; mistakes could affect the wrong account or create unwanted drafts.

Why it was flagged

The skill is intended to create WeChat official account drafts and upload images, which is purpose-aligned but is still account-mutating behavior.

Skill content
直接发布: 一键发布到微信公众号草稿箱
Recommendation

Review the target file, title, cover image, and `--account` value before publishing; prefer requiring explicit user confirmation for publish/upload actions.

What this means

If API mode is enabled, draft article content could leave the local machine and be processed by a third-party service.

Why it was flagged

The converter contains an optional API mode that can send Markdown article content to an external conversion endpoint, although the default path appears to be local conversion.

Skill content
MDNICE_API = "https://api.mdnice.com/api/v1/markdown"
...
response = client.post(endpoint, json=payload)
Recommendation

Keep local conversion as the default, clearly disclose API mode to users, and ask before sending unpublished content to external endpoints.