wecom-meeting

AdvisoryAudited by Static analysis on Apr 30, 2026.

Overview

No suspicious patterns detected.

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 using these credentials through the skill can act with the WeCom app's meeting permissions, including reading meeting information and creating or canceling meetings.

Why it was flagged

The code loads local Enterprise WeChat credentials and uses the app Secret to obtain an access token for the enterprise API.

Skill content
config_path = Path.home() / ".wecom" / "config.json" ... "corpsecret": self.secret
Recommendation

Use a dedicated least-privilege WeCom application, grant only required meeting permissions, protect `~/.wecom/config.json`, and rotate the Secret if it is exposed.

What this means

A shared terminal log or agent transcript could reveal part of an access token if this test code is run directly.

Why it was flagged

If the API module is run directly, its test path prints part of the access token to stdout. This is not part of the normal helper-script flow, but token material should still be treated as sensitive.

Skill content
print(f"✅ 成功获取 access_token: {token[:20]}...")
Recommendation

Avoid running the module's direct test path in shared logs, and remove or suppress token output in production use.

What this means

Incorrect or unintended invocation could create unwanted meeting invitations or cancel a real meeting.

Why it was flagged

The skill performs mutating API calls to create and cancel meetings. This is the stated purpose, but it can affect company schedules and invitees.

Skill content
url = f"{self.base_url}/meeting/create?access_token={access_token}" ... url = f"{self.base_url}/meeting/cancel?access_token={access_token}"
Recommendation

Confirm the meeting title, time, attendees, user ID, and meeting ID before creation or cancellation; avoid `--force` unless the user explicitly approves.

What this means

A user or environment will fetch whatever `requests` version the package index resolves at install time.

Why it was flagged

The documented dependency installation is manual and unpinned. It is a standard, purpose-aligned HTTP dependency, but version/provenance is not fixed by an install spec.

Skill content
pip3 install requests
Recommendation

Install from a trusted package source and consider pinning `requests` in controlled environments.