Back to Blog

Die Erstuntersuchung des PolyNetwork-Hacks

Code Auditing
August 11, 2021
3 min read

PolyNetwork wurde gehackt und über 300 Millionen US-Dollar wurden gestohlen. Der Angreifer führte den Angriff auf mehreren Chains durch. In diesem Blog verwenden wir die Angriffstransaktion auf Ethereum (0xd8c1f7424593ddba11a0e072b61082bf3d931583cb75f7843fc2a8685d20033a), um den möglichen Grund für den Hack zu analysieren. Unsere erste Analyse zeigt, dass ein möglicher Grund entweder die Offenlegung des Private Keys, der zum Signieren der Cross-Chain-Nachricht verwendet wird, oder ein Fehler im Signierungsprozess von PolyNetwork sein könnte, der missbraucht wurde, um eine manipulierte Nachricht zu signieren.

Haftungsausschluss: Dieser Blog enthält nur die Ergebnisse unserer ersten Analyse, die auf On-Chain-Daten auf Ethereum basieren. Ohne weitere Informationen von Poly Network können wir unsere Ergebnisse nicht überprüfen.

Update 2021/08/12: Weitere Informationen zeigen, dass die Ursache des Angriffs darin liegt, dass der Keeper vom Angreifer modifiziert wurde (nicht aufgrund der Offenlegung des Private Keys). Wir haben eine weitere Analyse, um die Frage zu beantworten, warum die Transaktion zur Änderung des Keepers überhaupt ausgeführt werden konnte.

Transaktion und Aufrufverfolgung

Wir verwenden unser Transaktionsanalyse-System, um die Spur wiederherzustellen.

Angreifer -> EthCrossChainManager -> EthCrossChainData -> LockProxy -> managerProxyContractforLockProxy

  • 0xc8a65fadf0e0ddaf421f28feab69bf6e2e589963: Angreifer
  • 0x838bf9e95cb12dd76a54c9f9d2e3082eaf928270: EthCrossChainManager
  • 0xcf2afe102057ba5c16f899271045a0a37fcb10f2: EthCrossChainData
  • 0x250e76987d838a75310c34bf422ea9f1ac4cc906: LockProxy
  • 0x5a51e2ebf8d136926b9ca7b59b60464e7c44d2eb: managerProxyContract for LockProxy

Funktionssignaturen:

  • d450e04c (verifyHeaderAndExecuteTx)
  • 69d48074 (getCurEpochConPubKeyBytes)
  • 5ac40790 (getCurEpochStartHeight)
  • 0586763c (checkIfFromChainTxExist)
  • e90bfdcf (markFromChainTxExist(uint64,bytes32))

Der Hauptprozess des Angriffs

Der Hauptprozess des Angriffs besteht darin, dass der Angreifer die signierten Daten an die Funktion verifyHeaderAndExecuteTx() übergeben hat. Diese Funktion dekodiert die Daten und überprüft die Signaturen, mit denen die Daten signiert wurden. Wenn dieser Prozess erfolgreich ist, wird die in der Nachricht angegebene Methode (und die Vertragsadresse) ausgeführt. Während dieses Angriffs wurde die unlock-Funktion des Smart Contracts 0x250e76987d838a75310c34bf422ea9f1ac4cc906 aufgerufen, um Fei an den Angreifer zu transferieren.

Zusammenfassend lässt sich sagen, dass der Angriff auf gültige Parameter zurückzuführen ist, die an die Funktion verifyHeaderAndExecuteTx übergeben wurden. Und die Parameter können den Signaturverifizierungsprozess bestehen. Danach wird die in der Nachricht angegebene Transaktion ausgeführt (ähnlich der willkürlichen Befehlsausführung in der Softwaresicherheit).

Um diesen Prozess besser zu verstehen, stellen wir die kritischen Werte des Aufrufverfolgung wieder her.

Funktion: verifyHeaderAndExecuteTx:

verifySig

unlock

