当前位置:网站首页>Analysis: What makes the Nomad Bridge hack unique
Analysis: What makes the Nomad Bridge hack unique
2022-08-04 00:32:00 【chinadefi】
Analysis: What makes the Nomad Bridge hack unique

August 1, 2022, $190 million was siphoned from various assets of the Nomad Bridge.What's special about this breach is that it's the first hacking attack involving the active participation of the general public.
The Nomad Bridge hack was originally planned by a single person, but soon regular users were able to spot the bug that the original hacker exploited and exploit it by simply using Ctrl+C, Ctrl+V.
This article will delve into how this attack was made possible in the first place.
What is Nomad?
Nomad is a cross-chain bridge that allows users to transfer crypto assets between chains, but the transfer never actually happens.Nomad runs multiple smart contracts that burn assets on the original chain and mint assets on the new chain.This is why when we utilize cross-chain transfer of assets, we will have wETH instead of ETH.Wrapped Ether is a mirrored version of Ether that is compatible with other chains.
Analysis of the Nomad Hacker

The hack happened the day before yesterday, and the attackers discovered and started exploiting a weakness.People quickly figured out what was being exploited and started copy-pasting exploits to suck assets from the Nomad bridge themselves.This effectively emptied Nomad's wallet - from $190 million to $700 in a matter of hours.

This unprecedented opportunistic attack is possible because it is so easy to replicate.To replicate the hacker, all we have to do is copy the hacker's transaction call data and replace the original address with our own.
What made the hack happen in the first place?
The vulnerability is caused by a bug in the nomad smart contract file Replica.sol.Furthermore, according to the audit report in the Nomad GitHub repository, this particular weakness has actually been flagged by the audit team and acknowledged by the team.
More specifically, the problem stems from the following process() function, on line 192 of the Replica.sol file:
require(acceptableRoot(messages[_messageHash]), "!proven");This line by itself is not inherently wrong, as it generally ensures that the request comes from a root that the smart contract considers acceptable.
require() is a built-in Solidity function that ensures that only authorized addresses can perform operations on a specific smart contract.Unfortunately, 41 days ago, the team made a mistake during the start of the contract merkle root, adding 0x00 as an acceptable root.This means that everyone's wallet address is an acceptable root for this contract and can successfully call various functions of the contract.
A poor merkle root initialization is the root cause of this problem.Once the vulnerability was discovered, it was very easy to replicate and people started siphoning money from Nomad.Some promised to return the money.
Source: https://cryptomaton.medium.com/the-great-nomad-bridge-hack-inside-the-first-decentralised-crowd-looting-event-98af2c5444f8
About
ChinaDeFi - ChinaDeFi.com is a research-driven DeFi innovation organization, and we are also a blockchain development team.Every day, from nearly 900 pieces of content from more than 500 high-quality information sources around the world, we look for more in-depth thinking and more systematic content, and synchronize to the Chinese market at the fastest speed to provide decision-making auxiliary materials.
Layer 2 Daoist - Blockchain technology enthusiasts and research analysts who are interested in Layer 2 are welcome to contact Gavin (WeChat: chinadefi) to discuss the landing opportunities brought by Layer 2.Stay tuned to our WeChat official account "Decentralized Finance Community".

边栏推荐
- 使用unbound在RHEL7上搭建DNS服务
- 卡尔曼滤波器KF
- 分析:Nomad Bridge黑客攻击的独特之处
- Go编译原理系列7(Go源码调试)
- 【杂项】如何将指定字体装入电脑然后能在Office软件里使用该字体?
- [Miscellaneous] How to install the specified font into the computer and then use the font in the Office software?
- 利用matlab求解线性优化问题【基于matlab的动力学模型学习笔记_11】
- 一文搞定 SQL Server 执行计划
- 600MHz频段来了,它会是新的黄金频段吗?
- Nanoprobes丨Nanogold-抗体和链霉亲和素偶联物
猜你喜欢

微服务的简单介绍

YOLOv7改进之二十二:涨点神器——引入递归门控卷积(gnConv)

2021年数据泄露成本报告解读

因为一次bug的教训,我决定手撕Nacos源码(先撕客户端源码)

全面讲解 Handler机制原理解析 (小白必看)

Read FastDFS in one article

如何通过单步调试的方式找到引起 Fiori Launchpad 路由错误的原因试读版
![2022-08-03:以下go语言代码输出什么?A:2;B:3;C:1;D:0。 package main import “fmt“ func main() { slice := []i](/img/a9/6de3c2bae92d09b13b1c36e01f86c2.png)
2022-08-03:以下go语言代码输出什么?A:2;B:3;C:1;D:0。 package main import “fmt“ func main() { slice := []i

【面经】被虐了之后,我翻烂了equals源码,总结如下

咱们500万条数据测试一下,如何合理使用索引加速?
随机推荐
【性能优化】MySQL性能优化之存储引擎调优
并查集详解
分析:Nomad Bridge黑客攻击的独特之处
nodeJs--async/await
Nanoprobes Alexa Fluor 488 FluoroNanogold 偶联物
RSS订阅微信公众号初探-feed43
Justin Sun was invited to attend the 36氪 Yuan Universe Summit and delivered a keynote speech
ML18-自然语言处理
Justin Sun: Web3.0 and the Metaverse will assist mankind to enter the online world more comprehensively
corn表达式 具体详解与案例
BGP实验(含MPLS)
fsdbDump用法
vscode插件设置——Golang开发环境配置
使用unbound在RHEL7上搭建DNS服务
The Beijing E-sports Metaverse Forum was successfully held
2023年第六届亚太应用数学与统计学国际会议(AMS 2023)
数据库扩容也可以如此丝滑,MySQL千亿级数据生产环境扩容实战
新一代服务网关Gateway的实践笔记
Node.js的基本使用(三)数据库与身份认证
c语言分层理解(c语言指针(上))