扫描报告
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.
这是一个合法且代码质量高的自托管加密货币支付集成技能,声明与行为完全一致,无恶意特征。
可以安装
可直接使用。该技能为 Next.js + Supabase 应用添加加密货币支付功能(ETH/BTC/SOL/USDC 等),所有代码均为标准的区块链交互和 HD 钱包派生逻辑。
安全发现 2 项
| 严重性 | 安全发现 | 位置 |
|---|---|---|
| 低危 | npm 依赖未锁定版本 供应链 | SKILL.md:51 |
| 低危 | 客户端剪贴板写入(低风险) 敏感访问 | resources/crypto-payment-modal.tsx:155 |
| 资源类型 | 声明权限 | 推断权限 | 状态 | 证据 |
|---|---|---|---|---|
| 文件系统 | WRITE | WRITE | ✓ 一致 | 技能声明 Write 工具用于将资源文件复制到目标项目,代码行为一致(生成 Next.js API routes 和 React 组件文件)。 |
| 网络访问 | READ | READ | ✓ 一致 | crypto-checkout-route.ts:46 调用 CoinGecko API,check-crypto-payments-route.ts:64 调… |
| 命令执行 | WRITE | NONE | ✓ 一致 | Bash 工具声明用于运行 npm install,但代码本身无 shell 执行 — 行为符合预期。 |
| 环境变量 | NONE | READ | ✓ 一致 | crypto-wallets.ts 读取 CRYPTO_MASTER_MNEMONIC,check-crypto-payments-route.ts 读取 CR… |
| 技能调用 | NONE | NONE | — | 无子技能调用行为。 |
| 剪贴板 | NONE | NONE | — | crypto-payment-modal.tsx 使用 navigator.clipboard.writeText 复制钱包地址 — 这是支付场景的合法 UX … |
| 浏览器 | NONE | READ | ✓ 一致 | crypto-payment-modal.tsx 使用 router.refresh() 和 fetch 进行状态轮询 — 标准的 React 客户端组件行为,… |
| 数据库 | NONE | WRITE | ✓ 一致 | Supabase 写入 crypto_payments 表(insert)、更新 profiles 和 bots 表 — 未在 allowed-tools 中声… |
26 项发现
中危 外部 URL 外部 URL
https://cr8claw.com LICENSE.txt:3 中危 外部 URL 外部 URL
https://iancoleman.io/bip39/ SKILL.md:69 中危 外部 URL 外部 URL
https://etherscan.io SKILL.md:180 中危 外部 URL 外部 URL
https://api.coingecko.com/api/v3/simple/price?ids=$ resources/crypto-checkout-route.ts:47 中危 外部 URL 外部 URL
https://api.qrserver.com/v1/create-qr-code/?data=$ resources/crypto-payment-modal.tsx:208 中危 外部 URL 外部 URL
https://cloudflare-eth.com resources/crypto-wallets.ts:43 中危 外部 URL 外部 URL
https://mainnet.base.org resources/crypto-wallets.ts:44 中危 外部 URL 外部 URL
https://polygon-rpc.com resources/crypto-wallets.ts:45 中危 外部 URL 外部 URL
https://arb1.arbitrum.io/rpc resources/crypto-wallets.ts:46 中危 外部 URL 外部 URL
https://mainnet.optimism.io resources/crypto-wallets.ts:47 中危 外部 URL 外部 URL
https://bsc-dataseed.binance.org resources/crypto-wallets.ts:48 中危 外部 URL 外部 URL
https://api.avax.network/ext/bc/C/rpc resources/crypto-wallets.ts:49 中危 钱包地址 加密货币钱包地址
0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 resources/crypto-wallets.ts:55 中危 钱包地址 加密货币钱包地址
0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 resources/crypto-wallets.ts:56 中危 钱包地址 加密货币钱包地址
0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359 resources/crypto-wallets.ts:57 中危 钱包地址 加密货币钱包地址
0xaf88d065e77c8cC2239327C5EDb3A432268e5831 resources/crypto-wallets.ts:58 中危 钱包地址 加密货币钱包地址
0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85 resources/crypto-wallets.ts:59 中危 钱包地址 加密货币钱包地址
0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d resources/crypto-wallets.ts:60 中危 钱包地址 加密货币钱包地址
0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E resources/crypto-wallets.ts:61 中危 钱包地址 加密货币钱包地址
0xdAC17F958D2ee523a2206206994597C13D831ec7 resources/crypto-wallets.ts:64 中危 钱包地址 加密货币钱包地址
0xc2132D05D31c914a87C6611C10748AEb04B58e8F resources/crypto-wallets.ts:65 中危 钱包地址 加密货币钱包地址
0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9 resources/crypto-wallets.ts:66 中危 钱包地址 加密货币钱包地址
0x55d398326f99059fF775485246999027B3197955 resources/crypto-wallets.ts:67 中危 钱包地址 加密货币钱包地址
0x6B175474E89094C44Da98b954EedeAC495271d0F resources/crypto-wallets.ts:70 中危 外部 URL 外部 URL
https://api.mainnet-beta.solana.com resources/crypto-wallets.ts:80 中危 外部 URL 外部 URL
https://mempool.space/api/address resources/crypto-wallets.ts:81 目录结构
11 文件 · 60.0 KB · 1553 行 TypeScript 6f · 1219L
Markdown 2f · 261L
SQL 2f · 52L
Text 1f · 21L
├─
▾
examples
│ └─
integration-example.tsx
TypeScript
├─
▾
resources
│ ├─
005_crypto_payments.sql
SQL
│ ├─
006_crypto_direct.sql
SQL
│ ├─
check-crypto-payments-route.ts
TypeScript
│ ├─
crypto-checkout-route.ts
TypeScript
│ ├─
crypto-checkout-status-route.ts
TypeScript
│ ├─
crypto-payment-modal.tsx
TypeScript
│ └─
crypto-wallets.ts
TypeScript
├─
LICENSE.txt
Text
├─
README.md
Markdown
└─
SKILL.md
Markdown
依赖分析 6 项
| 包名 | 版本 | 来源 | 已知漏洞 | 备注 |
|---|---|---|---|---|
ethers | * | npm | 否 | SKILL.md 中未指定版本,建议锁定版本 |
@scure/bip32 | * | npm | 否 | SKILL.md 中未指定版本,建议锁定版本 |
@scure/bip39 | * | npm | 否 | SKILL.md 中未指定版本,建议锁定版本 |
@scure/base | * | npm | 否 | SKILL.md 中未指定版本,建议锁定版本 |
@noble/hashes | * | npm | 否 | SKILL.md 中未指定版本,建议锁定版本 |
@solana/web3.js | * | npm | 否 | SKILL.md 中未指定版本,建议锁定版本 |
安全亮点
✓ 代码质量高:使用 timingSafeEqual 防止 CRON_SECRET 时序攻击
✓ 安全设计良好:主助记词(CRYPTO_MASTER_MNEMONIC)仅在服务器端使用,从不暴露给客户端
✓ 地址派生使用标准 BIP44/84/SLIP-0010 路径,与 MetaMask/Phantom 等主流钱包兼容
✓ 支付金额来自服务端常量而非用户输入,防止金额操纵攻击
✓ 数据库层面强制唯一约束,防止地址重用
✓ 原子性确认:使用 WHERE status='pending' 防止双重处理
✓ 完整的 Supabase RLS 策略配置
✓ 无混淆代码、无 base64 编码执行、无反向 shell
✓ 声明(SKILL.md)与实际代码行为完全一致,无阴影功能
✓ QR 码生成使用外部服务(qrserver.com)而非本地计算 — 符合预期