Back to skill

Security audit

WeChat Article Scraper

Security checks for vulnerabilities and agentic risk

Overview

This skill is a straightforward WeChat article archiver whose network access and local file writes match its stated purpose, though users should be aware of dependency and URL-scope hygiene issues.

Install only if you are comfortable with a tool that fetches user-provided article URLs, downloads referenced images, and writes files under the chosen output directory. Prefer running it in a managed environment, use only intended WeChat article URLs, and consider pinning or updating requests, beautifulsoup4, and lxml before use.

Vulnerability Patterns
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (6)

Lp3

Medium
Category
MCP Least Privilege
Confidence
94% confidence
Finding
The skill instructs the agent to perform network access to fetch arbitrary WeChat URLs and to write downloaded content and images to local files, but it does not declare any permissions for those capabilities. This creates a transparency and control gap: an agent or platform may execute file and network operations users or reviewers did not explicitly authorize, increasing the risk of unintended data access, overwrites, or misuse if the skill is triggered on untrusted input.

Unpinned Dependencies

Low
Category
Supply Chain
Content
requests>=2.28.0
beautifulsoup4>=4.11.0
lxml>=4.9.0
Confidence
95% confidence
Finding
The dependency specification uses a lower-bound only constraint (requests>=2.28.0), which permits installation of any later version without review or reproducibility guarantees. This increases supply-chain risk and can also allow environments to resolve to the known-vulnerable 2.28.0 release or other incompatible versions, making security posture unpredictable.

Unpinned Dependencies

Low
Category
Supply Chain
Content
requests>=2.28.0
beautifulsoup4>=4.11.0
lxml>=4.9.0
Confidence
90% confidence
Finding
beautifulsoup4 is not pinned to an exact reviewed version, so builds are non-reproducible and may silently pull in future releases with security or behavior changes. While this package is lower risk than a networking or parser runtime component, unpinned dependencies still expand supply-chain exposure.

Unpinned Dependencies

Low
Category
Supply Chain
Content
requests>=2.28.0
beautifulsoup4>=4.11.0
lxml>=4.9.0
Confidence
95% confidence
Finding
lxml is a native-code XML/HTML parsing library and leaving it unpinned allows deployment to drift across versions with differing security properties. In a web-scraping skill that processes untrusted remote content, parser-version control is especially important because parser flaws can materially affect exploitability.

Known Vulnerable Dependency: requests==2.28.0 — 8 advisory(ies): CVE-2024-47081 (Requests vulnerable to .netrc credentials leak via malicious URLs); CVE-2024-35195 (Requests `Session` object does not verify requests after making first request wi); CVE-2026-25645 (Requests has Insecure Temp File Reuse in its extract_zipped_paths() utility func) +5 more

High
Category
Supply Chain
Confidence
98% confidence
Finding
The requirement allows installation of requests 2.28.0, a version with multiple published advisories, including issues involving credential leakage and TLS verification behavior. Because this skill fetches remote WeChat article content over the network, a vulnerable HTTP client is directly in the attack path and could expose secrets or weaken transport security if the affected code paths are used.

Known Vulnerable Dependency: lxml==4.9.0 — 4 advisory(ies): CVE-2026-41066 (lxml: Default configuration of iterparse() and ETCompatXMLParser() allows XXE to); CVE-2022-2309 (lxml NULL Pointer Dereference allows attackers to cause a denial of service); CVE-2022-2309 (NULL Pointer Dereference allows attackers to cause a denial of service (or appli) +1 more

High
Category
Supply Chain
Confidence
97% confidence
Finding
The requirement allows installation of lxml 4.9.0, which has published parser-related vulnerabilities including XXE and denial-of-service issues. This skill scrapes and parses remote article content, so an XML/HTML parser flaw is particularly relevant because attacker-controlled content may be processed directly.

Static analysis

No suspicious patterns detected.