0

0

Cobo 安全团队:牛市 DeFi 交互指南

DDD

DDD

发布时间:2024-02-28 16:10:07

|

1308人浏览过

|

来源于ChainCatcher

转载

近年来,defi(去中心化金融)领域备受关注,其创新性和高风险也成为热议话题。在牛市中,defi项目更是蓬勃发展,吸引了大量投资者的目光。在这个充满机遇和挑战的领域,如何保障资产安全成为投资者们共同关注的焦点。cobo 安全团队发布了《牛市 defi 交互指南》,为投资者提供了宝贵的参考和指导,帮助他们更好地了解和把握defi生态的风险与机遇。

Cobo 安全团队:牛市 DeFi 交互指南

自 2019 年 DeFi Summer 开启后,以以太坊为首,出现了越来越多富有创意的去中心化金融协议(DeFi 协议),大大丰富了链上资产的可用性,使区块链用户可以更好地利用链上资产进行更多样的金融活动并为此创造丰厚的收益。但随着越来越多 DeFi 协议的兴起,安全挑战也随之而来。据不完全统计,仅 2023 年一年,因区块链攻击而导致的资产损失已达到 26.1 亿美元。可见,在参与 DeFi 协议的过程中,除了评估对应的收益预期以外,协议安全性方面的评估也不可忽视,否则会给用户带来大的损失。

一般而言,目前对协议安全评估的主流定义为代码的安全性评估,这种定义的维度是比较单一的,这里的问题在于,评估的本身只是考虑了协议在静态过程下的安全性,而在 DeFi 交互过程中,安全性往往是动态的,包含账户管理、协议交互前的准备、交互完成后的资产管理、数据监控及极端情况下资产损失后的自救等多个阶段。

作为一个即将要进入 DeFi 新手村的用户,该如何在赚取收益的同时最大限度地保障资金的安全?Cobo 安全团队梳理了 DeFi 交互中常见的安全风险及对应的安全防范措施,希望可以对大家在牛市中的 DeFi 安全交互有所启发和帮助。

DeFi 交互中的常见安全风险和防范措施

一、账户私钥泄露

账户私钥泄露是目前新手用户较为容易中招的问题之一,由于当前市面上钱包种类繁多,新手用户缺乏自行判别钱包安全性的能力,很多新手用户会下载一些不安全的钱包,并使用其来生成私钥,从而导致私钥被恶意回传到攻击者手中,造成私钥泄露。很多资深用户发现自己的主账号在某一天被转走所有资产,分析大半天发现所有行为都正常,这种案例下大部分情况就是早期该账户使用了不安全的钱包来生成自己的私钥导致私钥早已泄露。

同时,由于区块链空投导致的财富效应,很多新手用户会盲目点击一些所谓的空投网站,这些空投网站将自己包装成非常正经的项目网页,并告诉用户存在大量未领取代币。在利益的驱使下,很多新手用户会在网页的诱导下,填入自己的账户私钥,导致私钥泄露。

为了防止私钥泄露,用户需要做到以下几点来加以防范:

建议选择知名度较高的区块链钱包,并从官方网站下载。对于有条件的用户,推荐使用硬件钱包以提高资产安全性。

永远不要将自己的私钥明文暴露在联网环境中,也不要随意将自己的私钥输入到任何网页当中。

二、签名钓鱼风险

签名钓鱼风险和私钥泄露一样,同样也是新手用户的重灾区。区别于直接让用户填入私钥,此类钓鱼攻击则是诱导用户发起一笔交易或签名,从而获取用户相关资产的授权,具有隐蔽性高、不易分析以及难以察觉等特点。

通常,攻击者会先把用户诱导到钓鱼网页中,以领取空投、验证登录等名义让用户发起签名,此时,用户的浏览器钱包提示用户需要完成签名。

钓鱼交易的类型可能有多种:

直接转账类型。直接转账 ETH 或进行 ERC20 transfer 调用将钱包资产转移到攻击者地址。

