MetaMask Snap技术深度解析:开发经验、能力限制、安全风险与商业前景评估

MetaMask Snap 是什么? MetaMask Snap 是 MetaMask 钱包的扩展功能,允许用户安装第三方开发的 Snap 应用来获得新功能。它类似于微信小程序,为 MetaMask 带来更多可能性。目前已有 35 款官方审核的 Snap 上线。 Snap 的安全性 Snap 采用 Hardened JavaScript 沙盒环境运行,遵循最小权限原则。所有官方 Snap 必须开源并通过审计,且版本更新需官方审核才能安装,确保安全性。 技术能力与限制 Snap 目前开放三大 API:互操作性、交易洞察和通知功能。虽然 UI 较简陋且功能有限,但已能满足基本开发需求。未来可能会开放更多权限。 开发者体验 开发 Snap 体验流畅,官方提供丰富模板。MetaMask 还设立 Grants DAO 资助生态项目。但由于安全审核要求,短期内 Snap 数量增长可能较慢。

CHAINTT 安全事件资讯

MetaMask Snap 是什么?

ConsenSys近日正式向公众推出了MetaMask Snaps Open Beta版本。这项创新功能允许用户通过安装第三方开发者创建的Snap应用来扩展钱包功能,为MetaMask带来更多可能性。如果把MetaMask比作微信,那么Snap就是微信小程序,这种类比很好地展现了MetaMask的宏伟愿景。考虑到ConsenSys的行业地位和MetaMask庞大的用户基础,这一创新很可能会重塑整个钱包领域的格局。

部分Snap应用展示

从技术角度来看,MetaMask Snap的实现原理、安全机制、能力边界以及开发体验等关键因素,都将直接影响其未来发展潜力。自去年起,LXDAO团队就深入研究了Snap技术,多位成员参与了Snap开发并积极参加了相关黑客松活动。本文将带领大家从技术角度深入探讨这些问题,并通过实际开发一个Snap来体验其开发者流程。

MetaMask Snap初体验

安装MetaMask Snap

用户可以通过MetaMask Snap官方市场安装Snap,也可以在项目官网直接安装。以UniPass为例,访问其应用页面时会提供连接MetaMask的按钮。

点击按钮后即可开始Snap安装流程:

使用MetaMask Snap

安装完成后,用户就可以使用相关产品功能了。以UniPass为例,它会为用户创建一个智能合约账户,方便通过MetaMask的EOA账户进行管理。

当执行转账操作时,UniPass会通过Snap弹出确认窗口,询问用户是否要对UniPass AA钱包执行该操作。

通过MetaMask确认后即可完成操作。这个场景展示了MetaMask如何通过Snap获得控制UniPass AA钱包的能力,而UniPass无需开发独立钱包插件就能让用户操作钱包,同时还能借助MetaMask轻松获取用户。

从安装和使用流程中我们可以观察到几个重要特点:Snap采用了精细的权限控制机制,包括连接钱包权限、网络请求等,严格遵循最小权限原则确保安全性;通过npm包管理Snap版本;虽然UI界面相对简单,但具备高度灵活性,项目方可以根据需求自定义展示内容和逻辑;整体体验流畅稳定,已经达到生产环境可用水平。

Snap的安全性分析

Snap代码运行时机制

Snap基于npm进行包管理,本质上是基于Web和JavaScript的应用。考虑到JavaScript的灵活性可能带来的安全风险,MetaMask选择与Agoric团队合作,深度集成了Hardened JavaScript(又称Secure EcmaScript)作为其沙盒解决方案。

Hardened JavaScript是一个更安全的JavaScript子集,通过限制某些API调用权限和方式降低风险。它为代码创建安全沙盒执行环境,并遵循最小权限原则进行权限控制。

Snap的开源与审计要求

除了明确的用户授权流程和最小权限设计外,成为官方认可的Snap必须开源代码,借助社区力量降低恶意代码风险。同时,官网列出的Snap都需经过第三方安全公司审计才能发布,审计方包括慢雾等知名机构,这大大提升了Snap的可信度。

基于npm管理的安全性

虽然Snap使用npm进行包管理,但MetaMask设置了严格的白名单机制。所有npm包版本变更都需要官方团队审核并加入白名单后才能安装。这意味着即使项目方发布了新版本,在未通过官方审核前用户也无法安装,这种机制虽然增加了版本更新成本,但确保了最高级别的安全性。

