This report was generated in Chinese. Some content may be in Chinese.
Trusted — Risk Score 5/100
Last scan:2 hr ago Rescan
5 /100
self-hosted-crypto-payments
Add self-custodied crypto payment checkout to a Next.js + Supabase app. Accepts ETH, BTC, SOL, USDC, USDT and 25+ coins across 9 chains.
这是一个合法且代码质量高的自托管加密货币支付集成技能,声明与行为完全一致,无恶意特征。
Skill Nameself-hosted-crypto-payments
Duration39.9s
Enginepi
ClawHub Self-hosted Crypto Payment v1.0.0 by flacko2048
📥 18
ClawHub Verdict Suspicious env_credential_accessllm_suspiciousvt_suspicious
Safe to install
可直接使用。该技能为 Next.js + Supabase 应用添加加密货币支付功能(ETH/BTC/SOL/USDC 等),所有代码均为标准的区块链交互和 HD 钱包派生逻辑。

Findings 2 items

Severity Finding Location
Low
npm 依赖未锁定版本 Supply Chain
SKILL.md 中的 npm install 命令未指定依赖版本(`npm install ethers @scure/bip32 @scure/bip39 @scure/base @noble/hashes @solana/web3.js`),这可能导致未来安装到包含已知漏洞的版本。
npm install ethers @scure/bip32 @scure/bip39 @scure/base @noble/hashes @solana/web3.js
→ 建议使用固定版本或使用 npm shrinkwrap/yarn.lock/pnpm-lock.yaml,例如 `ethers@^6.0.0`。
SKILL.md:51
Low
客户端剪贴板写入(低风险) Sensitive Access
crypto-payment-modal.tsx 中的 CopyButton 组件使用 navigator.clipboard.writeText 复制钱包地址和金额。这是加密货币支付 UX 的标准做法(用户需要复制地址),仅在用户主动点击按钮时触发,不存在恶意窃取风险。
await navigator.clipboard.writeText(text)
→ 无需修改,这是支付场景的标准行为。
resources/crypto-payment-modal.tsx:155
ResourceDeclaredInferredStatusEvidence
Filesystem WRITE WRITE ✓ Aligned 技能声明 Write 工具用于将资源文件复制到目标项目,代码行为一致(生成 Next.js API routes 和 React 组件文件)。
Network READ READ ✓ Aligned crypto-checkout-route.ts:46 调用 CoinGecko API,check-crypto-payments-route.ts:64 调…
Shell WRITE NONE ✓ Aligned Bash 工具声明用于运行 npm install,但代码本身无 shell 执行 — 行为符合预期。
Environment NONE READ ✓ Aligned crypto-wallets.ts 读取 CRYPTO_MASTER_MNEMONIC,check-crypto-payments-route.ts 读取 CR…
Skill Invoke NONE NONE 无子技能调用行为。
Clipboard NONE NONE crypto-payment-modal.tsx 使用 navigator.clipboard.writeText 复制钱包地址 — 这是支付场景的合法 UX …
Browser NONE READ ✓ Aligned crypto-payment-modal.tsx 使用 router.refresh() 和 fetch 进行状态轮询 — 标准的 React 客户端组件行为,…
Database NONE WRITE ✓ Aligned Supabase 写入 crypto_payments 表(insert)、更新 profiles 和 bots 表 — 未在 allowed-tools 中声…
26 findings
🔗
Medium External URL 外部 URL
https://cr8claw.com
LICENSE.txt:3
🔗
Medium External URL 外部 URL
https://iancoleman.io/bip39/
SKILL.md:69
🔗
Medium External URL 外部 URL
https://etherscan.io
SKILL.md:180
🔗
Medium External URL 外部 URL
https://api.coingecko.com/api/v3/simple/price?ids=$
resources/crypto-checkout-route.ts:47
🔗
Medium External URL 外部 URL
https://api.qrserver.com/v1/create-qr-code/?data=$
resources/crypto-payment-modal.tsx:208
🔗
Medium External URL 外部 URL
https://cloudflare-eth.com
resources/crypto-wallets.ts:43
🔗
Medium External URL 外部 URL
https://mainnet.base.org
resources/crypto-wallets.ts:44
🔗
Medium External URL 外部 URL
https://polygon-rpc.com
resources/crypto-wallets.ts:45
🔗
Medium External URL 外部 URL
https://arb1.arbitrum.io/rpc
resources/crypto-wallets.ts:46
🔗
Medium External URL 外部 URL
https://mainnet.optimism.io
resources/crypto-wallets.ts:47
🔗
Medium External URL 外部 URL
https://bsc-dataseed.binance.org
resources/crypto-wallets.ts:48
🔗
Medium External URL 外部 URL
https://api.avax.network/ext/bc/C/rpc
resources/crypto-wallets.ts:49
💰
Medium Wallet Address 加密货币钱包地址
0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48
resources/crypto-wallets.ts:55
💰
Medium Wallet Address 加密货币钱包地址
0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913
resources/crypto-wallets.ts:56
💰
Medium Wallet Address 加密货币钱包地址
0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359
resources/crypto-wallets.ts:57
💰
Medium Wallet Address 加密货币钱包地址
0xaf88d065e77c8cC2239327C5EDb3A432268e5831
resources/crypto-wallets.ts:58
💰
Medium Wallet Address 加密货币钱包地址
0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85
resources/crypto-wallets.ts:59
💰
Medium Wallet Address 加密货币钱包地址
0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d
resources/crypto-wallets.ts:60
💰
Medium Wallet Address 加密货币钱包地址
0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E
resources/crypto-wallets.ts:61
💰
Medium Wallet Address 加密货币钱包地址
0xdAC17F958D2ee523a2206206994597C13D831ec7
resources/crypto-wallets.ts:64
💰
Medium Wallet Address 加密货币钱包地址
0xc2132D05D31c914a87C6611C10748AEb04B58e8F
resources/crypto-wallets.ts:65
💰
Medium Wallet Address 加密货币钱包地址
0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9
resources/crypto-wallets.ts:66
💰
Medium Wallet Address 加密货币钱包地址
0x55d398326f99059fF775485246999027B3197955
resources/crypto-wallets.ts:67
💰
Medium Wallet Address 加密货币钱包地址
0x6B175474E89094C44Da98b954EedeAC495271d0F
resources/crypto-wallets.ts:70
🔗
Medium External URL 外部 URL
https://api.mainnet-beta.solana.com
resources/crypto-wallets.ts:80
🔗
Medium External URL 外部 URL
https://mempool.space/api/address
resources/crypto-wallets.ts:81

