論文の概要: Proving the Wrong Program: Miscompilations as a Threat to zkVM Guarantees
- arxiv url: http://arxiv.org/abs/2611.04701v1
- Date: Tue, 03 Nov 2026 11:22:45 GMT
- ステータス: 情報取得中
- システム内更新日: 2026-11-04 17:46:58.540842
- Title: Proving the Wrong Program: Miscompilations as a Threat to zkVM Guarantees
- Title(参考訳): 間違ったプログラムを証明する - zkVM保証に対する脅威としての誤コンパイル
- Abstract要約: ゼロ知識仮想マシン(zkVM)は、証明者が検証者に、通常、RISC-VにコンパイルされたRustプログラムが正しく動作することを納得させる。
我々は、zkVMs SP1とJoltのプロダクション上で、zkVMの保証に対する脅威として、誤コンパイルに関する最初の実証的研究を示す。
- 参考スコア(独自算出の注目度): 2.8726155411976535
- License:
- Abstract: A zero-knowledge virtual machine (zkVM) lets an untrusted prover convince a verifier that a program, typically Rust compiled to RISC-V, ran correctly. The proof covers the compiled binary, so a miscompilation can make a correct zkVM produce a valid proof of a computation that differs from the developer's source. We present the first empirical study of miscompilation as a threat to zkVM guarantees, on the production zkVMs SP1 and Jolt. We assemble 88 known rustc and LLVM miscompilations with Rust reproducers, using an LLM agent to recover Rust triggers for 60 of 124 LLVM bugs reported only as LLVM IR. Many of the bugs carry over to zkVMs: 48 of the 88 make a guest commit a wrong output on SP1 and 46 on Jolt, including the same 15 rustc bugs on both. Most bugs that do not reproduce never reach the faulty code on the zkVM's target, e.g. because they need an instruction-set extension. Existing guest programs are rarely affected by accident. Across 13 guests of 10 popular SP1 projects, the buggy and the fixed compiler produce byte-identical binaries in 447 of the 552 guest-bug pairs that build, and the other 105 have the same code or agree on every input we ran. An attacker who contributes code to a guest, however, can trigger these bugs on purpose. For about $40 per project, an LLM agent found patches that look like ordinary optimisations, preserve the behaviour of the guest's source, and expose a known bug in 12 of 366 project-bug pairs, across 11 of 20 projects. In four cases the guest commits a wrong output, including an Ethereum client that rejects a valid block, and in the other eight it fails on a valid input. Reviewing or formally verifying the zkVM or the guest's source cannot catch such a patch, because both are correct. zkVM projects should treat their compiler as part of their trusted base and track the known bugs of their toolchain.
- Abstract(参考訳): ゼロ知識仮想マシン(zkVM)は、信頼できない証明者が、通常、RustがRISC-Vにコンパイルされたプログラムが正しく動作することを検証者に納得させる。
証明はコンパイルされたバイナリをカバーするため、正しいzkVMが開発者のソースと異なる計算の有効な証明を生成することができる。
我々は、zkVMs SP1とJoltのプロダクション上で、zkVMの保証に対する脅威として、誤コンパイルに関する最初の実証的研究を示す。
LLMエージェントを使用して、LLVM IRとしてのみ報告された124のLLVMバグのうち60のRustトリガを復元する。
88の48のバグは、ゲストにSP1とJoltの46のアウトプットを誤ってコミットさせ、どちらも同じ15のrustcバグを含んでいる。
再生しないほとんどのバグは、例えば命令セット拡張が必要なため、zkVMのターゲットの欠陥コードに到達しません。
既存のゲスト番組は滅多に事故の影響を受けない。
10の人気のあるSP1プロジェクトの13のゲストのうち、バグギーと固定コンパイラはビルドされる52のゲストバグペアのうち447のバイトIDバイナリを生成します。
しかし、ゲストにコードをコントリビュートするアタッカーは、これらのバグを意図的にトリガーすることができる。
プロジェクト当たり約40ドルで、LLMエージェントは、通常の最適化のように見えるパッチを見つけ、ゲストのソースの振る舞いを保存し、既知のバグを366のプロジェクトとバグのペアのうち11のプロジェクトに公開しました。
4ケースでは、ゲストは有効なブロックを拒否するEthereumクライアントを含む間違った出力をコミットし、残りの8ケースでは、有効な入力で失敗する。
zkVMやゲストのソースをレビューまたは正式に検証することは、どちらも正しいため、そのようなパッチをキャッチできない。
zkVMプロジェクトは、信頼できるベースの一部としてコンパイラを扱い、ツールチェーンの既知のバグを追跡する必要がある。
関連論文リスト
- AgentDebugX: An Open-Source Toolkit for Failure Observability, Attribution, and Recovery in LLM Agents [83.37969790806069]
LLMエージェントのエラーは、エラーが表面化するステップが原因ではないことが多いため、デバッグが難しい。
Agent DebuggerXはオープンソースのフレームワークで、デバッグをDe Detect, Attribute, Recover, Rerunのクローズドループとして整理する。
コアとなるDeep Debuggerは、グローバルな軌跡理解を通じてマルチターン根本原因診断を行う。
論文 参考訳(メタデータ) (2026-07-21T06:21:13Z) - Demystifying the Silence of Correctness Bugs in PyTorch Compiler [8.638422379229342]
The first empirical study of the correctness bugs in torch.compile, examined their characteristics and the effective of existing fuzzer。
本稿では,Torch.compileの正当性バグを検出するために,AlignGuardという概念実証テスト手法を提案する。
論文 参考訳(メタデータ) (2026-04-09T19:13:15Z) - Agentic Harness for Real-World Compilers [22.07908620753322]
我々は,コンパイラのバグの理解と修正において,大規模なコンパイラエージェントを支援するために設計されたエージェントハーネスを紹介する。
LLVMは最も広く使用されているコンパイラインフラストラクチャのひとつです。中央のto-autofixはエージェントフレンドリなLLVMツールで、LLVMバグを修正するための最小限のエージェント-autofix-miniです。
論文 参考訳(メタデータ) (2026-03-20T15:56:43Z) - One Bug, Hundreds Behind: LLMs for Large-Scale Bug Discovery [11.169105079732864]
Recurring Pattern Bugs (RPB) はプログラムの様々なコードセグメントにまたがって繰り返し現れる。
RPBは広く普及しており、ソフトウェアプログラムのセキュリティを著しく損なう可能性がある。
本稿では,LLVMとLarge Language Model (LLM)によるプログラム解析システムであるBugStoneを紹介する。
論文 参考訳(メタデータ) (2025-10-15T19:18:06Z) - Bug Histories as Sources of Compiler Fuzzing Mutators [4.429780401631313]
本稿では,バグ履歴からコンパイラファジィ・ミュータを抽出する最初の手法である IssueMut を提案する。
私たちは1760 GCCとLLVMのバグレポートから587のミュータをマイニングしています。
彼らは、最先端の突然変異コンパイラであるfuzzerがGCCで-28を、LLVMで37をミスする新しいバグを見つけました。
論文 参考訳(メタデータ) (2025-10-09T06:25:37Z) - Arguzz: Testing zkVMs for Soundness and Completeness Bugs [4.015374459538631]
私たちは、zkVMの音質と完全性に関するバグをテストする最初の自動化ツールであるArguzzを紹介します。
VMに障害を注入することで、Arguzzは悪意のある、あるいはバグの多いプローバーを模倣し、過度に弱い制約を明らかにする。
論文 参考訳(メタデータ) (2025-09-13T14:36:49Z) - CrashFixer: A crash resolution agent for the Linux kernel [58.152358195983155]
この作業は、システムレベルのLinuxカーネルバグのベンチマークと、Linuxカーネルで実験を実行するプラットフォームを共有するkGymの上に構築されている。
CrashFixerはLinuxカーネルのバグに適応する最初のLCMベースのソフトウェア修復エージェントである。
論文 参考訳(メタデータ) (2025-04-29T04:18:51Z) - DebugBench: Evaluating Debugging Capability of Large Language Models [80.73121177868357]
DebugBench - LLM(Large Language Models)のベンチマーク。
C++、Java、Pythonの4つの主要なバグカテゴリと18のマイナータイプをカバーする。
ゼロショットシナリオで2つの商用および4つのオープンソースモデルを評価する。
論文 参考訳(メタデータ) (2024-01-09T15:46:38Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。