sui-agent-wallet

🪙 AI 代理专属的 Sui 链上钱包

基于 Sui 官方 SDK 的 AI Agent 钱包方案,通过 macOS Keychain 安全托管私钥,支持本地化交易签名与 DApp 交互。

收藏
7.3k
安装
1.6k
版本
v1.0.3
CLS 安全性认证2026-05-17
点击查看完整报告 >

使用说明

核心用法

该技能采用"本地服务器 + Chrome 扩展"的双层架构,通过 WebSocket 连接浏览器与本地服务(默认端口 3847)。AI Agent 可通过 RESTful API 完全控制钱包生命周期,包括创建/切换账户(BIP44 派生路径)、查询余额、管理网络(主网/测试网/开发网)以及关键的交易签名功能。其创新性地实现了 Transaction 解析与显式审批机制,Agent 可通过 /pending 查看待签交易详情,经逻辑判断后调用 /approve/reject 完成授权,同时支持 CLI 离线交易签名,满足复杂开发场景。

显著优点

安全性设计突出,种子短语采用 macOS Keychain 加密存储,而非明文文件,大幅降低密钥泄露风险。技术栈依托 Mysten Labs 官方 @mysten/sui SDK 及 @scure/bip39 等可信加密库,确保密码学操作规范。完整实现了 Sui Wallet Standard 协议(包括 sui:signTransaction 等接口),兼容所有标准 DApp。内置测试 DApp 和详细的安全检查清单,帮助用户验证合约可信度与交易合理性。

潜在缺点

平台限制明显,Keychain 依赖使其目前仅完整支持 macOS 系统。架构上存在安全权衡,CORS 配置为 * 允许任意来源,虽仅限于 localhost 监听,但仍增加了恶意网页的潜在攻击面。/mnemonic 端点缺乏二次认证,一旦本地机器被入侵,攻击者可直接获取助记词。此外,API 缺乏速率限制和严格的输入验证,面对暴力破解时防护不足,且错误信息可能暴露内部实现细节。

适合人群

主要面向 Sui 生态开发者,特别是需要自动化测试 DApp 前端、构建 AI 交易策略的工程师;适合个人用户在可信环境中管理中小额资产进行链上交互实验。不适合企业级生产环境、共享服务器/多用户场景,或管理大额资产的高安全性要求场景。

使用风险

常规风险包括:依赖项漏洞(需定期更新 SDK)、本地网络暴露(若错误配置绑定 0.0.0.0 而非 127.0.0.1)、社会工程攻击(恶意 DApp 诱导签名异常转账)。性能方面,WebSocket 连接稳定性可能影响交易时效,本地服务器宕机将导致无法签名。用户需严格保护本地机器访问权限,避免在公共网络环境暴露 3847 端口。

安全解读

核心用法

Sui Agent Wallet 采用 Chrome 扩展 + 本地服务器 的混合架构,赋予 AI Agent 完整的 Sui 区块链钱包能力:

  • 安装部署:克隆仓库后分别启动本地服务器(bun run index.ts)和加载 Chrome 扩展(chrome://extensions/ 开发者模式加载 extension/ 文件夹)
  • 钱包管理:自动生成 12 词种子短语并加密存储于 macOS Keychain,支持多账户派生(BIP44 路径 m/44'/784'/index'/0'/0')、网络切换(mainnet/testnet/devnet/localnet)
  • DApp 交互:Chrome 扩展作为 Wallet Standard 兼容钱包注入页面,通过 WebSocket 与本地服务器通信,实现连接、签名、事件通知等标准功能
  • Agent API:提供完整 REST API(端口 3847),包括查询地址/余额/网络、创建切换账户、获取测试币、导入导出助记词、交易签名与执行等
  • CLI 集成:支持直接签名 Sui CLI 生成的未签名交易(sui client publish --serialize-unsigned-transaction),实现开发工作流无缝衔接

显著优点

| 维度 | 亮点 |
|------|------|
| **安全性** | 种子短语仅存储于 macOS 系统 Keychain(加密),非敏感配置存于本地 JSON,获 CLS 安全认证 **A 级(75 分)** |
| **标准兼容** | 完整实现 Sui Wallet Standard(connect/disconnect/signTransaction/signAndExecute/signPersonalMessage/events) |
| **开发友好** | 内置 Counter 测试 DApp,支持 Bun 快速启动,与 sui-decompile/sui-move/sui-coverage 形成完整开发工具链 |
| **灵活可控** | 交易需显式 `/approve` 或 `/reject`,Agent 可编程审核交易内容后再签名,避免自动授权风险 |

潜在缺点与局限性

1. 平台限制:种子短语存储深度依赖 macOS Keychain,Linux/Windows 用户需自行适配密钥管理方案
2. 本地暴露风险/mnemonic 端点可通过 curl http://localhost:3847/mnemonic 直接获取种子短语,虽仅限本机访问,但任何本地进程均可调用(安全报告 RISK-001)

3. 权限范围较宽:Chrome 扩展申请 <all_urls> 权限,content script 注入所有页面,需确保 origin 验证逻辑完善(RISK-002)

4. CORS 配置宽松:当前允许任意来源(*),生产环境应限制为本地开发端口

5. 无多签/硬件钱包支持:单密钥模型,不适合高价值资产的多重签名或硬件隔离需求

适合人群

  • AI Agent 开发者:需要让自动化代理自主执行链上操作(DeFi 策略、NFT 铸造、合约交互)
  • Sui DApp 前端开发者:快速搭建 Wallet Standard 兼容的测试环境,验证签名流程
  • Move 智能合约开发者:与 sui-move/sui-coverage 配合使用,完成「编写-测试-审计-前端集成」闭环
  • macOS 本地开发用户:充分利用系统级密钥存储安全性的场景

常规风险

| 风险类型 | 说明 | 缓解建议 |
|----------|------|----------|
| 助记词泄露 | `/mnemonic` 端点无额外确认机制 | 首次启动后移除该端点或添加交互确认 |
| 交易误签 | Agent 自动 approve 恶意合约 | 强制人工审核或代码审查交易 payload |
| 扩展权限滥用 | `<all_urls>` 可能被恶意页面利用 | 验证 DApp origin,仅响应白名单域名 |
| 本地端口扫描 | 3847 端口暴露敏感接口 | 绑定 127.0.0.1 并考虑本地防火墙规则 |
| 依赖供应链 | 虽使用官方 SDK,仍需定期更新 | 锁定版本并订阅 Mysten Labs 安全通告 |

sui-agent-wallet 内容

extension文件夹
scripts文件夹
server文件夹
test-dapp文件夹
frontend文件夹
src文件夹
move文件夹
手动下载zip · 44.9 kB
background.jstext/javascript
请选择文件