BlockThreat - Week 8, 2025

Bybit | Infini | Cardex | BADAI | StepHeroNFTs | Hegic | DeFiAuctions | Bolt

BlockThreat - Week 8, 2025

Greetings!

This was the worst week for the ecosystem in years. During my recent State of DeFi Security talk, I highlighted OPSEC as the key risk we need to focus on as an industry to avoid a billion dollar hack. Unfortunately, that prediction has now become reality.

A malicious upgrade of a cold storage contract, signed by a Safe multisig wallet, led to the theft of almost $1.5B worth of ETH and similar assets from Bybit. As we later learned, the attackers were none other than North Korea. Initially, many blamed Bybit for blindly signing a malicious transaction. However, a deeper investigation revealed that the kill chain started on the DeFi side—with a compromised Safe front-end that tricked Bybit’s cold storage operators into signing away their funds.

Below is a detailed timeline, compiled from Safe’s and Bybit’s post-mortems as well as my own notes:

Stage 1: Safe Compromise

2025-02-02 01:50:18
- Safe: Attacker starts preparing their infra by registering a domain used for the phishing attack. getstockprice[.]com on Namecheap.
2025-02-04 08:55:45 - Safe: Safe Wallet’s developer is compromised with a fake trading software (MC-Based-Stock-Invest-Simulator-main).
2025-02-05 08:36:51 - Safe: Attacker is in Safe’s AWS environment.
2025-02-05 14:06:25 - Safe: Unsuccessful attempt to register attacker’s MFA device.
2025-02-05 - 2025-02-17 - Safe: Reconnaissance in AWS environment.
2025-02-17 03:22:44 - Safe: Attacker C2 activity in AWS environment.

Stage 2: Bybit Prep

2025-02-18 15:39:11
- Bybit: Attacker deployed 0x9622 contract with a transfer function which sneakily performs an upgrade.
2025-02-18 18:00:35 - Bybit: Attacker deployed 0xbdd0 contract with has the actual draining functionality.
2025-02-18 18:31:23 - Bybit: Attackers start testing their 0x9622 contract to perform the upgrade. They will repeat this process another 7 times over the next few days.
2025-02-19 15:29:25 - Safe: Malicious JS inserted into Safe’s frontend targeting Bybit.
2025-02-20 12:32:35 - Bybit: Last testing of the exploit contracts before the hack begins.

Stage 3: The Heist

2025-02-21 05:42:40-14:11:40
- Bybit: Three cold storage signers navigated to Safe’s website and signed a benign looking transaction (transfer 30K ETH). However, they instead signed a transaction that executes 0x9622 which in turn upgrades the cold storage vault to 0xbdd0.
2025-02-21 14:13:35 - Bybit: Attackers broadcast a new transaction to Bybit’s safe which perform the upgrade using the previously signed transaction. The cold storage vault is now ready to be drained.
2025-02-21 14:15:11 - Bybit: Test draining of 90 USDT.
2025-02-21 14:15:13 - Safe: Malicious JS removed from Safe’s frontend.
2025-02-21 14:16:11 - Bybit: heist begins which the entire ETH cold storage vault drained including stETH, cmETH, and mETH tokens.

It is especially useful to view the above timeline in the context of at least two teams targeting both Safe and Bybit in parallel. So let’s review some observations:

  • Dwell time in Safe’s environment was about two weeks (02/04 - 02/18) before they decided on which target to compromise.
  • It took just a few days to set up both on- and offchain infrastructure to target Bybit (02/18 - 02/21). Contracts were generic and did not expose their target.
  • Neither of the signers caught the malicious transfer contract, transaction parameters or other parameters in the 11 hour window before the final signature.
  • Bybit had less than 3 minutes to react to the upgrade before funds were drained.
  • Attackers were paranoid about testing and retesting the exploit for days before the heist. They performed a test draining transaction to make sure it worked and were careful enough to hide the Safe fontend hack immediately after.
  • It’s not clear if Bybit was the target all along. It may have been chosen during the reconnaissance window 02/05 - 02/17. They knew that once the news of the hack started going around other projects may be more careful so they picked the largest Safe wallet. Anyone could have been targeted with the same exploit!

The last point is critical. The hack exploited the trust assumption that many projects, exchanges, individuals put on Safe’s front-end that it wouldn’t present them with a malicious transaction to sign. However, many projects implement controls to simulate transactions, verify signing hashes, etc. that could have caught this. Was it a coincidence that signers managing a $1.5B wallet missed this?

