LIVE ADA-- MCAP-- TVL-- STAKE-- EPOCH-- Cardano & Midnight 総合情報ポータル
SIPO
速報 Cardano、RealFi CEOによるセミナー開催 実資産裏付けステーブルコイン構想を紹介 13時間前 速報一覧 →
HOMESignal › SecondFi 回収ツールのゼロ知識回路、監査の高重大度 2 件を修正
Signal

SecondFi 回収ツールのゼロ知識回路、監査の高重大度 2 件を修正

2026-09-14SIPO

SecondFi (旧 Yoroi) は日本時間 2026 年 9 月 14 日 17 時 2 分、公式 X アカウント (@secondfiapp) で、資産回収ツールの中核となる証明プログラムについて、監査会社 zkSecurity による監査の結果を公表しました。高重大度の指摘 2 件はいずれも修正済みで、ツールの公開は回収用スマートコントラクトの監査を終えたあと「今後数週間以内」になる、という内容です。

6 月の流出で資産を失った利用者にとって、回収ツールは「自分のものだったと、シードフレーズを渡さずにどう証明するか」を担う部分です。その中核が第三者の目を通り、見つかった問題が直ったことを公式が確認した、というのが今回の意味です。一方で公開はまだ先で、7 月末に示されていた「9 月上旬」からは後ろにずれています。本記事では、監査で何が見つかりどう直ったのか、このツールがシードフレーズを渡さずに所有を証明する仕組み、6 月から続く経緯、そして公開までに利用者がすること・しないことを順に整理します。

■ 監査で見つかった 4 件と、直ったもの・残ったもの

公式投稿によると、SecondFi は 2026 年 8 月 3 日に zkSecurity と契約し、proof-tool リポジトリの独立監査を依頼しました。監査レポート本文には、期間が 2 週間、担当が 2 名のコンサルタントだったと書かれています。対象は二つあります。ウォレットの所有を証明する回路そのものと、証明をブラウザの中で作れるようにするために証明ライブラリ gnark (ConsenSys 製のゼロ知識証明ライブラリ) へ当てた 7 本の改変パッチです。

見つかったのは、高重大度 2 件と低重大度 2 件です。

高重大度の 2 件は、どちらも SecondFi 側が書いたコードではなく、当時使っていた gnark v0.15.0 そのものにあった欠陥でした。一つは、Ed25519 という楕円曲線の計算を回路の中で行う際、桁上がりの値の範囲を検査していなかった点です。レポートは、この穴を突けば「悪意ある証明者が、自分で選んだシードから出発して、他人の公開鍵の所有を主張できる」と説明しています。もう一つは、ハッシュ計算に使う XOR と AND の出力を範囲検査していなかった点で、こちらは「あり得ないハッシュ値」を作れてしまい、任意の資格情報を証明に結びつけられる、というものです。

回収ツールにとって、この 2 件はまさに急所です。所有証明が偽造できるなら、資産は本来の持ち主ではない人に渡ってしまいます。修正は gnark を v0.16.3 へ更新する形で行われ、監査チームが差分を確認し、再テストして、両方とも直っていることを確認したとレポートに記載されています。

SIPO でも GitHub 上の Emurgo/proof-tool リポジトリを確認しました。監査対象として明記されたコミットでは依存関係が gnark v0.15.0 でしたが、現在の main ブランチでは v0.16.3 になっており、更新は 9 月 4 日に取り込まれています。公式が「修正した」と書いた内容は、公開コード上でも裏づけられます。

低重大度の 2 件は、修正されずに残っています。一つは、Cardano 上で証明を検証するコントラクト側で、楕円曲線上の点の妥当性を検査していないため、証明者が乱数チャレンジを何度か試せる余地がある、というものです。レポートは、現状の安全余裕が大きいため「直ちに脆弱ではない」としつつ、将来ほかの検査の余裕が薄くなれば重大化しうる、と注記しています。もう一つは、回路の入力の一部 (マスターキーの一部と送金先) にバイト単位の範囲検査がない点で、こちらは「現在の使い方では実用上の影響はない」とされています。SecondFi は両方を認識済みで、監査チームも「実用的には悪用できない」と評価しています。

