moltspay-skill
核心功能依赖未审查的外部 moltspay npm 包(黑盒),脚本本身无明显恶意代码但无法保证外部包行为安全,supply chain 风险显著。
为什么得出这个结论
2/4 个维度触发发现 1 项声明之外的能力或越权行为。
提取到 7 个一般风险产物,需要结合上下文判断。
报告包含 5 步攻击链,另有 2 项高危或严重发现。
发现 1 项需要关注的依赖或供应链线索。
攻击链
初始入口 · package.json:9
权限提升 · scripts/setup.js:26
权限提升 · scripts/setup.sh:16
最终危害 · scripts/setup.js:42
最终危害 · node_modules/moltspay (外部包)
风险分是怎么被拉高的
核心功能完全在 moltspay npm 包中,代码未包含源码,无法审计其网络行为、密钥处理和支付逻辑
npm install -g moltspay 始终拉取 latest,可被依赖劫持攻击(dependency confusion)或包所有者替换恶意版本
~/.moltspay/wallet.json 存储私钥明文,无加密保护
最关键的证据
外部 npm 包(moltspay)源码不可审计
技能脚本仅执行 npm install -g moltspay,所有核心功能(钱包生成、支付发现、服务购买)均运行在外部 moltspay 包中。该包未以源码形式包含在技能内,无法验证其网络通信目标、密钥存储方式或是否有数据外泄行为。
scripts/setup.js:26 npm install 无版本锁定 — 依赖劫持风险
setup.sh 和 setup.js 中均使用 npm install -g moltspay 无 @version 限定,每次执行拉取最新版本。攻击者可发布恶意版本至 npm,或通过命名混淆(dependency confusion)使安装指向攻击者控制的包。
scripts/setup.sh:10 钱包私钥以明文写入磁盘
moltspay init 生成的 wallet.json 包含 EVM 私钥和 Solana Ed25519 私钥,明文存储于 ~/.moltspay/wallet.json。若文件系统权限配置不当或被恶意进程读取,可导致加密资产被盗。
scripts/setup.sh:16 声明能力 vs 实际能力不匹配 — 核心逻辑不可见
SKILL.md 详细描述了钱包创建、支付、余额查询等功能,但这些功能的实际代码运行在外部 moltspay npm 包中。用户/管理员无法通过审查技能源码验证声明行为的真实性。
SKILL.md:1 hardcoded 域名指向外部服务
技能 hardcoded 指向 juai8.com/zen7 和 moltspay.com,服务端行为不受技能控制,存在域名被劫持或服务提供方恶意行为的风险。
SKILL.md:72 声明能力 vs 实际能力
scripts/setup.js:40 写入 ~/.moltspay/wallet.json scripts/setup.js:26 执行 npm install -g moltspay 未访问环境变量 moltspay npm 包运行时可能存在网络通信,但代码中未声明 可疑产物与外联
https://juai8.com/zen7 README.md:51
https://moltspay.com README.md:58
https://moltspay.com/docs README.md:78
https://moltspay.com/services README.md:79
https://discord.gg/QwCJgVBxVK README.md:80
https://clawhub.ai/user/yaqing2023 skill-card.md:7
https://clawhub.ai/yaqing2023/moltspay-skill skill-card.md:29
依赖与供应链
| 包名 | 版本 | 来源 | 漏洞 | 备注 |
|---|---|---|---|---|
| moltspay | * | npm | 否 | 无版本锁定;黑盒外部包,源码不可审计,核心功能(钱包/支付)全部运行于此包 |
文件构成
SKILL.md README.md skill-card.md scripts/setup.js scripts/setup.sh