What is clear is that even with the record $1.5B loss we got off lightly. According to Safe’s website their wallet is used by “Vitalik Buterin and leading web3 projects to secure over $100 billion”. It’s a bitter pill to swallow, but at least attackers pulled off just one mega heist instead of killing the whole industry. So the best we can do now is take as many pointers as we can from this very expensive lesson:

  • The initial attack vector was the familiar phishing attack. One of Safe’s devs installed a stock simulation app with malware in it. The use of MFA on AWS was not helpful since attackers simply hijacked existing session tokens.

    Use dedicated machines for administrative functions separate for dev work, social media, job interviews, and most certainly random stock trading apps.

    I know you are being safe, do annual phishing training, have an antivirus installed and work in a Faraday’s cage. Just buy a $200 Chromebook.
  • The compromised developer had admin privileges into Safe’s AWS environment which allowed bad actors to directly modify front-end S3 bucket and bypass normal code review/deployment workflows. Malicious front-end script was in the environment for two days prior to exploitation.
    This is a tricky attack vector to solve which requires multiple security layers. Deployments should be fully automated without the ability to bypass the code review process. Out of band modifications, suspicious access, or authorization errors should wake people up to investigate.
  • The attack exploited a trust assumption by Bybit that Safe’s front-end is not compromised which led them to sign a malicious transaction.

    Threat modeling is essential. Put on your paranoid hat and spend some time diagraming your internal and external systems both on- and offchain. What trust assumptions do you make? How bad can things go if one of the systems gets compromised? Who are the threat actors that you should be worried about and what are their tactics?

    Luckily our community is awesome so you will find many solutions for the malicious multisig proposal scenario in the Tools section below.
  • The Bybit multisig executed a malicious transaction against an unknown malicious contract with a very dangerous delegatecall method. Attackers sneaked in a backdoored transfer call to execute an upgrade, but that required the vault to execute a malicious contract.Critical governance and multisig contracts must have not only a sufficiently decentralized and large quorum but additional controls such as execution delays aka timelocks with a guardian role that can at any moment cancel the action if deemed malicious.

    Such critical contracts must also be restricted to the types of transactions, contracts they can interact with, and calls they can make with them.

There is a lot more, of course, but if you focus on these four, you will be in much stronger shape against this threat actor, who thrives on mixed on- and off-chain exploits involving social engineering, private keys and signatures.

On a more positive note, we witnessed what many called a masterclass in crisis communication from Bybit and Safe. The community learned about all developments in real time, with no attempts to hide or whitewash the impact. SEAL Team, ZachXBT, and many other security researchers immediately began tracking attacker funds and freezing millions, thanks to their efforts. On a higher level, Bybit quickly worked with its partners to secure loans and prevent an FTX-style bank run.

I will never stop being in awe of not only our mission but also the raw talent and dedication of so many people in this industry. It’s an honor to witness it all.

Let’s dive into the news!

To gain access to comprehensive vulnerability write-ups, post-mortems, exploit proof of concepts (PoCs), attacker addresses, and additional data regarding this week’s compromises, please subscribe to the premium plan below.

Let’s dive into the news!

News

Crime

Policy

Phishing

Scams

Malware

Media

Research

Tools

Hacks

DeFiAuctions

Date: February 18, 2025
Attack Vector: Insufficient Function Access Control
Impact: $26,000
Chain: BSC

References:

https://x.com/TikkalaResearch/status/1892415435901194598

Exploit:

https://bscscan.com/tx/0xfd5b243c3169386af9998af17af36b41051a71b3397d8c40a559f1ad04b562bf

Bolt

Date: February 18, 2025
Attack Vector: Price Oracle Manipulation
Impact: $14,700
Chain: BSC

References:

https://x.com/TenArmorAlert/status/1891862861791560108

https://x.com/0xNickLFranklin/status/1892099829410467984

https://nickfranklin.site/2025/02/19/bolt-token-hacked/

https://x.com/SlowMist_Team/status/1892037794727367011

Exploit:

https://bscscan.com/tx/0x8d1ed893295fb881d3f38e41c5f0857fc409069faac59f22a7e4251b002a9ed0

Cardex

Date: February 18, 2025
Attack Vector: Stolen Private Keys
Impact: $400,000
Chain: Abstract

References:

https://x.com/quillaudits_ai/status/1891842619430535426

https://x.com/AbstractChain/status/1891928658341753039

https://x.com/0xCygaar/status/1891948692204368122

Exploit:

BADAI

Date: February 20, 2025
Attack Vector: Insufficient Function Access Control
Impact: $200,000
Chain: BSC

References:

https://x.com/TenArmorAlert/status/1892582578722406634

https://x.com/GraFunLabs/status/1892735831414030751

https://x.com/snfernandez/status/1892783198834184687

Exploit:

https://bscscan.com/tx/0x2e0f235300597d7fb407b94b5f2c6d654ecbbc51103b9d8623aa947e1c211efd

StepHeroNFTs

Date: February 21, 2025
Attack Vector: Reentrancy
Impact: $90,000
Chain: BSC

References:

https://x.com/Phalcon_xyz/status/1892814198910177573

https://x.com/SlowMist_Team/status/1892822286715277344

https://x.com/TikkalaResearch/status/1893050282658902389https://x.com/0xNickLFranklin/status/1892823736715248088

https://nickfranklin.site/2025/02/21/stepheronfts-attacked/

Exploit:

https://bscscan.com/tx/0xef386a69ca6a147c374258a1bf40221b0b6bd9bc449a7016dbe5240644581877

Bybit, Gnosis Safe Wallet, Mantle, mETH Protocol

