xhs-note-analyst (账号诊断)
Core helper wc3-code.mjs is fully obfuscated, undeclared in SKILL.md, and can exfiltrate prompts to an arbitrary configurable LLM endpoint; skill-card.md acknowledges this risk but SKILL.md does not.
wc3-code.mjs is the skill's LLM pipeline agent (invoked by skill.mjs via spawn). The entire file uses string-encoding/obfuscation with a self-decoding pattern, making static analysis and audit impossible. It reads WC3_LLM_ENDPOINT from the environment (defaulting to local pipeline but configurable to any URL) and sends full prompts (containing note titles, creator data, benchmarks, and analysis context) to that endpoint. SKILL.md makes no mention of this file or its role. skill-card.md acknowledges the obfuscation risk but SKILL.md does not.
wc3-code.mjs:1 为什么得出这个结论
2/4 个维度触发发现 1 项声明之外的能力或越权行为。
提取到 8 个一般风险产物,需要结合上下文判断。
报告包含 0 步攻击链,另有 1 项高危或严重发现。
没有完整依赖信息,供应链判断需要保留弹性。
风险分是怎么被拉高的
wc3-code.mjs is entirely string-encoded/obfuscated and referenced by skill.mjs as the LLM pipeline agent, but SKILL.md does not mention it or its data-sending role
WC3_LLM_ENDPOINT defaults to local pipeline but can be set to any URL via env var; prompts containing note titles and creator data are sent there
skill-card.md (same package) lists obfuscation as a known risk, but SKILL.md — the primary operational doc — makes no mention of it
Browser relay at localhost:3459 and Python subprocess for xlsx parsing are declared and reasonable for the use case
No credential harvesting, no network exfiltration, no reverse shell, no base64|bash chains. Actual behavior matches stated purpose.
最关键的证据
Obfuscated wc3-code.mjs with undeclared data exfiltration path
wc3-code.mjs is the skill's LLM pipeline agent (invoked by skill.mjs via spawn). The entire file uses string-encoding/obfuscation with a self-decoding pattern, making static analysis and audit impossible. It reads WC3_LLM_ENDPOINT from the environment (defaulting to local pipeline but configurable to any URL) and sends full prompts (containing note titles, creator data, benchmarks, and analysis context) to that endpoint. SKILL.md makes no mention of this file or its role. skill-card.md acknowledges the obfuscation risk but SKILL.md does not.
wc3-code.mjs:1 SKILL.md omits the obfuscated helper and LLM data flow
SKILL.md describes the analysis workflow as reading Excel, searching, and generating HTML, but never mentions that prompts are sent to an LLM endpoint via a separate helper script. The wc3-code.mjs file is the actual mechanism for keyword extraction, benchmark selection, and action generation, yet it is invisible in SKILL.md. skill-card.md (in the same package) does flag this but SKILL.md — the primary user-facing operational doc — is silent.
SKILL.md:1 Creator account nickname and performance data sent to external LLM
The skill extracts the user's creator account nickname from the Xiaohongshu creator dashboard page (skill.mjs:401-402) and sends it alongside all note titles, metrics, and analysis context to the LLM endpoint via wc3-code.mjs. This is business-sensitive personal account data. While sent to the local webclaw3 pipeline by default, the endpoint is user-configurable via WC3_LLM_ENDPOINT with no allowlist guard.
skill.mjs:401 SKILL.md claims '不需要任何第三方 API key' but depends on webclaw3 which may use API keys
SKILL.md emphasizes no third-party API key is needed, but webclaw3's local pipeline service (running at :3460) is powered by an LLM backend which may consume API credentials. The skill itself doesn't provide keys, but the dependency infrastructure may.
SKILL.md:35 声明能力 vs 实际能力
skill.mjs:905-910 writes report HTML, res.json, data.md to user-specified paths skill.mjs:16 relayCall POSTs to http://127.0.0.1:3459 (webclaw3 browser relay); search URLs to xiaohongshu.com skill.mjs:380 spawn('python3', ...) for xlsx parsing; skill.mjs:113 spawn('node', [WC3_CODE]) for LLM subsessions — both documented No dynamic skill invocation detected skill.mjs:24 relayCall wraps Extension Relay HTTP API at :3459; all browser ops go through it wc3-code.mjs reads process.env.WC3_LLM_ENDPOINT — undeclared env access in an obfuscated helper No clipboard access detected No database access detected 可疑产物与外联
https://clawhub.ai/fatmind/skills/webclaw3-browser-automation** README.md:25
https://clawhub.ai/fatmind/skills/webclaw3-browser-automation SKILL.md:19
https://clawhub.ai/user/fatmind skill-card.md:9
https://clawhub.ai/fatmind/skills/xhs-note-analyst skill-card.md:39
http://127.0.0.1:3459 skill.mjs:15
https://creator.xiaohongshu.com/statistics/data-analysis skill.mjs:20
https://www.xiaohongshu.com/ skill.mjs:21
https://www.xiaohongshu.com/search_result_ai?keyword= skill.mjs:623
依赖与供应链
没有结构化依赖告警。
文件构成
skill.mjs wc3-code.mjs README.md SKILL.md skill-card.md