■ シードフレーズを渡さずに所有を証明する仕組み

このツールが証明するのは、次のことです。「私は、あるマスターキー (復元フレーズから作られる 96 バイトの秘密) と派生パスを知っていて、そこから計算すると、被害を受けたアドレスの資格情報になる」。マスターキーも派生パスも証明の中には現れず、外に出るのは資格情報から作ったハッシュ値だけです。派生パスは Cardano の標準 (m/1852’/1815’/口座’/役割/番号) に沿っています。

回路は三種類あります。所有だけを証明する基本形、証明に送金先アドレスを結びつける形、そして同じマスターキーから派生する複数のアドレスをまとめて一つの証明にする形です。送金先を証明に結びつけるのは、第三者が証明を横取りして自分の宛先へ差し替えるのを防ぐためです。

もう一つの工夫は、証明を利用者のブラウザの中で作れるようにした点です。この方式の証明鍵は約 1.2 GiB あり、そのままではブラウザのメモリに収まりません。7 本のパッチは、鍵を必要な部分だけ順に読み込んで捨てる、使わない計算表を省く、並列化する、といった改良で、これを可能にしています。

ここで一つ、言葉を正確に読む必要があります。公式は今回「ユーザーにシードフレーズや秘密鍵の提供を求めずに」と書いています。一方で 9 月 1 日の投稿では、回収ツールは公式アプリの外で動き、「シードフレーズの入力を求める場合がある」とも説明していました。この二つは矛盾していません。証明を作るには、利用者の手元でマスターキーを使う必要があります。つまり「SecondFi に渡さない」のであって、「どこにも入力しない」のではありません。入力する先が、公式チャネルから自分でたどり着いた公式ツールであることが条件です。実際の入力画面がどのような形になるかは、まだ公表されていません。

この違いは、詐欺を見分けるうえで効いてきます。「シードフレーズを聞かれたら詐欺」という単純な線引きは、回収ツールにはそのままでは使えません。9 月上旬には、公式の言い回しをそのまま流用して「回収ツールが公開された」と称する偽アカウントも出ていました。判断の軸は、公式が 9 月 1 日に挙げた「絶対にやらないこと」のほうです。自分から先に連絡しない、指定アドレスへの送金を求めない、送られてきたリンクからのインストールを求めない、電話やビデオ通話をかけない、会話を非公開チャネルへ移さない。この一つにでも触れる接触は、文面がどれだけ本物らしくても詐欺として扱ってよい、というのが公式の説明です。

■ 6 月の実験から正式ツールまで

「漏れた鍵ではなく、その手前にある復元フレーズの知識で所有を証明する」という発想は、6 月末にチャールズ・ホスキンソン氏が自身で Groth16 の検証器を Cardano のテスト環境で動かし、動画で説明したところから始まりました。7 月 14 日にはエンジニアリング集団 Eryx が、同じ発想の概念実証をオープンソースで公開しています。SIPO はそれぞれ記事にしており、Eryx の公開時には、被害アドレスまでの派生をどう回路に組み込むか、マスターキーを公開出力にしてよいか、本番規模での計算コスト、そして監査、という点が次の検証課題になる、と整理しました。

今回監査を受けた回路は、その多くに答える形になっています。派生パスをたどって資格情報まで計算し、外に出すのはハッシュ値だけで、証明はブラウザ内で作れる設計になり、独立監査を受けました。

開発の系譜も、GitHub 上で観測できる範囲では追えます。Emurgo/proof-tool は、Anastasia-Labs/proof-tool (7 月 3 日作成) から 7 月 20 日に分岐したリポジトリで、その開発者向け文書には、ホスキンソン氏の proof-zk-recovery リポジトリを土台にしていると明記されています。公式投稿は開発元を名指ししておらず、SecondFi や EMURGO が開発体制を公表した記録は、SIPO の記録と検索の範囲では確認できていません。ここで書けるのは、公開コードの分岐関係までです。