Approve 类型。调用 ERC20 Approve 方法授权攻击者钱包。用户签名时不会发生资产转移。但攻击者钱包可通过调用 transferFrom 转移用户资产。

EIP712 消息签名。如 ERC20 Permit 方法;Permit2 授权;NFT 挂单签名等。此类签名通常在钱包中展示为 Json 数据或者格式化较好的树状数据。用户签名时不会发起交易,不会有 gas 消耗。但签名结果会被钓鱼网站记录,攻击者可以使用该签名结果转移受害者的 ERC20 或 NFT 资产。

原始 hash 签名。签名数据为 16 进制 hash 数据,从签名数据本身无法推断具体的签名内容。hash 背后可能是上述 1-3 种类型数据。签名很可能导致资产损失。不过目前主流钱包通常会禁止此种签名方式或者予以明显的风险提示。

最近一些案例中还发现某些钓鱼网站会要求用户连续进行多笔签名,且前几笔均为无害的正常签名。然后混杂一笔恶意签名内容。利用用户的操作惯性诱导用户完成签名操作。

为了防止钓鱼导致的资金损失,核心在于拒绝盲签。对于每笔签名认真审核,对于不确定内容的交易拒绝签名。具体来说,可以在签名过程中注意以下内容:

确认交互网站为 DeFi 项目官网,检查完整域名。

检查合约调用的方法,对于 transfer, approve 方法重点检查。

检查交易附带的 ETH 转账。某些钓鱼网站会尝试构造看起来安全的方法(如 Claim),但实际会在调用时附带 ETH 转账造成 ETH 等链原生代币的损失。

不签名原始 hash 内容。

三、转账地址投毒

转账地址投毒为近来较为新颖的攻击方式,其攻击手法为在用户发起一笔转账(ERC20, native token 等)时,使用与该交易中的接收地址相似的地址,向用户发送一笔金额相同的交易,或金额相同但对应代币为 fake token 的交易。

举例:

Alice 每月会固定转移了 1 ETH 给 Bob 作为薪资发放。Charlie 监控到了这笔交易,用与 Bob 相似的地址(地址前 8 位和后 8 位相同)发送 0.001 ETH 给 Alice。这种操作后,在下次 Alice 再向 Bob 转账的时候,就有可能使用 Charlie 的地址来作为交易的接收地址。会发生这样的情况的原因在于区块链地址长度较长且无规律,用户难以记忆,导致很多时候用户会贪图方便直接从上一次的交易记录中复制地址。由于 Charlie 和 Bob 的地址极为相似,导致 Alice 难以分辨,最终导致资产损失。

为了防止中招转账地址投毒,用户可以采取以下手段进行防范:

每次交易均核对转账地址,且要核对完整内容而不是仅比较前后几字节。

将常用的的地址设置进地址白名单(地址簿)中设置别名,尽量只使用地址簿中的地址进行转账。

避免将从链上渠道(包括区块链浏览器、钱包交易记录等)中复制地址作为转账目标。

四、代币过度授权

代币授权几乎是进行 DeFi 交互的第一步。在进行 DeFi 操作时,由于交易数据是通过项目方网页构造而不是用户构造,在通常情况下,为了方便用户多次交互而不需要重复授权,项目方网页通常会构造一个无限授权的交易让用户签名。其出发点是为用户节省 gas,但是这也为后续资金安全埋下了隐患。假设后续项目代码发生问题,如未授权接口,或任意调用漏洞,用户对合约的无限授权将导致被攻击者利用,导致用户资产被转移。这种攻击场景在跨链桥和 DEX 协议中较为常见。

为了防止后续项目在升级中引入风险代码或项目代码本身存在未发现的漏洞,用户应采用最小授权的原则,尽量仅授权本次交易中使用到的额度,防止后续项目风险导致自己的资产损失。

五、不安全的 DeFi 操作

除了交互前的准备外,在交互过程中同样存在很多容易忽视的风险。这些风险通常源于用户对项目本身的不了解导致。具体的例子为:

在通过链上兑换协议进行代币兑换时滑点设置过大或者编写脚本进行 swap 没有设置最低接收数量(出于编写方便设置为 0),导致交易受到 MEV 机器人的“三明治”攻击。

在通过链上借贷协议进行借贷操作时,没有对仓位健康度进行及时管理,导致大波动行情中仓位被清算。

在与某些项目交互时,没有对项目方凭证进行良好的保管,如把 Uniswap V3 的 NFT 凭证当成是普通 NFT 到 OpenSea 中进行售卖。

为了防范这些风险,用户在进行项目交互时,一定要做好对应的项目调研,明确项目机制和相关特性,防止资产损失。

DeFi 安全交易新范式 -- Cobo Argus

上文介绍了在区块链进行 DeFi 活动常见的交互风险。用户不小心中招其中一个,都有可能导致多年的努力全盘皆失,稍有不慎万劫不复。那么,是否存在一个安全有效,又便于管理的风控方案呢?一个新的选择方案是 Cobo Argus。

Cobo Argus 是一款由 Cobo 团队进行开发,基于 Gnosis Safe 进行构建的链上风控产品。主要的作用在于可以通过构建不同的 ACL 策略,对用户交易进行解析,对其中不符合风控规则的交易进行拦截,从而确保用户资金安全。

Cobo Argus 如何应对 DeFi 环境中的安全风险?

1. 底层多签钱包,上层单签授权:避免私钥泄露单点风险,减缓被钓鱼风险,同时保证操作效率

Cobo Argus 是一个基于 Safe {Wallet} 的多签钱包构建的产品,其基础和核心为多签合约钱包。所以 Cobo Argus 天然继承了 Safe {Wallet} 多签钱包的安全性。

通过把资金从单个私钥管理变成多个私钥共同维护,可以杜绝由单个私钥泄露带来的资产丢失/锁定风险。多签钱包本身需要多个签名来触发交易的执行,单个地址私钥的泄露也不会影响总体资金的安全。另外可以发起多签交易来替换丢失或有风险的单签地址,保证多签钱包的安全性。

另外由于从单签地址切换到了多签地址后,在交易签名时,需要每个用户对一笔交易进行签名,有利于交叉审计交易内容,从而大大降低了被钓鱼的可能性。

多签由于需要多人审核,对操作效率有一定影响。Cobo Argus 允许用户配置灵活的授权规则,允许将某些风险较低的高频操作(如进行 Farming 时定期 Claim 收益的操作)授权给某个 EOA 地址。该地址可以代替多签钱包发起操作,提高工作效率。同时由于该地址权限被严格限制,钱包整体的安全性不会受到明显影响。

2. 自定义机器人:7*24 小时自动风险监测与响应

通过配置 Cobo Argus 监控机器人,可以自定义需要监控的条件和触发条件需要执行的操作。

以借贷项目的杠杆管理为例,用户可以通过配置 Argus 机器人监控自己的 health factor,当仓位接近清算时,可以由机器人进行补充抵押物、还款等降低杠杆的操作。

3. 自定义的 ACL 策略

除了自定义监控机器人以外,有一定开发能力的用户,还可以通过开发自定义的 ACL(Access Control List)合约来实现更加灵活的权限管理。这是 Cobo Argus 的核心功能之一。下面通过若干例子来感受该功能的魅力所在:

针对地址投毒攻击,可以通过编写 ACL 合约,用户可以在 ACL 合约中指定常用的地址作为白名单,在交易过程中,ACL 合约会对交易中的接收地址进行解析(ERC20 / native token),并对用户设置的白名单地址进行比对,如果接收地址不在对应的地址内,则该笔交易无法成功完成。

针对过度授权问题,用户可以通过编写 ACL 策略合约对 Approve 交易中的授权额度进行解析,限制代币的 Approve 授权额度不超过用户预设值。或1可通过配置自定义机器人,定期对相关代币的授权清零。

