Trend-Themen
#
Bonk Eco continues to show strength amid $USELESS rally
#
Pump.fun to raise $1B token sale, traders speculating on airdrop
#
Boop.Fun leading the way with a new launchpad on Solana.
Die ersten beiden bekannten Exploits gegen live ZK-Schaltungen sind gerade passiert, und sie waren keine subtilen unterbeschränkten Fehler.
Es handelte sich um Groth16-Validatoren, die ohne Abschluss der vertrauenswürdigen Setup-Zeremonie bereitgestellt wurden. Einer wurde für ~$1,5M von einem White-Hat gerettet, der andere für 5 ETH abgezogen.
🧵
Beide Protokolle verwendeten Circom + snarkjs, den gängigsten Stack für Groth16-Implementierungen.
Der Fehler? Sie übersprangen Phase 2 des vertrauenswürdigen Setups: den schaltungsspezifischen Beitrags-Schritt.
Ohne ihn sind die γ- und δ-Parameter des Verifizierungsschlüssels beide auf denselben Wert gesetzt: die G2-Gens.
Warum bricht γ = δ alles?
Groth16-Verifikationsprüfungen:
e(-A, B) · e(α, β) · e(vk_x, γ) · e(C, δ) = 1
Wenn γ = δ ist, kann ein Angreifer C = -vk_x setzen, um beide Terme zu canceln, und dann A = α, B = β setzen, um den Rest zu canceln. Die Gleichung wird 1 · 1 = 1. Kein Zeuge erforderlich.
Das Foom-Protokoll (~1,4 Millionen USD) war eine Lotterie-dApp auf Base und Ethereum. Eine Rettungsaktion durch @duha_real und einen weiteren unabhängigen Whitehat entleerte die Verträge, bevor ein böswilliger Akteur dies tun konnte, indem gefälschte Nachweise verwendet wurden, um 99,97–99,99 % der Token zu extrahieren.
Das Veil-Protokoll (~5.000 $) war ein Fork von Tornado Cash auf Base. Ein Angreifer hat den gesamten Pool in einer Transaktion abgezogen, 29 gefälschte Abhebungen mit Dummy-Nullifizierern wie 0xdead0000, und hat das gesamte Guthaben von 2,9 ETH aus dem Pool extrahiert.
Dies ist snarkjs, das wie vorgesehen funktioniert. Wenn Sie groth16 setup ausführen, werden γ und δ als Platzhalter auf den G2-Generator initialisiert. Es wird erwartet, dass Sie zkey contribute ausführen, um δ zu randomisieren. Überspringen Sie diesen Schritt, und Ihr Verifier akzeptiert jeden Beweis.
Der beängstigende Teil: Das war kein tiefgreifender kryptografischer Fehler oder ein subtiler Schaltkreisfehler. Es war ein Bereitstellungsfehler: ein fehlender CLI-Befehl. Und es blieb in der Produktion mit echten Geldern, die auf dem Spiel standen.
Erkenntnisse:
- Überprüfen Sie immer die Bereitstellungsskripte, nicht nur den Schaltkreiscode
- Überprüfen Sie Ihre Verifizierungsschlüssel: Wenn vk_gamma_2 == vk_delta_2, sind Ihre Beweise fälschbar
- Wir haben mit @DedaubSecurity zusammengearbeitet, um EVM-Ketten nach anderen betroffenen Verträgen zu scannen, keine hochpreisigen gefunden, aber einige existieren.
4,07K
Top
Ranking
Favoriten
