avatar
Articles
114
Tags
11
Categories
0

Home
Archives
Tags
About
何方圜的博客
Home
Archives
Tags
About

何方圜的博客

Vesting 安全
Created2026-02-25
VET-01: Vesting 时间结构是否存在逻辑一致性问题? 描述:Vesting 结构依赖 start、cliff、duration、end 等时间变量计算释放曲线,若这些参数之间缺乏严格的数学约束,可能导致释放逻辑出现结构性错误,例如提前释放、永久锁仓或瞬时全部释放。在支持多阶段释放、参数可修改或批量创建 Vesting 的架构中,时间区间错配更容易发生,并可能影响所有受益人资金安全。此外,若未防止 end 计算溢出或时间倒退,也可能导致释放比例异常。 建议:在初始化和任何时间参数变更时必须进行完整一致性校验,确保 cliff 不早于 start、duration 大于零、end 严格等于 start 加 duration,并防止溢出。建议将时间计算逻辑集中在单一内部函数中统一处理,避免多处分叉计算造成逻辑不一致。 VET-02: 释放计算是否存在精度损失或尾差锁定风险? 描述:线性 Vesting 通常采用整数比例计算已归属数量,而 Solidity 的整数除法会向下取整,可能导致最后阶段存在微量余额无法释放的情况。若未在释放结束时进行兜底处理,可能产生永久锁仓 ...
Liquidation 安全
Created2026-02-25
LIQ-01: 清算机制在极端行情下是否仍然有效? 描述:在快速下跌或剧烈波动行情中,如果清算逻辑执行效率不足、Gas 消耗过高、价格更新滞后或存在批量处理限制,可能导致抵押品价值迅速低于债务但系统未能及时清算,从而产生坏账并放大平台系统性风险。极端行情往往暴露清算路径的性能瓶颈与价格依赖问题。 建议:对极端市场条件进行压力测试与仿真分析,确保在高波动、高拥堵环境下清算机制仍可顺利执行,同时优化 Gas 结构与价格更新逻辑以提高鲁棒性。 LIQ-02: 抵押不足或违约时是否可以强制清算? 描述:若系统在抵押率低于阈值或贷款逾期时无法触发清算,或存在逻辑路径使某些头寸无法被清算,将直接威胁出借人资金安全。清算条件若存在计算错误或权限限制,也可能导致部分违约仓位长期存在。 建议:确保在抵押不足或贷款违约的任何情况下均可触发清算,并验证清算条件判断逻辑不存在绕过路径或边界异常。 LIQ-03: 是否存在自清算套利空间? 描述:若协议允许用户主动触发自身清算,且清算奖励结构设计不合理,用户可能通过构造仓位故意触发清算从中获利。这类“自清算套利”会削弱系统激励平衡,并可能 ...
Crosschain 安全
Created2026-02-25
CC-01: 是否正确验证跨链消息来源(Message Authentication)? 描述:跨链消息若未严格校验 sourceChainId、sourceAddress 或签名验证逻辑,攻击者可能伪造消息,从目标链释放资产或执行 mint。 建议:合约应严格校验跨链消息的来源链 ID 与可信桥接合约地址,禁止仅依赖 msg.sender 进行判断。签名验证逻辑应采用标准化域分离机制(如 EIP-712),并确保签名数据中包含链 ID、目标合约地址及 nonce 等关键信息,从根本上避免伪造消息执行的风险。 CC-02: 是否防范 Replay Attack(重放攻击)? 描述:若跨链 payload 未记录 nonce 或 message hash,攻击者可重复提交同一跨链消息,多次提款。 建议:系统应为每条跨链消息设置唯一 nonce,并按链维度进行隔离管理。消息执行后必须立即将其标记为已处理,防止重复调用。同时建议使用 message hash 映射进行状态记录,并确保 nonce 单调递增且不可复用。 CC-03: 是否防范 Liquidity Imbalanc ...
Uniswap v4
Created2025-12-15
Uniswap v4引言0.1 DeFi 的三次范式跃迁在理解 Uniswap v4 之前,我们必须先理解 DeFi 到底经历了什么变化。DeFi(去中心化金融)从最初的简单借贷和交易,到如今的复杂金融基础设施,其演进反映了区块链技术的成熟和用户需求的增长。 阶段 代表 本质 DeFi 1.0 Uniswap v1 / MakerDAO 单一金融产品 DeFi 2.0 Uniswap v3 / Aave v3 高效但刚性的金融协议 DeFi 3.0 Uniswap v4 金融基础设施 / 可编程内核 DeFi 1.0 时代,协议专注于解决特定问题,如 Uniswap v1 的代币交换或 MakerDAO 的稳定币借贷。这些产品虽然开创性,但功能单一,无法扩展到更复杂的金融场景。 DeFi 2.0 引入了效率提升,如 Uniswap v3 的集中流动性,允许 LP 在特定价格区间提供流动性,减少了资本浪费。然而,这些协议仍然高度刚性,所有逻辑都硬编码在合约中,难以适应市场变化或添加新功能。 现在,DeFi 3.0 以 Uniswap ...
MOVE漏洞总结
Created2025-08-29
Move 语言智能合约安全:10 个经典漏洞深度剖析Move 是一种专为资产安全和可信赖性而设计的编程语言,它的核心理念是通过其独特的**资源类型系统(Resource Type System)**来从根本上防止资产被复制、意外销毁或丢失。它在编译时强制执行这些规则,从而在很大程度上避免了许多传统区块链语言中常见的致命漏洞,比如代币重复发行或意外丢失。 然而,尽管 Move 提供了强大的安全保障,但合约的安全性最终还是取决于开发者的设计和实现。不正确的逻辑、对 Move 特性的误解或编程上的疏忽,仍然可能引入严重的漏洞。 本文件将对 Move 智能合约中 10 个常见且潜在的漏洞类型进行深度剖析,旨在帮助开发者更好地理解语言陷阱,并编写出更健壮、更安全的合约。 1. 资产权限管理不当 (Improper Capability Management)核心原理: 在 Move 中,能力 (Capability) 是一种特殊的资源类型,它代表了对特定操作的权限。这是一种强大的访问控制机制,例如,一个 AdminCap 资源可以授予持有者调用管理函数的权限。这种模式比依赖于硬编码的地址更安 ...
move 学习
Created2025-07-28
move: 单个程序被组织成一个包包:Move.toml和源文件Move.toml: 关于包的元数据源文件:模块的源代码move语言中的,模块下的成员都是私有的 在开发过程包没有地址,需要将其设置为0x0 sui的地址是32字节 账户是有私钥生成,并且又地址标识的,账户可以拥有对象,并且可以发送交易,每一笔交易有一个发件人,并且发件人由地址标识 基础模块move中的模块的所有成员都是模块的私有成员 用 module关键字后跟包地址,模块名称,分号和模块的主体. 模块是定义类型的核心程序单元。 基础语法: module <address>::<identifier> { (<use> | <type> | <function> | <constant>)*} 注释行注释: // 即被编译器忽略的 阻止注释:/* 开头,结尾 */ ,注释多行,块注释,注释调代码块 文档注释:用于为伪代码生成文档的特殊注释。/// 基本 ...
Notional Exponent 审计
Created2025-07-28
Notional Exponent审计报告迁移pool池的功能,把迁移数设置为了不可变量当 Convex 的某个奖励池被废弃(例如旧的 pid 失效),并为同一个LP token分配了新的 pid 时,升级管理员可以执行“迁移”操作,将流动性从旧 pid 提取,再存入新的 pid。 但是,策略合约中记录的 pid 是不可变(immutable)的。这意味着策略合约本身仍会引用旧的 pid 和旧的奖励池(即旧的 yieldToken),即使底层资产已经迁移到了新的奖励池。结果是:策略的内部状态与 Convex 实际奖励池状态不一致,功能失效。 迁移资金时,没有注意还有其他的资金在另外一个地方 这个要根据分析迁移时的资金转移来看,必须得深入每一个调用链的关系.分析资金的走向 AbstractRewardManager::migrateRewardPool 函数允许管理员将当前奖励池迁移至一个新的奖励池。 在迁移过程中,合约会尝试先领取旧奖励池的奖励,然后再将资产转入新奖励池。但在调用链深入分析后发现,这个流程 忽略了 Convex 中“奖励暂存合约(stash)”中的奖励领取机制,导致部 ...
GMX协议遭受重入攻击损失4200万美美金
Created2025-07-11
背景在2025年7月9号,也就是前不久,GMX协议在Arbitrum上遭黑客攻击,攻击的主要问题集中在 重入+share price 操控 常见的攻击模式:在 deposit/mint 中重入,通过再次 deposit或者 donate 的形式,操控 share price 导致 withdraw/redeem 的时候 share 价格相对于 deposit/mint 过程发生变化。从而实现立马获取收益 在这个合约中,并不是这样简单的重入(如果这样,早就被盗窃完了),仔细看代码,其实是 GMX 协议本身依赖外部合约进行重入保护,但是外部合约对用户地址存在 callback,且没有使用安全的callback 形式,导致用户绕过了外部的重入开关后,直接对 share price 价格进行操控。从而获利。
关于OPE
Created2025-06-19
OPE 讴谱讴谱目标:O-P-EO: Optimization-优化 优化一个新体系p: Purification-净化 除去恶方面E: Evolution-进化 提升和扩大体系功能 五共思想共识:学区块链的第一步就是了解比特币以太坊,比特币的共识是POW,由于少数人可以控制节点权力,到以太坊所使用的共识就改进为POS,而我现在正在研究Solana的底层协议,它又是采用POH共识,通过历史时间证明,加快了交易的执行,是性能的优化。所以共识就是在不断发展,不断优化,符合大部分人的利益所认同的所接受的。OPE中提供就是按贡献分配这个共识,我就觉得有点和比特币POW有点相似,你做有效事的越多,你就收获的越多。 共创:打破垄断,一起创作,合作。在OPE世界中,是优缺互补,一起发挥各自的价值做好一件事 共生:我感觉就是没有竞争,互惠共利,比如现在的外卖大战,以前的购物平台纷纷宣布投入外卖市场,各家都拿出最大的优惠来竞争,如果各家都能拿出自己的资源,共同友好发展,就能实现利益最大化,不就是达到了一个共生的理念。 共治:现在社会都是上级传达命令,我们需要去服从命令,在OPE中的逻辑强调的事议定和 ...
sherlock-S-locker System
Created2025-06-17
sherlock-S-locker System升级合同,常量发生改变现有正式合约中的 DOWNSCALER 为 1e16,而提议升级的合约中 DOWNSCALER 为 1e18,两者不一致,导致以下影响: 升级合约后新加入的质押者,在 lockedStakedBalance 相同的情况下,所获得的单位数(units)明显少于老质押者,分配收益时不公平。 升级合约后,如果已有质押者追加较少(少于100倍)的质押金额,其单位数反而会减少,获得的税收分成变少。 质押者可能会提前操作,在合约升级前抢先质押,以获得更多单位数并获取更大的税收分成。 抢跑攻击,在知晓分配收益时,扩大自己的份额,获取更多的收益在解锁获得惩罚金时,攻击者提前知道,然后通过提供流动性或者质押金额,去分配获益 某个用户准备进行立即解锁(instant unlock)。 恶意的 Locker 拥有者在此之前增加自己的流动性或质押额度。 _instantUnlock 被调用,惩罚金被分配给当前的 LP 和质押者。 恶意 Locker 拥有者因持有单位(units)而获得部分惩罚金收益。 获取收益后,立即撤 ...
12…12
avatar
何方圜
夫孰异道而相安
Articles
114
Tags
11
Categories
0
Follow Me
Announcement
CTF的更新
Recent Post
Vesting 安全2026-02-25
Liquidation 安全2026-02-25
Crosschain 安全2026-02-25
Uniswap v42025-12-15
MOVE漏洞总结2025-08-29
Tags
攻击事件分析 课程学习 基础知识 CTF 协议 链接 Solana 基本知识 审计报告 test 题解
Archives
  • 二月 20263
  • 十二月 20251
  • 八月 20251
  • 七月 20253
  • 六月 20257
  • 五月 20252
  • 四月 20252
  • 三月 20252
Info
Article :
114
UV :
PV :
Last Update :
©2020 - 2026 By 何方圜
Framework Hexo|Theme Butterfly