CNBlogs Publisher

PassAudited by VirusTotal on May 11, 2026.

Overview

Type: OpenClaw Skill Name: cnblogs-publisher Version: 1.0.1 The skill bundle provides legitimate functionality for managing CNBlogs articles via the MetaWeblog API, but contains several security vulnerabilities. Multiple scripts (e.g., delete_post.py, save_draft.py, publish.py) explicitly disable SSL certificate verification using ssl._create_unverified_context(), which exposes the user to Man-In-The-Middle (MITM) attacks. Additionally, the test script tests/test_all.sh contains hardcoded credentials, including a MetaWeblog access token and username. While these appear to be developer oversights rather than intentional malice, the lack of input sanitization and weak transport security meet the criteria for a suspicious classification.

Findings (0)

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

Anyone with the skill artifacts may see or use the embedded token, and running included tests may authenticate as that account rather than the installing user.

Why it was flagged

The test script embeds a concrete CNBlogs username and access token rather than requiring the user to provide their own credential at runtime.

Skill content
export CNBLOGS_USERNAME="suyang320"
export CNBLOGS_TOKEN="039893...7806A"
Recommendation

Remove the hardcoded token and username immediately, rotate the exposed CNBlogs MetaWeblog token, and require user-provided environment variables for all authenticated actions.

What this means

If a user or agent runs the test script, it could alter an existing CNBlogs article tied to the embedded credentials.

Why it was flagged

The bundled test script performs a real update operation against a fixed post ID, not a dry-run or mock target.

Skill content
python3 scripts/update_draft.py 19718794 test_article.md "OpenClaw,测试,更新"
Recommendation

Replace live-account tests with mocked API tests or require an explicit user-supplied test post ID and confirmation before any mutation.

What this means

A network attacker could more easily intercept or tamper with API traffic, potentially exposing the blog token or changing post operations.

Why it was flagged

The script disables TLS certificate verification for XML-RPC calls that later send the CNBlogs username and token; the same pattern appears in several other scripts.

Skill content
self.context = ssl._create_unverified_context()
Recommendation

Use default verified HTTPS certificate handling and only add custom certificate configuration when strictly necessary and explicitly documented.

What this means

Users may trust the credential-handling claims and miss that the package actually ships with an embedded token.

Why it was flagged

The documentation claims tokens are not hardcoded, but the provided tests/test_all.sh artifact contains a hardcoded CNBlogs token.

Skill content
使用环境变量存储,不硬编码
Recommendation

Correct the documentation and artifacts so they match: remove embedded credentials, document required env vars in metadata, and avoid making unsupported security claims.

What this means

The agent has documented permission to run pip3 commands even though no dependency installation is shown.

Why it was flagged

Python execution is expected for this script-based skill, but pip3 access is broader than the provided standard-library implementation appears to require.

Skill content
allowed-tools: Bash(python3:*), Bash(pip3:*)
Recommendation

Limit allowed tools to the commands needed for normal use, ideally Bash(python3:*) only, unless package installation is truly required.