トレンドトピック
#
Bonk Eco continues to show strength amid $USELESS rally
#
Pump.fun to raise $1B token sale, traders speculating on airdrop
ライブZK回路に対する最初の2つの既知の脆弱性は、単なる微妙な制約不足のバグではありませんでした。
彼らはGroth16の検証機で、信頼されたセットアップセレモニーを完了せずに展開されました。1人はホワイトハットで約150万ドルで救出され、もう1つは5ETHで消費されました。
🧵
両プロトコルはGroth16展開で最も一般的なスタックであるCircom + snarkjsを使用していました。
バグは?彼らは信頼されたセットアップのフェーズ2、すなわち回路固有の貢献ステップを飛ばしました。
これがない場合、検証キーのγとδパラメータは同じ値、すなわちG2世代に設定されます
なぜγ=δすべてを壊すのでしょうか?
Groth16の検証チェック:
e(-A, B) ·e(α, β) ·e(vk_x, γ) ·e(C, δ) = 1
γ = δの場合、攻撃者はC = -vk_xを設定して両方の項を打ち消し、その後A = α、B = βに設定して残りを打ち消すことができます。式は1・1 = 1。証人は必要ありません。
Foom Protocol(約$1.4M)は、BaseとEthereumの宝くじdAppでした。@duha_realと別の独立したホワイトハットによるホワイトハット救出により、悪意ある者が契約を吸い取るために偽造証明をループさせてトークンの99.97〜99.99%を抽出しました。
ヴェイルプロトコル(~$5,000)はBaseのTornado Cashフォークでした。攻撃者は1回の取引でプール全体を消費し、0xdead0000のようなダミー無効化器を使って29回の偽造出金を行い、プールの2.9 ETH残高を全て抽出しました。
これはsnarkjsが設計通りに動作している証拠です。groth16セットアップを実行すると、γが初期化され、プレースホルダーとしてG2ジェネレーターにδ割り当てられます。zkeyの貢献を実行してδをランダム化することが求められます。そのステップを飛ばせば、検証者は証拠を受け入れます。
恐ろしいのは、これは深刻な暗号の欠陥でも微妙な回路のバグでもなかったことです。それはデプロイミスで、CLIコマンドが1つ欠けていたのです。そして実際の資金がリスクにさらされたまま、生産中に放置されていました。
要点:
- 回路コードだけでなく、常にデプロイスクリプトをレビューすること
- 検証キーを確認してください:vk_gamma_2 ==vk_delta_2、証明は偽造可能です
- @DedaubSecurityと協力して他の影響を受けた契約がないかEVMチェーンをスキャンしましたが、高額契約は見つかりませんでした。ただし、いくつかは存在します
4.08K
トップ
ランキング
お気に入り