MetaMask Snap的技术能力与限制

目前主要开放了三大API:互操作性API支持开发者基于MetaMask开发其他链钱包;交易洞察API允许在用户发起交易前分析交易数据;通知API支持通过Snap向用户推送消息。这些API为开发者提供了丰富的可能性。

通知能力展示

Snap_notify接口可以在MetaMask或浏览器中显示通知,让Snap直接向用户发送消息。

交易洞察功能

当用户与智能合约交互时,MetaMask会触发Snap的onTransaction事件,将未签名原始交易传递给处理程序方法。Snap可以在交易确认页面返回自定义界面和内容。

这项功能可用于实现交易安全审计和信息扩展展示等场景。

Dialog接口与界面定制

Dialog接口支持Snap弹出独立窗口,实现类似传统Alert/Confirm/Prompt的弹窗功能,用于提醒、确认和信息提交等场景。

通过Dialog,开发者可以创建简单的交互界面与DApp对接。

当前功能限制

出于安全考虑,Snap目前不支持第三方前端框架,仅提供少量UIKit组件。下图展示了所有可用的UI组件:

目前仅支持Heading、Text、Panel、Divider、Copyable等基础组件和少量Markdown语法,无法构建复杂交互界面。官方表示这些限制是出于安全考虑,未来版本会逐步放开。

此外,外部请求仅支持Fetch方法,不支持WebSocket等协议;出于安全和隐私考虑,也无法获取客户端信息如当前网址。这些限制大多基于安全考量,相信未来会逐步开放更多权限。

通过这些API,MetaMask已经转型为一个开放平台。这种转变让人联想到微信推出小程序时的情景。MetaMask早在2019年就预见到了当前的市场格局——众多公链和项目方带来的定制化钱包需求。与其让每个项目开发独立插件,不如基于MetaMask Snap构建。首批Snap中已经出现了Sui Wallet、Solana Wallet等非EVM生态钱包,凭借现有用户基础,MetaMask Snap必将深刻影响钱包领域格局。

实际上,MetaMask Snap的想象空间可能远超预期。例如EthSign团队基于Snap开发的KeyChain密码管理器,可以用钱包密钥加密存储所有浏览器密码;Web3MQ团队开发的通信客户端,能实现去中心化消息推送和互动。

既然Snap与开发者密切相关,那么实际的开发体验如何?让我们动手开发一个Snap来亲身体验。

开发Snap实践

项目构思

大多数用户在交互时并不了解智能合约的实际情况,常见问题包括:合约是否被钓鱼网站替换、是否为可升级合约、是否为新部署未经验证的合约、是否开源等。普通用户很难在操作前阅读Solidity代码,这时非常适合使用交易洞察功能实现智能合约分析,比如用AI进行基础安全审计,可能过滤80%的低级钓鱼攻击。

环境准备

首先需要安装MetaMask Flask——面向开发者的MetaMask版本,用于新功能预览和实验性开发。请注意这是开发者版本,不要导入日常使用的私钥。

安装后创建新钱包并充值测试币。本文示例使用Goerli测试网,可通过水龙头获取测试币。

项目初始化

使用官方CLI工具创建新项目:yarn create @metamask/snap transaction-insights-snap && cd transaction-insights-snap

Snap主要文件位于./packages/snap目录,结构如下:

配置文件为snap.mainfest.json,主体文件是./src/index.ts,代码非常简洁。

权限配置

在snap.mainfest.json中新增三条权限:交易洞察、RPC获取和网络请求。还可以修改description和proposedName来定制项目描述和名称。

交易处理

安装后,每笔交易都会显示类似的风险提示:

目前Snap开发体验非常流畅,官方模板丰富多样。有经验的开发者通常几小时内就能上手开发。但正式发布面临的主要障碍是安全审计,不是所有开发者都有资源进行审计,因此预计短期内Snap数量不会爆发式增长。

开发者支持

LXDAO很荣幸获得了MetaMask Grants并参与相关项目开发,建立了联系渠道。如果是LXDAO成员有相关想法,可以更高效地递交申请。

总结

