Back to skill

Security audit

WeChat Publisher

Security checks for vulnerabilities and agentic risk

Overview

This skill is a disclosed WeChat publishing CLI that uses official WeChat APIs and requires explicit commands for account changes.

Install only for a WeChat public account you are authorized to manage. Treat the AppID/AppSecret, article drafts, uploaded media, analytics, and comments as sensitive, and review commands carefully before using --confirm for publishing or deletion.

Vulnerability Patterns
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (6)

Ae1

High
Category
analysis-evasion
Content
python3 scripts/publish_wechat.py draft create articles.json
Confidence
100% confidence
Finding
Referenced artifact was not completely inspected

Natural-Language Policy Violations

Medium
Confidence
95% confidence
Finding
User-facing docstrings, errors, help text, and prompts are all written in Chinese, and the tool does not provide any language or locale selection. This effectively forces a specific language experience without user opt-in, which matches the stated natural-language policy violation criteria.

External Transmission

Medium
Category
Data Exfiltration
Content
# ── Constants ─────────────────────────────────────────────
WECHAT_API_BASE = "https://api.weixin.qq.com/cgi-bin"
DATACUBE_BASE = "https://api.weixin.qq.com/datacube"
RATE_LIMIT_DAY = 2000
RATE_LIMIT_WINDOW = 86400
Confidence
60% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

External Transmission

Medium
Category
Data Exfiltration
Content
# ── Constants ─────────────────────────────────────────────
WECHAT_API_BASE = "https://api.weixin.qq.com/cgi-bin"
DATACUBE_BASE = "https://api.weixin.qq.com/datacube"
RATE_LIMIT_DAY = 2000
RATE_LIMIT_WINDOW = 86400
Confidence
60% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Scope Creep

Low
Category
Excessive Agency
Content
permit persons to whom the Software is furnished to do so.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE
FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
Confidence
70% confidence
Finding
Skill's behavior or capabilities extend beyond its stated purpose. Scope creep allows an agent to perform actions unrelated to its documented functionality, increasing the attack surface.

Missing User Warnings

Low
Confidence
83% confidence
Finding
This code retrieves WeChat article statistics and comment data from remote APIs and immediately prints the full JSON responses to stdout. While the network activity is inherent to the tool's purpose, there is no user-facing disclosure that these commands may surface potentially sensitive engagement or comment data in terminals, logs, or pipelines.

Static analysis

No suspicious patterns detected.