扫描报告
10 /100
sports-betting
Place and claim decentralized sports bets on-chain via Pinwin and Azuro on Polygon
This is a legitimate sports betting skill for Azuro/Pinwin on Polygon. The flagged base64 decoding is standard EIP-712 payload handling, fully documented in SKILL.md, and presents no security risk.
可以安装
Approve for use. The skill properly handles private keys (local signing only), shows full payloads before signing, and requires explicit user confirmation for all on-chain actions.
安全发现 3 项
| 严重性 | 安全发现 | 位置 |
|---|---|---|
| 低危 | Base64-encoded EIP-712 payloads (false positive) | scripts/place-bet.js:188 |
| 低危 | Child process spawn for background watcher | scripts/place-bet.js:358 |
| 提示 | Multiple external API endpoints | SKILL.md:53 |
| 资源类型 | 声明权限 | 推断权限 | 状态 | 证据 |
|---|---|---|---|---|
| 文件系统 | READ | READ | ✓ 一致 | Node.js scripts read config; package.json declared |
| 网络访问 | READ | READ | ✓ 一致 | Queries Azuro subgraph (read-only GraphQL), Pinwin API |
| 命令执行 | WRITE | WRITE | ✓ 一致 | Node.js scripts executed via documented commands |
| 环境变量 | WRITE | WRITE | ✓ 一致 | Reads BETTOR_PRIVATE_KEY for local EIP-712 signing only |
| 技能调用 | WRITE | WRITE | ✓ 一致 | disable-model-invocation: true in _meta.json |
2 严重 21 项发现
严重 编码执行 Base64 编码执行(代码混淆)
Buffer.from(body.encoded, 'base64' scripts/claim-bets.js:92 严重 编码执行 Base64 编码执行(代码混淆)
Buffer.from(betRes.encoded, 'base64' scripts/place-bet.js:188 中危 外部 URL 外部 URL
https://pinwin.xyz README.md:3 中危 外部 URL 外部 URL
https://docs.openclaw.ai README.md:3 中危 钱包地址 加密货币钱包地址
0xc2132D05D31c914a87C6611C10748AEb04B58e8F SKILL.md:48 中危 钱包地址 加密货币钱包地址
0x8dA05c0021e6b35865FDC959c54dCeF3A4AbBa9d SKILL.md:49 中危 钱包地址 加密货币钱包地址
0xF9548Be470A4e130c90ceA8b179FCD66D2972AC7 SKILL.md:50 中危 钱包地址 加密货币钱包地址
0x0FA7FB5407eA971694652E6E16C12A52625DE1b8 SKILL.md:51 中危 外部 URL 外部 URL
https://api.onchainfeed.org/api/v1/public/market-manager/ SKILL.md:53 中危 外部 URL 外部 URL
https://thegraph.onchainfeed.org/subgraphs/name/azuro-protocol/azuro-api-polygon-v3 SKILL.md:54 中危 外部 URL 外部 URL
https://api.pinwin.xyz SKILL.md:55 中危 外部 URL 外部 URL
https://polygonscan.com/tx/ SKILL.md:56 中危 外部 URL 外部 URL
https://polygon-bor-rpc.publicnode.com SKILL.md:57 中危 外部 URL 外部 URL
https://api.onchainfeed.org/api/v1/public/market-manager/conditions-by-game-ids SKILL.md:296 中危 外部 URL 外部 URL
https://api.pinwin.xyz/agent/bet SKILL.md:305 中危 钱包地址 加密货币钱包地址
0xf9548be470a4e130c90cea8b179fcd66d2972ac7 SKILL.md:368 中危 外部 URL 外部 URL
https://api.onchainfeed.org/v1/bet/orders/ordinar SKILL.md:410 中危 外部 URL 外部 URL
https://api.onchainfeed.org/v1 SKILL.md:410 中危 外部 URL 外部 URL
https://api.pinwin.xyz/agent/claim SKILL.md:512 中危 钱包地址 加密货币钱包地址
0x0fa7fb5407ea971694652e6e16c12a52625de1b8 SKILL.md:526 中危 外部 URL 外部 URL
https://polygonscan.com/tx/$ scripts/claim-bets.js:123 目录结构
9 文件 · 76.5 KB · 1674 行 JavaScript 4f · 1044L
Markdown 2f · 589L
JSON 3f · 41L
├─
▾
scripts
│ ├─
claim-bets.js
JavaScript
│ ├─
get-games.js
JavaScript
│ ├─
package-lock.json
JSON
│ ├─
package.json
JSON
│ ├─
place-bet.js
JavaScript
│ └─
watch-bets.js
JavaScript
├─
_meta.json
JSON
├─
README.md
Markdown
└─
SKILL.md
Markdown
依赖分析 2 项
| 包名 | 版本 | 来源 | 已知漏洞 | 备注 |
|---|---|---|---|---|
viem | latest | npm | 否 | Well-audited Ethereum library |
@azuro-org/dictionaries | latest | npm | 否 | Official Azuro package for market resolution |
安全亮点
✓ Private key never leaves the local process — used only for EIP-712 signing via viem
✓ Full decoded payload shown to user before any signing occurs
✓ Contract address verification after base64 decode (clientCore and claimContract checks)
✓ Interactive confirmation gates prevent unauthorized transactions (requires 'yes' input)
✓ disable-model-invocation: true prevents accidental autonomous execution
✓ No shell command injection vectors detected
✓ No credential exfiltration — BETTOR_PRIVATE_KEY used solely for local signing
✓ No external script downloads (curl|bash, wget|sh patterns absent)
✓ Clear safety rules documented in SKILL.md with explicit confirmation requirements
✓ Proper error handling with user-facing messages