我们从技术角度分析了Snap的特性、安全性、能力限制和开发体验:Snap类似微信小程序,为MetaMask开启了更大想象空间;安全性可靠,代码运行在受限沙盒环境,需开源和审计;虽然当前开放能力有限,但已足够创造价值;经过4年打磨,开发者体验优秀,但安全审核机制可能限制短期内的爆发增长。

MetaMask Snap仍在快速迭代,预计未来会开放更多权限。如果能建立更开放且安全的审核机制,降低开发门槛,可能会催生大量创新应用,甚至出现专门的Snap开发者岗位。凭借MetaMask庞大用户基础,独立开发者也有很大机会。让我们拭目以待Snap带来的下一波创新浪潮。

感谢阅读本文,希望能帮助您了解MetaMask Snap的发展现状。请继续关注LXDAO,我们将持续产出更多MetaMask Snap相关内容!

声明:文章不代表CHAINTT观点及立场,不构成本平台任何投资建议。投资决策需建立在独立思考之上,本文内容仅供参考,风险 自担!转载请注明出处:https://www.chaintt.cn/10288.html

上一篇 2025年9月11日 19:04
下一篇 2025年9月11日 19:40

相关推荐

  • 八月加密货币盗窃案损失1.63亿美元,黑客转向新型攻击策略 | 区块链安全分析

    8月加密货币领域因黑客攻击损失1.63亿美元,环比增15%,同比降47%。攻击转向高价值目标,单笔最大损失达9100万美元。尽管事件数量连续下降,但币价上涨及安全漏洞仍导致损失增加。专家呼吁加强安全措施并关注新技术防护。

    2025年9月2日
    2000
  • 贝莱德引领链上金融革命:1500亿美元资产的区块链转型之路

    全球资管巨头贝莱德宣布计划将其1500亿美元货币市场基金通过区块链技术”DLT Shares”上链,实现所有权数字化记录。此举将传统金融资产与区块链技术深度融合,提升交易效率、透明度和可访问性。贝莱德此前已在以太坊推出BUIDL基金,此次扩展至Solana等多条公链,展现其多链战略野心。这一里程碑式举措可能推动更多传统金融机构拥抱区块链技术,加速RWA(真实世界资产)代币化进程,同时引发Solana与Ethereum在性能与生态上的竞争。尽管面临监管和技术挑战,贝莱德的链上计划标志着金融范式变革的开端。

    2025年9月25日
    2040
  • 2025 年加密安全指南:7 种方法轻松防范黑客与诈骗

    2025年上半年加密货币被盗金额超240亿美元,已超2024年全年。日常陷阱如钓鱼、恶意授权等造成的损失远超复杂漏洞。七大安全习惯可显著降低风险:启用抗钓鱼双重身份验证、谨慎签名、冷热钱包分离、保持设备清洁、转账前核实、警惕社会工程、制定恢复预案。提前准备可将错误转为可控挫折。

    2025年10月11日
    2670
  • 主流比特币二层协议特点及优缺点全面解析

    比特币铭文的兴起带动了比特币二层项目的繁荣,本文重点分析了四个热门项目:Merlin Chain通过ZK Rollup和BTC Connect技术实现BTC与EVM地址的无缝映射;B² Network采用ZPVC Rollup技术,结合zkEVM提升交易隐私与安全;BEVM利用Taproot升级和Schnorr签名实现去中心化,兼容以太坊生态;BounceBit则通过双代币PoS机制增强网络安全,结合CeFi与DeFi拓展BTC应用场景。这些项目各具特色,共同推动比特币生态的可扩展性和多样性发展。

    2025年8月17日
    1980
  • DeFi最新趋势:LetsBonk超越Pump.fun,DeFi与传统金融融合加速

    Solana模因币领域出现重大转变,新平台LetsBonk以104万美元日收入超越龙头Pump.fun,BONK代币随之上涨52%。摩根大通预测DeFi与传统金融融合将加速,Projective Finance推出700万美元链上太阳能项目借贷池。OpenSea收购Rally拓展移动端交易,安全团队阻止威胁数千合约的1000万美元DeFi后门攻击。本周MemeCore代币暴涨1058%领跑市场。

    2025年7月14日
    1740
风险提示:防范以"数字货币""区块链"名义进行非法集资的风险