📢 Gate广场独家活动: #PUBLIC创作大赛# 正式开启!
参与 Gate Launchpool 第 297 期 — PublicAI (PUBLIC),并在 Gate广场发布你的原创内容,即有机会瓜分 4,000 枚 $PUBLIC 奖励池!
🎨 活动时间
2025年8月18日 10:00 – 2025年8月22日 16:00 (UTC)
📌 参与方式
在 Gate广场发布与 PublicAI (PUBLIC) 或当前 Launchpool 活动相关的原创内容
内容需不少于 100 字(可为分析、教程、创意图文、测评等)
添加话题: #PUBLIC创作大赛#
帖子需附带 Launchpool 参与截图(如质押记录、领取页面等)
🏆 奖励设置(总计 4,000 枚 $PUBLIC)
🥇 一等奖(1名):1,500 $PUBLIC
🥈 二等奖(3名):每人 500 $PUBLIC
🥉 三等奖(5名):每人 200 $PUBLIC
📋 评选标准
内容质量(相关性、清晰度、创意性)
互动热度(点赞、评论)
含有 Launchpool 参与截图的帖子将优先考虑
📄 注意事项
所有内容须为原创,严禁抄袭或虚假互动
获奖用户需完成 Gate广场实名认证
Gate 保留本次活动的最终解释权
Jarvis Network遭闪电贷重入攻击 损失66.3万MATIC
Jarvis Network项目遭受闪电贷重入攻击分析
2023年1月15日,Jarvis_Network项目在Polygon网络上遭遇攻击,造成约66.3万MATIC的损失。分析显示,攻击者利用了闪电贷和重入漏洞进行攻击。
攻击交易调用栈分析显示,在重入过程中,对同一合约的同一函数调用时,传入参数相同但返回值却有显著差异。重入前后的返回值分别为:
重入发生在remove_liquidity函数中。该函数在移除流动性时会将用户添加的代币返回。由于Polygon与EVM兼容,在MATIC转账给合约时触发了重入。
深入分析发现,问题出在getUnderlyingPrice函数的实现上。该函数涉及到一系列内部计算和外部调用,其中关键是get_virtual_price函数的返回值。这个函数的返回值受self.D变量影响,而self.D的更新发生在代币转账之后。
攻击者在移除流动性时,MATIC转移到攻击合约后,通过回调先查询了代币价格。由于self.D尚未更新,导致价格获取错误。攻击者利用这个时间差,在重入时将借贷价格提高了约10倍。
虽然remove_liquidity函数使用了@nonreentrant('lock')装饰器来防止重入,但攻击者通过跨合约重入绕过了这一保护机制。
这次攻击暴露了几个关键问题:
为防止类似攻击,建议项目方:
通过这些措施,可以显著提高项目的安全性和稳定性。