T09 · Insecure Skill Coding Practices
- Location
SKILL.md:93- Finding
Remote WeChat draft upload is enabled by default
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:93-96
Vulnerability Type: Unsafe default network publishing behavior
Risk Level: Mediumyaml - name: post_to_wechat type: boolean required: false default: trueTechnical Analysis
The Skill describes WeChat draft publishing as an optional enhancement, but the corresponding option defaults to
true. Therefore, a user requesting only article generation may trigger the publishing workflow without explicitly opting in.When the required auxiliary publishing Skill and credentials are available, the workflow invokes the WeChat API and uploads the generated HTML article and embedded images. The wider publishing instructions also permit transmission of metadata such as the title, author, digest, and source URL.
Network publishing is not necessary for the Skill's minimum declared writing functionality. Enabling it by default violates least-privilege and explicit-consent principles. The reviewed project does not include the auxiliary publishing scripts, so direct exfiltration of
WECHAT_APP_SECRETor other credentials cannot be confirmed.Attack Path
- The user requests generation of a WeChat article without specifying
post_to_wechat. - The Skill applies the default value of
true. - The workflow generates an HTML version of the article.
- If the external publishing Skill and WeChat credentials are configured, the Skill invokes the publishing helper.
- The helper sends the article, images, and associated metadata to the WeChat API.
- A remote draft record is created without an explicit upload decision for that invocation.
Impact Assessment
The behavior can disclose unpublished article content, locally generated images, source-derived material, and publication metadata to WeChat. It can also create or modify remote draft-box state using the configured account credentials.
This finding does not demonstrate operating-syst ...[truncated 197 chars]
- The user requests generation of a WeChat article without specifying
- Remediation
View remediation
Remediation Suggestions
- Change
post_to_wechatto default tofalse. - Require an explicit per-invocation opt-in before running any publishing helper.
- Add a confirmation step immediately before upload that identifies:
- The destination WeChat account or tenant.
- The article and image files that will be uploaded.
- The metadata fields that will be transmitted.
- Separate article generation from publishing so the core workflow does not require remote-write privileges.
- Use narrowly scoped publishing credentials and keep them accessible only to the publishing helper.
- Provide a dry-run mode that displays the intended request without transmitting data.
- Record a local audit event for each attempted upload, without logging secrets or access tokens.
- Change
