Trusted — Risk Score 5/100
Last scan:10 hr ago Rescan
5 /100
goodwallet-trading
Blockchain trading tools extending GoodWallet MPC agentic wallets
合法的区块链交易工具,MPC签名功能清晰,代码无恶意行为。
Skill Namegoodwallet-trading
Duration37.8s
Enginepi
Safe to install
可安全使用,但建议验证 goodwallet 包的完整性。

Findings 2 items

Severity Finding Location
Low
依赖版本未锁定 Supply Chain
package.json 中 goodwallet 使用 ^0.2.0 版本范围,允许次版本更新。攻击者可能通过发布恶意更新实施供应链攻击。
"goodwallet": "^0.2.0"
→ 使用精确版本 "goodwallet": "0.2.0" 并锁定 viem、commander 版本
package.json:11
Info
原生模块依赖外部包 Supply Chain
代码通过 require.resolve('goodwallet') 动态加载原生 Sodot MPC 模块 (libsodot_executor_*)。原生模块未被包含在 skill 包中,依赖外部包完整性。
const gwPath = require.resolve('goodwallet')
→ 确认 goodwallet 包来源可信,验证其 npm 签名
index.js:36
ResourceDeclaredInferredStatusEvidence
Filesystem READ READ ✓ Aligned SKILL.md:120 声明读取 ~/.config/goodwallet/config.json
Network WRITE WRITE ✓ Aligned SKILL.md:106-110 声明外部 RPC 和签名服务
Shell NONE NONE index.js 全代码无 subprocess/spawn/exec 调用
4 findings
🔗
Medium External URL 外部 URL
https://hoodi.etherscan.io/
SKILL.md:117
🔗
Medium External URL 外部 URL
https://eth-hoodi.g.alchemy.com/v2/pungROYJPab5mfhEv2EQjQEtOtugUAbw
index.js:112
🔗
Medium External URL 外部 URL
https://hoodi.etherscan.io/tx/$
index.js:324
🔗
Medium External URL 外部 URL
https://paulmillr.com/funding/
package-lock.json:35

File Tree

4 files · 34.0 KB · 967 lines
JavaScript 1f · 517L JSON 2f · 304L Markdown 1f · 146L
├─ 📜 index.js JavaScript 517L · 19.8 KB
├─ 📋 package-lock.json JSON 286L · 9.0 KB
├─ 📋 package.json JSON 18L · 459 B
└─ 📝 SKILL.md Markdown 146L · 4.7 KB

Dependencies 3 items

PackageVersionSourceKnown VulnsNotes
goodwallet ^0.2.0 npm No 次版本未锁定,存在供应链风险
viem ^2.28.0 npm No 常用以太坊库,安全
commander ^13.1.0 npm No CLI 框架,安全

Security Positives

✓ 无 shell 执行:代码无任何 subprocess/spawn/exec 调用
✓ 无代码混淆:纯 JavaScript,无 eval、atob、base64 解码执行
✓ 无凭证外泄:仅将 API Key 用于 MPC 签名请求,不外传
✓ 无敏感路径扫描:不访问 ~/.ssh、~/.aws、.env 等无关路径
✓ 文档行为一致:SKILL.md 声明的功能与 index.js 实现完全对应
✓ 网络请求合理:所有外部通信均为区块链 RPC 和 MPC 签名必要操作
✓ 权限最小化:仅声明 filesystem:READ 和 network:WRITE,未越权