■ 「9 月上旬」から「数週間以内」へ

回収ツールの時期は、公式の説明のなかで少しずつ動いてきました。7 月 30 日の告知では「ZK リカバリーツールは 9 月上旬」でした。9 月 1 日の投稿では「9 月」、サポートサイトの FAQ (9 月 8 日更新) では「開発中・9 月中」です。そして今回、次の段階として回収用スマートコントラクトの専用監査を挙げ、本番リリースは「残りの監査と最終チェックの完了を条件として、今後数週間以内」と書いています。

コントラクトの一部は今回の指摘にも登場しています。低重大度 1 件目が指摘した検証器は、Cardano 上で証明を受け取って資金の払い出しを許可する側のプログラムです。今回の監査は回路とパッチを対象にしたもので、コントラクト全体の専用監査はこれからです。そこで何かが見つかれば、日程はさらに動きます。

リリースの前には、手順を示したユーザーガイドを公開する、とも書かれています。公開の順番としては、コントラクト監査の完了報告、ユーザーガイド、本番リリース告知、という流れになる見込みです。

■ 公開までに、利用者がすること・しないこと

公式は回収ツールの性格を二つの言葉で説明しています。ユーザー主導、つまり回収リクエストをいつ始めるかは影響を受けた利用者が決める。そして Cardano 優先、つまりまず Cardano ウォレットの所有確認から始める、という順序です。

公開までのあいだに、しないことは三つです。「回収ツール」を名乗るリンク・アプリ・サイトは、公式の告知が出るまではすべて偽物として扱う。シードフレーズは、公式チャネル (X の @secondfiapp と @secondfi_jp、および support.secondfi.io) から自分でたどり着いた画面以外には入力しない。そして、先に連絡してくる「サポート」には応じない。公式は「SecondFi は決してシードフレーズや秘密鍵の提供を求めません」とも書いており、これは人や DM に対してのことです。

することは、被害の届け出をまだ出していなければ support.secondfi.io で出しておくこと、そして被害を受けていないウォレットの移行が済んでいなければ、公式アプリの中で動く移行ツールで済ませておくことです。移行ツールと回収ツールは別のもので、移行は今すぐできます。手順は SIPO の移行マニュアルにまとめてあります。

回収の原資については、EMURGO が 7 月に公表した返還専用アドレスに約 1,610 万 ADA が置かれたままです。SIPO が 9 月 14 日 19 時 (日本時間) にオンチェーンで確認した範囲では、このアドレスからの送出は起きていません。

■ 次に見るもの

  • 回収用スマートコントラクトの監査結果 — @secondfiapp の投稿と、レポートが公開されるなら zkSecurity のレポート一覧で確認できます
  • ユーザーガイドの公開 — support.secondfi.io の記事一覧と、日本語版なら @secondfi_jp。ガイドの内容が公式のものかどうかは、この 2 か所から自分でたどって確認します
  • 本番リリースの告知 — 公式チャネル 3 つのいずれかから出ます。SIPO は公開を確認した時点で、同じ日に手順を含めてお伝えします

■ ことば

  • ゼロ知識証明 — ある秘密を知っていることを、その秘密自体を見せずに数学的に示す方法。今回は「復元フレーズを明かさずに、被害アドレスの持ち主だと示す」ために使われます。鍵が漏れた後でも成り立つ証明が要るので、この方法が選ばれました。
  • gnark — ConsenSys が開発するゼロ知識証明のライブラリ。回路を書き、証明を作り、検証するための道具箱です。今回の高重大度 2 件はこのライブラリ側の欠陥で、新しい版では直っていたため、更新が修正になりました。
  • マスターキーと派生パス — 復元フレーズから作られる 96 バイトの秘密がマスターキーで、そこから「何番目の口座の何番目のアドレス」と指定して個々の鍵を作る道筋が派生パスです。証明はこの二つを秘密のまま使い、結果だけを外に出します。

一次ソース / 関連リンク