针对不安全的 DeFi 操作,如无滑点检查的 swap 交易,可以通过编写 Argus ACL 策略合约,设定兑换交易可接受的最低滑点,在设置完成后,ACL 策略合约便可根据设定的滑点对不同的 swap 交易进行解析,如果兑换滑点不满足,则可以对该笔交易进行拦截。

总结

DeFi 交互中存在很多难以防范的风险,文中提到的内容虽然涉及了很多常见场景,但也不能完全覆盖所有风险点。用户需要认真处理每一笔交易。

Cobo Argus 可以为用户提供可靠且易于配置的手段来防范常见的一些安全风险。通过 ACL 可以完成灵活且安全的授权管理,在保证安全性的前提下,提高操作效率;自定义机器人则可以减少人工操作,同时实时监控的能力可以 7*24 小时保障用户资金安全。

DeFi 固然可以带给用户可观的收益,但是资金安全才是资产稳步增长的核心。Cobo Argus 将守护每位 DeFi Farmer,帮助大家在牛市创造更多价值。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
json数据格式
json数据格式

JSON是一种轻量级的数据交换格式。本专题为大家带来json数据格式相关文章,帮助大家解决问题。

418

2023.08.07

json是什么
json是什么

JSON是一种轻量级的数据交换格式,具有简洁、易读、跨平台和语言的特点,JSON数据是通过键值对的方式进行组织,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象或者null,在Web开发、数据交换和配置文件等方面得到广泛应用。本专题为大家提供json相关的文章、下载、课程内容,供大家免费下载体验。

535

2023.08.23

jquery怎么操作json
jquery怎么操作json

操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

311

2023.10.13

go语言处理json数据方法
go语言处理json数据方法

本专题整合了go语言中处理json数据方法,阅读专题下面的文章了解更多详细内容。

76

2025.09.10

登录token无效
登录token无效

登录token无效解决方法:1、检查token的有效期限,如果token已经过期,需要重新获取一个新的token;2、检查token的签名,如果签名不正确,需要重新获取一个新的token;3、检查密钥的正确性,如果密钥不正确,需要重新获取一个新的token;4、使用HTTPS协议传输token,建议使用HTTPS协议进行传输 ;5、使用双因素认证,双因素认证可以提高账户的安全性。

6137

2023.09.14

登录token无效怎么办
登录token无效怎么办

登录token无效的解决办法有检查Token是否过期、检查Token是否正确、检查Token是否被篡改、检查Token是否与用户匹配、清除缓存或Cookie、检查网络连接和服务器状态、重新登录或请求新的Token、联系技术支持或开发人员等。本专题为大家提供token相关的文章、下载、课程内容,供大家免费下载体验。

816

2023.09.14

token怎么获取
token怎么获取

获取token值的方法:1、小程序调用“wx.login()”获取 临时登录凭证code,并回传到开发者服务器;2、开发者服务器以code换取,用户唯一标识openid和会话密钥“session_key”。想了解更详细的内容,可以阅读本专题下面的文章。

1064

2023.12.21

token什么意思
token什么意思

token是一种用于表示用户权限、记录交易信息、支付虚拟货币的数字货币。可以用来在特定的网络上进行交易,用来购买或出售特定的虚拟货币,也可以用来支付特定的服务费用。想了解更多token什么意思的相关内容可以访问本专题下面的文章。

1313

2024.03.01

拼多多赚钱的5种方法 拼多多赚钱的5种方法
拼多多赚钱的5种方法 拼多多赚钱的5种方法

在拼多多上赚钱主要可以通过无货源模式一件代发、精细化运营特色店铺、参与官方高流量活动、利用拼团机制社交裂变,以及成为多多进宝推广员这5种方法实现。核心策略在于通过低成本、高效率的供应链管理与营销,利用平台社交电商红利实现盈利。

31

2026.01.26

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
最新Python教程 从入门到精通
最新Python教程 从入门到精通

共4课时 | 22.2万人学习

Node.js 教程
Node.js 教程

共57课时 | 9.4万人学习

CSS3 教程
CSS3 教程

共18课时 | 4.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号