File Tree

11 files · 60.0 KB · 1553 lines
TypeScript 6f · 1219L Markdown 2f · 261L SQL 2f · 52L Text 1f · 21L
├─ 📁 examples
│ └─ 📜 integration-example.tsx TypeScript 92L · 2.6 KB
├─ 📁 resources
│ ├─ 📄 005_crypto_payments.sql SQL 33L · 1.5 KB
│ ├─ 📄 006_crypto_direct.sql SQL 19L · 862 B
│ ├─ 📜 check-crypto-payments-route.ts TypeScript 264L · 10.0 KB
│ ├─ 📜 crypto-checkout-route.ts TypeScript 230L · 7.9 KB
│ ├─ 📜 crypto-checkout-status-route.ts TypeScript 30L · 816 B
│ ├─ 📜 crypto-payment-modal.tsx TypeScript 376L · 15.5 KB
│ └─ 📜 crypto-wallets.ts TypeScript 227L · 9.8 KB
├─ 📄 LICENSE.txt Text 21L · 1.1 KB
├─ 📝 README.md Markdown 81L · 2.9 KB
└─ 📝 SKILL.md Markdown 180L · 7.1 KB

Dependencies 6 items

PackageVersionSourceKnown VulnsNotes
ethers * npm No SKILL.md 中未指定版本,建议锁定版本
@scure/bip32 * npm No SKILL.md 中未指定版本,建议锁定版本
@scure/bip39 * npm No SKILL.md 中未指定版本,建议锁定版本
@scure/base * npm No SKILL.md 中未指定版本,建议锁定版本
@noble/hashes * npm No SKILL.md 中未指定版本,建议锁定版本
@solana/web3.js * npm No SKILL.md 中未指定版本,建议锁定版本

Security Positives

✓ 代码质量高:使用 timingSafeEqual 防止 CRON_SECRET 时序攻击
✓ 安全设计良好:主助记词(CRYPTO_MASTER_MNEMONIC)仅在服务器端使用,从不暴露给客户端
✓ 地址派生使用标准 BIP44/84/SLIP-0010 路径,与 MetaMask/Phantom 等主流钱包兼容
✓ 支付金额来自服务端常量而非用户输入,防止金额操纵攻击
✓ 数据库层面强制唯一约束,防止地址重用
✓ 原子性确认:使用 WHERE status='pending' 防止双重处理
✓ 完整的 Supabase RLS 策略配置
✓ 无混淆代码、无 base64 编码执行、无反向 shell
✓ 声明(SKILL.md)与实际代码行为完全一致,无阴影功能
✓ QR 码生成使用外部服务(qrserver.com)而非本地计算 — 符合预期