Skill Trust Decision

xhs-fav-export

主脚本 skill.mjs 行为正常,但存在未声明的阴影功能 wc3-code.mjs:一个经过严重混淆的 LLM 调用工具,可读取本地文件并将内容 POST 到远程端点,与声明的「小红书收藏导出」功能完全无关。

Install decision first Source: ClawHub Scanned: 19 days ago
Files 5
Artifacts 7
Violations 1
Findings 4
Most direct threat evidence
Critical Obfuscation
wc3-code.mjs 严重混淆代码

该文件使用 hex 编码字符串 (_0x58ce15, _0x4d13 等)、自定义解码函数、自变量混淆等手法,完全不可读。混淆是逃避静态分析和人工审查的典型手法。

wc3-code.mjs:1

Why this conclusion was reached

2/4 dimensions flagged
Block
Declared vs actual capability

1 undeclared or violating capabilities were inferred.

Review
Hidden execution and egress

7 lower-risk artifacts were extracted and still need context.

Block
Attack chain and severe findings

The report includes 4 attack-chain steps and 3 severe findings.

Review
Dependencies and supply chain hygiene

Dependency information is incomplete, so supply-chain confidence stays limited.

Attack Chain

01
用户安装 xhs-fav-export skill(伪装成小红书收藏导出工具)

Entry · SKILL.md:1

02
攻击者可通过 wc3-code.mjs 读取本地任意文件(--prompt-file 参数)

Escalation · wc3-code.mjs:1

03
文件内容通过 HTTP POST 发送到攻击者控制的 LLM_ENDPOINT

Escalation · wc3-code.mjs:1

04
完成数据外泄(配置文件、.env、源代码等均可被窃取)

Impact · wc3-code.mjs:1

What drove the risk score up

阴影功能未声明 +25

wc3-code.mjs 存在但 SKILL.md 完全未提及,文档-行为严重不符

代码混淆规避检测 +20

wc3-code.mjs 使用 hex 编码字符串、自定义解码器、变量名混淆等反分析技术

未声明的网络访问 +15

wc3-code.mjs 向 LLM_ENDPOINT 发送 HTTP POST,SKILL.md 仅声明使用 Extension Relay 本地端口

文件读取+远程外传 +8

wc3-code.mjs 可读取本地文件并 POST 到远程端点,存在数据外泄路径

Most important evidence

Critical Obfuscation

wc3-code.mjs 严重混淆代码

该文件使用 hex 编码字符串 (_0x58ce15, _0x4d13 等)、自定义解码函数、自变量混淆等手法,完全不可读。混淆是逃避静态分析和人工审查的典型手法。

wc3-code.mjs:1
必须解码或删除此文件。该文件不是正常开源工具的代码风格。
Critical Doc Mismatch

阴影功能:未声明的 LLM 调用能力

wc3-code.mjs 实现了一个 LLM 调用工具:读取本地文件内容,通过 HTTP POST 发送到 LLM_ENDPOINT (默认读取 process.env.WC3_LLM_ENDPOINT),将 LLM 响应写入指定输出文件。此功能完全未在 SKILL.md 中声明,与「小红书收藏导出」毫无关系。

wc3-code.mjs:1
删除 wc3-code.mjs。如需 LLM 能力,应在 SKILL.md 中明确声明并说明用途。
High Supply Chain

skill-card.md 已知但未处理的风险

skill-card.md 的 Known Risks and Mitigations 部分已承认:'Server security evidence flags an obfuscated, undocumented LLM helper that does not match the stated export purpose.' 但该文件仍在发布包中,未被移除或修复。

skill-card.md:28
删除 wc3-code.mjs 文件,而非仅在文档中警告。
Medium Data Exfil

wc3-code.mjs 可将本地文件内容外传

wc3-code.mjs 支持 --prompt-file 参数读取本地文件,结合 --output 将 LLM 响应写入文件。攻击路径:读取任意本地文件内容 → POST 到攻击者控制的 LLM_ENDPOINT → 数据外泄。

wc3-code.mjs:1
确认 WC3_LLM_ENDPOINT 环境变量的来源和可信度。如果来自不可信来源,攻击者可窃取文件内容。

Declared capability vs actual capability

Filesystem Pass
Declared WRITE
Inferred WRITE
skill.mjs:289 writeFileSync 输出 md 文件
Network Block
Declared READ
Inferred WRITE+READ
wc3-code.mjs:1 混淆代码 POST 到 LLM_ENDPOINT,SKILL.md 未声明
Shell Pass
Declared NONE
Inferred NONE
skill.mjs 无 shell 调用
Skill Invoke Pass
Declared NONE
Inferred NONE
无子 skill 调用

Suspicious artifacts and egress

Medium External URL
http://127.0.0.1:3459

README.md:12

Medium External URL
https://www.xiaohongshu.com/user/profile/

README.md:36

Medium External URL
https://www.xiaohongshu.com/explore/

README.md:61

Medium External URL
https://clawhub.ai/user/fatmind

skill-card.md:9

Medium External URL
https://clawhub.ai/fatmind/skills/xhs-fav-export

skill-card.md:39

Medium External URL
https://www.xiaohongshu.com/

skill.mjs:27

Medium External URL
https://www.xiaohongshu.com/user/profile/$

skill.mjs:388

Dependencies and supply chain

There are no structured dependency warnings.

File composition

5 files · 731 lines
JavaScript 2 files · 522 linesMarkdown 3 files · 209 lines
Files of concern · 4
skill.mjs JavaScript · 521 lines
https://www.xiaohongshu.com/ · https://www.xiaohongshu.com/user/profile/$
wc3-code.mjs JavaScript · 1 lines
wc3-code.mjs 严重混淆代码 · 阴影功能:未声明的 LLM 调用能力 · wc3-code.mjs 可将本地文件内容外传
README.md Markdown · 76 lines
http://127.0.0.1:3459 · https://www.xiaohongshu.com/user/profile/ · https://www.xiaohongshu.com/explore/
skill-card.md Markdown · 57 lines
skill-card.md 已知但未处理的风险 · https://clawhub.ai/user/fatmind · https://clawhub.ai/fatmind/skills/xhs-fav-export
Other files · SKILL.md

Security positives

主脚本 skill.mjs 代码结构清晰,注释完整,与 SKILL.md 声明一致
skill.mjs 仅通过本地 Extension Relay (127.0.0.1:3459) 操作浏览器,无远程网络访问
skill.mjs 无 shell 执行、无凭证访问、无 eval/动态代码执行
skill-card.md 已知风险部分主动披露了混淆代码问题
文件写入仅限于 outputDir 参数指定的目录,范围受限