Zhihu Assistant
v0.1.1知乎热榜抓取与回答草稿生成助手 - 自动抓取知乎热榜,使用 AI 生成优质回答草稿,推送到飞书审核
⭐ 1· 365·2 current·3 all-time
bywolf master@naivekid
MIT-0
Download zip
LicenseMIT-0 · Free to use, modify, and redistribute. No attribution required.
Security Scan
OpenClaw
Suspicious
medium confidencePurpose & Capability
Name/description, config.schema, and code align: the skill scrapes Zhihu, generates drafts via a third‑party LLM API, and queues/pushes drafts to Feishu. Requested secrets (Zhihu cookie, Kimi/Doubao API key) are consistent with the functionality. Minor mismatch: install.sh installs Python packages (openai, httpx) that the included code does not appear to use, which is unnecessary but not directly malicious.
Instruction Scope
SKILL.md and code instruct collecting a Zhihu browser cookie and an API key — these are sensitive but needed for the skill. The runtime reads OpenClaw config via subprocess('openclaw config get'), yet 'openclaw' is not declared in the skill's top-level 'requires' list; install/usage assumes the OpenClaw CLI is present. SKILL.md also claims automatic creation of cron tasks after install, but the provided install.sh does not create cron entries (it only creates a workspace and shortcut), which is an inconsistency to verify. No evidence in the visible code of unexpected exfiltration to unknown endpoints beyond the declared APIs (Zhihu and the configured LLM API).
Install Mechanism
Install is local (install.sh copies files into ~/.openclaw/workspace and creates a shortcut); there are no remote downloads or archives. This is low-risk for arbitrary code fetch. The install does pip install several packages (pyyaml, requests, httpx, openai). requests/pyyaml are reasonable; openai/httpx appear unnecessary given the included code, which is sloppy and could enlarge attack surface if an attacker later modifies dependencies.
Credentials
The skill asks for exactly the sensitive items it needs: a Zhihu cookie (to access Zhihu on behalf of the user) and an API key for the LLM provider (Kimi/Doubao). It also accepts an optional Feishu user id. The code also falls back to reading KIMI_API_KEY from environment variables and reads OpenClaw config via subprocess; these are appropriate but should be documented clearly. No unrelated credentials or broad system paths are requested.
Persistence & Privilege
always:false and the skill writes data only to its own workspace under ~/.openclaw/workspace/zhihu-assistant and ~/.openclaw/skills for the shortcut. It does not request system-wide privileges or alter other skills. This level of persistence is proportional for the stated use.
What to consider before installing
This skill appears to do what it says, but review a few things before installing:
- Sensitive credentials: the skill requires a Zhihu login cookie and an LLM API key. Only paste these into OpenClaw config and never commit them to a repository. Consider using a throwaway account or scope-limited API key if possible and rotate credentials after testing.
- Verify cron behavior: SKILL.md claims scheduled tasks will be created automatically, but the provided install.sh does not create cron entries. If you rely on scheduling, either add cron jobs yourself or confirm how OpenClaw will schedule the skill.
- Check the LLM endpoint: the code supports Kimi/Doubao and has multiple base_url defaults in different files; confirm the API endpoint you configure is the intended one and that you trust that provider.
- Unnecessary dependencies: install.sh installs packages (openai, httpx) that the code doesn't use. This is not necessarily malicious, but it increases installed surface area—inspect and remove unused dependencies if you prefer a minimal environment.
- OpenClaw CLI dependency: runtime code uses 'openclaw config get' via subprocess. Ensure the OpenClaw CLI is present and that you understand what config entries the skill will read.
- Review the remainder of main.py (it was truncated here): ensure there are no hidden network calls or logic that would send collected data (cookies, drafts, logs) to unexpected third-party endpoints.
If you want stronger assurance, run the skill in an isolated environment (VM or container) and monitor outbound network traffic during a test run. If you provide the full, untruncated main.py code I can re-check the remaining runtime behaviors and raise or lower my confidence accordingly.Like a lobster shell, security has layers — review code before you run it.
latestvk977qn2as2zhs74m17ysq8t2rn822472
License
MIT-0
Free to use, modify, and redistribute. No attribution required.
