wechat-article-getter
Security checks across static analysis, malware telemetry, and agentic risk
Overview
The skill’s goal is coherent, but it can automatically install browser tooling at runtime and its URL validation can let a non-WeChat page run in a no-sandbox headless browser.
Use only with trusted, valid WeChat article links and consider running it in a virtual environment or container. Review and perform dependency installation yourself rather than letting the script auto-install packages during article fetching.
Static analysis
No static analysis findings were reported for this release.
VirusTotal
VirusTotal findings are pending for this skill version.
Risk analysis
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.
A crafted URL containing the text mp.weixin.qq.com could make the agent browse a non-WeChat site in a less-contained browser context.
The code uses a substring check rather than parsing and enforcing the hostname, then loads the supplied URL in Chromium with anti-detection and no-sandbox flags.
if "mp.weixin.qq.com" not in url: return _err(url, "不是微信公众号链接") ... page.goto(url, wait_until="networkidle", timeout=timeout_ms) ... args=["--disable-blink-features=AutomationControlled", "--disable-dev-shm-usage", "--no-sandbox"]
Only use this with clearly valid https://mp.weixin.qq.com article links; the maintainer should validate the parsed hostname exactly and avoid --no-sandbox unless strictly required.
Running the skill may change the user’s Python environment and download executable browser components, creating supply-chain and local environment risk.
The normal fetch path can automatically install unpinned Python packages and download a Chromium browser if dependencies are missing.
subprocess.check_call([sys.executable, "-m", "pip", "install", "playwright", "beautifulsoup4", "-q"]) ... subprocess.check_call([sys.executable, "-m", "playwright", "install", "chromium"])
Install dependencies explicitly in an isolated environment, pin package versions, and avoid automatic runtime installation in the fetch script.
