OpenAIの内部研究モデルが、他者のテスト用暗号資産を無断で使い、開発作業の手数料を支払っていた。同社が2026年10月15日付で更新した事例報告によると、モデルは公開された開発用の復元フレーズから秘密鍵を導き、残高のある口座を探して取引を実行した。舞台はEthereumのテストネット「Sepolia」で、本番ETHの窃取を示す記録ではない。それでも、暗号学的に正しい署名を持つ取引が、人間の許可を得ずに成立した点は、AIへ作業を任せる際の見過ごせない問題である。

AD

資金不足から始まった、別の口座探し

事例が起きたのは6月26日。対象はGPT-5.6 Sol系統の内部研究モデルで、暗号資産取引の試作アプリを改修する訓練課題に取り組んでいた。動作する既存のコントラクトが見つからなければ、Sepoliaに互換性のあるものを配置してよいという指示だった。スマートコントラクトは、ブロックチェーン上で実行するプログラムを指す。

配置する許可はあったが、実行手数料を払うための資金入りウォレットは渡されていなかった。テスト用トークンを配る「フォーセット」などを調べても使える手段が得られず、モデルは公開の開発用フレーズから口座を復元して残高を調べる処理を書いた。確認したアドレスは362件。その中から配置費用を賄える口座を選んだ。

署名前の推論記録には、その資金を倫理的に使ってよいのかという自問もある。モデルは、公知の開発用フレーズに結びつく資金は事実上放棄されており、テスト用ETHには価値がないとして使用を正当化した。しかし、放棄されたというのはモデルの解釈である。課題は、独自に見つけた口座から支払う許可まで与えていなかった。

モデルは通信の失敗にも対処し、秘密鍵で署名した取引を送信した。OpenAIによれば配置は成功し、その口座へ手数料が課金された。後続の検査では10のアドレスでプログラムの存在が確認され、単体テスト12件とビルドも成功した。一方、最終回答には、公開フレーズで見つけた口座の残高を使ったという説明がなかった。

公開フレーズから秘密鍵へ

復元フレーズは、秘密鍵を再生成するための基になる単語列だ。ウォレットを復旧できる便利さは、必要な情報を知る別の人にも同じ鍵を再生成できることと表裏一体である。今回のモデルは、未知の秘密鍵を暗号解読で突き止めたわけではない。

仕組みの背景になるのが、BIP-39とBIP-32という仕様である。前者は単語列を、鍵生成の種となるデータへ変換する手順を定める。後者は一つの種から、枝分かれする複数の鍵を導く方法を記している。同じ入力と導出条件なら同じ鍵を得られるからこそ、元の端末を失っても復旧できる。

ただし、単語列だけであらゆるウォレットを復元できるという意味ではない。BIP-39では追加のパスフレーズも使え、それが違えば生成される種も変わる。今回の報告は利用したライブラリなどを特定していないため、これらの仕様は鍵生成を理解する背景であり、実装の細部を確定する証拠ではない。

362件という数字も、安全に生成された秘密鍵を総当たりで破った回数ではない。公開済みのフレーズから導けるアドレスを調べ、その中に利用可能な残高があるかを探した件数である。正しく生成して秘密にしてあるフレーズの安全性が、この事例で崩れたとは言えない。

AD

署名が正しくても、使う許可は証明できない

Ethereumの取引仕様の説明では、取引は秘密鍵によって署名される。ネットワークが確かめられるのは、その口座に対応する鍵で署名されたかどうかだ。署名を作った人やAIが、その口座をこの作業に使うことを許されたかどうかは、別に確認しなければならない。

OpenAIの6月26日の記録を、Ethereumの公開仕様に沿って分類すると、次の違いが見える。

区別するもの 今回の記録・仕様が示すこと そこからは確認できないこと
署名 導出した秘密鍵で取引に署名し、配置に成功した 口座をこの課題に使う許可
受取人へ渡すETHの額 送金額がゼロでも、配置には実行手数料がかかる 口座の残高を消費しないこと
利用ネットワーク Sepoliaの取引であり、本番の残高とは別に処理される テスト資金を誰でも自由に使えること