Date: February 21, 2025
Attack Vector:
Impact:
$1,430,000,000 (Recovered $43,000,000)
Chain: Ethereum

For up to date indicators see LazarusBounty.

References:

https://x.com/Bybit_Official/status/1892965292931702929

https://x.com/SlowMist_Team/status/1892976621491232919

https://x.com/dhkleung/status/1893073663391604753

Incident Response:

https://x.com/casatay/status/1893042590246904088

Safe:

https://x.com/safe/status/1894768522720350673

https://docsend.com/view/rmdi832mpt8u93s7/d/xc2rkprqm799pymq

https://docsend.com/view/rmdi832mpt8u93s7/d/rwecw3rumhqtgs6a

https://slowmist.medium.com/bybits-1-5-billion-theft-unveiled-safe-wallet-front-end-code-tampered-84b78f0fa9c2

https://x.com/safe/status/1897663514975649938

Attribution:

https://x.com/arkham/status/1893033424224411885

https://x.com/zachxbt/status/1893211577836302365

https://www.ic3.gov/PSA/2025/PSA250226

https://x.com/tayvano_/status/1895581919741689930

Analysis:

https://x.com/pcaversaccio/status/1892976342649466916

https://x.com/R4ZN1V/status/1893432127913603073

https://x.com/dhkleung/status/1893073663391604753

https://www.securityalliance.org/news/2025-02-dprk-advisory

https://announcements.bybit.com/article/incident-update---eth-cold-wallet-incident-blt292c0454d26e9140/

https://rekt.news/bybit-rekt/

https://privy.io/blog/bybit-lookback

https://x.com/im23pds/status/1896174544559477209

https://blog.cube3.ai/2025/02/21/bybit-breach-a-deep-dive-into-the-1-46-billion-exploit/

Tracking and Recovery:

https://www.bybit.com/en/press/post/bybit-launches-recovery-bounty-program-with-rewards-up-to-10-of-stolen-funds-bltcd3ebbb9445d5b74

https://announcements.bybit.com/en/article/bybit-s-security-update-asset-recovery-and-enhanced-security-measure-blt47be62971e11fb74/

https://x.com/lookonchain/status/1893852261027140041

https://www.methprotocol.xyz/blog/announcements/meth-protocol-update-regarding-bybit-security-incident

https://x.com/Chainflip/status/1893222347252875386

https://x.com/paoloardoino/status/1893288600625721804

https://www.theblock.co/post/342871/non-kyc-exchange-exch-denies-money-laundering-allegations-as-eth-reserves-spike-following-bybit-hack

https://x.com/Beosin_com/status/1893836284063367365

https://x.com/arkham/status/1894434852037878046

https://x.com/coinbureau/status/1893694731856531931

https://x.com/MistTrack_io/status/1893516845506011180

https://x.com/somaxbt/status/1894613344826294462

https://x.com/bax1337/status/1895842152682528982

https://x.com/Bitrace_team/status/1896136107794067834

https://x.com/benbybit/status/1896798476945744010

Exploit:

https://etherscan.io/tx/0x46deef0f52e3a983b67abf4714448a41dd7ffd6d32d32da69d62081c68ad7882

https://github.com/SunWeb3Sec/DeFiHackLabs/blob/main/src/test/2025-02/Bybit_exp.sol

Unkn_de91e6

Date: February 22, 2025
Attack Vector: Reentrancy
Impact: $6,700
Chain: BSC

References:

https://x.com/TikkalaResearch/status/1894087723096359359

https://x.com/TenArmorAlert/status/1893333680417890648

Exploit:

https://bscscan.com/tx/0xd7a61b07ca4dc5966d00b3cc99b03c6ab2cee688fa13b30bea08f5142023777d

Hegic

Date: February 23, 2025
Attack Vector: Logic Error
Impact: $80,000
Chain: Ethereum

References:

https://x.com/TenArmorAlert/status/1894329796659699813

https://x.com/HegicOptions/status/1896933787923345470

https://x.com/0xNickLFranklin/status/1895770229265121493

https://nickfranklin.site/2025/03/01/hegic-options-hacked/

Exploit:

https://etherscan.io/tx/0x444854ee7e7570f146b64aa8a557ede82f326232e793873f0bbd04275fa7e54c

Infini

Date: February 23, 2025
Attack Vector: Insider Threat
Impact: $49,000,000
Chain: Ethereum

References:

https://x.com/yieldsandmore/status/1893871757666275587

https://x.com/TenArmorAlert/status/1893898535172456898

https://x.com/PeckShieldAlert/status/1893874770803851454

https://x.com/exvulsec/status/1893897413229940944

https://rekt.news/infini-rekt/

https://www.certik.com/resources/blog/0xinfini-incident-analysis

Exploit:

https://etherscan.io/tx/0xecb31ff694c0e6c5e5b225c261854c0749ecf5d53c698fcda61f2d8e3db8f9fc

https://etherscan.io/tx/0xacf84c5944f662a4fcf783806993d713a150994932008e72e4e47a58d6665f7f