Die Variable des managerProxyContract im LockProxy. Sie stimmt mit dem Wert der Aufruferadresse der unlock-Funktion überein.

Schlussfolgerung

Aus den wiederhergestellten Werten stellen wir fest:

  1. Der Angreifer hat eine gültige signierte Nachricht an die Funktion verifyHeaderAndExecuteTx übergeben.
  2. Der Modifier onlyManagerContract im LockProxy Smart Contract wurde NICHT umgangen.

Basierend auf diesen beiden Beobachtungen vermuten wir, dass:

  1. Der Angreifer möglicherweise die legitimen Schlüssel zum Signieren der Nachrichten besitzt, was darauf hindeutet, dass die Signierschlüssel möglicherweise offengelegt wurden.

Oder

  1. Es gibt einen Fehler im Signierungsprozess von PolyNetwork, der missbraucht wurde, um eine manipulierte Nachricht zu signieren.

Wir verfügen jedoch nicht über weitere Off-Chain-Daten, um unsere Erkenntnisse zu überprüfen. Wir hoffen, dass unsere Analyse für weitere Ermittlungen hilfreich sein kann.

Credits: Yufeng Hu, Siwei Wu, Lei Wu, Yajin Zhou @BlockSec

Twitter: https://twitter.com/BlockSecTeam

Sign up for the latest updates
Newsletter - April 2026
Security Insights

Newsletter - April 2026

In April 2026, the DeFi ecosystem experienced three major security incidents. KelpDAO lost ~$290M due to an insecure 1-of-1 DVN bridge configuration exploited via RPC infrastructure compromise, Drift Protocol suffered ~$285M from a multisig governance takeover leveraging Solana's durable nonce mechanism, and Rhea Finance incurred ~$18.4M following a business logic flaw in its margin-trading module that allowed circular swap path manipulatio

~$7.04M Lost: GiddyDefi, Volo Vault & More | BlockSec Weekly
Security Insights

~$7.04M Lost: GiddyDefi, Volo Vault & More | BlockSec Weekly

This BlockSec weekly security report covers eight attack incidents detected between April 20 and April 26, 2026, across Ethereum, Avalanche, Sui, Base, HyperLiquid, and MegaETH, with total estimated losses of approximately $7.04M. The highlighted incident is the $1.3M GiddyDefi exploit, where the attacker did not break any cryptography or use a flash loan but simply replayed an existing on-chain EIP-712 signature with the unsigned `aggregator` and `fromToken` fields swapped out for a malicious contract, demonstrating how partial signature coverage turns any historical signature into a generic permit. Other incidents include a $3.5M Volo Vault operator key compromise on Sui, a $1.5M Purrlend privileged-role takeover, a $413K SingularityFinance oracle misconfiguration, a $142.7K Scallop cross-pool index injection, a $72.35K Kipseli Router decimal mismatch, a $50.7K REVLoans (Juicebox) accounting pollution, and a $64K Custom Rebalancer arbitrary-call exploit.

Weekly Web3 Security Incident Roundup | Apr 13 – Apr 19, 2026
Security Insights

Weekly Web3 Security Incident Roundup | Apr 13 – Apr 19, 2026

This BlockSec weekly security report covers four attack incidents detected between April 13 and April 19, 2026, across multiple chains such as Ethereum, Unichain, Arbitrum, and NEAR, with total estimated losses of approximately $310M. The highlighted incident is the $290M KelpDAO rsETH bridge exploit, where an attacker poisoned the RPC infrastructure of the sole LayerZero DVN to fabricate a cross-chain message, triggering a cascading WETH freeze across five chains and an Arbitrum Security Council forced state transition that raises questions about the actual trust boundaries of decentralized systems. Other incidents include a $242K MMR proof forgery on Hyperbridge, a $1.5M signed integer abuse on Dango, and an $18.4M circular swap path exploit on Rhea Finance's Burrowland protocol.

Best Security Auditor for Web3

Validate design, code, and business logic before launch. Aligned with the highest industry security standards.

BlockSec Audit