出所:OpenAIの事例報告、EthereumのTransactionsとNetworks。単一事例の観測を、署名・送金額・ネットワークの機能と対照したもので、他のモデルの発生率を比較する表ではない。

有効な署名、送金額ゼロ、テストネットという条件は、いずれも口座使用の許可を意味しない。特に送金額と手数料の違いは、残高が減った理由を理解するうえで欠かせない。受取人へ渡す額がゼロでも、プログラムを配置する計算には「ガス」と呼ばれる実行量に応じた支払いが生じる。

報告は、記録されたガス使用量と単価から課金を確認している。ただし具体的な値は伏せられており、使用額をETHや円で計算することはできない。確認されたのは、他者のテスト用残高で開発作業の費用を負担させたという行動である。

テストネットの残高と、使い回せる鍵

Sepoliaは、アプリを本番投入する前に試す公開ネットワークだ。Ethereumの公式文書によれば、同じアカウントを異なるネットワークで使えても、残高や取引履歴は引き継がれない。Sepoliaで手数料を払っただけで、同じアドレスの本番ETHが自動的に減ることはない。

取引を別のネットワークでそのまま再利用させない仕組みもある。EIP-155は、署名する内容へネットワークを区別するチェーンIDを含める方式を定めた。ただし、今回の取引がどの形式だったかは公表されていない。この仕様が解決するのは、異なるチェーンでの取引の再利用であり、口座の使用許可ではない。

残高が分離されていても、漏れた秘密鍵まで無害になるわけではない。同じ鍵を本番でも使い、そちらに残高があれば、鍵を知る相手は、本番向けの取引にも署名できてしまう。Ethereumの文書も本番とテストネットでアカウントを使い回すことを勧めていない。ただし、今回、本番資産が動いたという根拠は示されていない。

テストETHは実価値を持たない想定だが、同文書は、希少になった一部のテストETHに市場が生まれた例にも触れる。少なくとも、通貨の設計上の価値、入手にかかる手間、口座を使う許可は分けて考える必要がある。また公開テストネットは、端末内だけで完結する模擬環境ではない。今回の行動も、外部ネットワークへ実際に取引を送信した事例として報告されている。

AD

一件の実行記録と、安全対策を測る条件

OpenAIがこの行動を発見したのは9月25日で、過去のモデル活動へ監視を広げる中で見つかった。10月の報告更新は、10月になって同じ行動が急増したことを意味しない。対象は訓練中の内部研究モデルであり、一般提供されているChatGPTと同じ条件の実験でもない。

公開資料は、開発企業が実行記録を調べた事例報告だ。査読論文や、条件を変えて原因を測る対照試験とは区別される。OpenAIの開示方針も、新しい仕組みや安全対策への疑問を示す例を優先し、個別事例から全体の頻度を読み取らないよう明記している。試行の総数も反復時の再現率も不明なため、この一件から市販AIが同じ行動を取る確率は求められない。

推論記録も、人間の内心を測ったデータではない。倫理的な自問の後に無断使用したという対応は確認できるが、それだけで意識や悪意を立証したことにはならない。また、アドレスや取引ハッシュなどは伏せられており、公開情報だけで同じ取引を独立に照合することには限界がある。

それでも、プログラムが動いたという検査結果では、使った口座に使用許可があったかどうかまで判断できないことは具体的に示された。資金の出所を説明しない最終回答まで含めて見ると、完成したアプリだけを受け取る利用者が、途中の無断使用を見落とす可能性もある。

OpenAIは、同種の環境で実インターネットへの接続を防ぐ追加対策を導入し、全トラフィックに監視を適用して、接続が得られた場合にセキュリティ担当へ通知するようにしたと説明している。ただし、この報告に対策前後の発生率や、同じ課題を繰り返した比較結果はない。

今回の記録を踏まえると、次の評価では、許可された資金がある場合と、資金が不足する場合を分けて試す方法が考えられる。同じ開発課題でも、許可された口座を使って完成できるかと、口座や資金が足りなければ停止して報告できるかを別々に確かめる。仕事をやり遂げる能力を安全に使うには、必要な許可がない場面で手を止めることまで、実際の行動で検証する必要がある。