Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

フィードお問い合わせプライバシー© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
z3 — 自動定理証明、制約解決、プログラム検証のための高性能SMTソルバー。形式的解析のための複数の理論と言語バインディングをサポート。 | Kitploit
ツール/GitHubGitHub/z3prover/z3
静的分析暗号化バイナリ解析論文と研究学習と教育
GitHubz3prover/z3

z3

自動定理証明、制約解決、プログラム検証のための高性能SMTソルバー。形式的解析のための複数の理論と言語バインディングをサポート。

リポジトリを見る
12.5k1.7k1569時間39分前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
# Z3

Z3 は Microsoft Research による定理証明器です。
[MIT ライセンス](https://github.com/z3prover/z3/blob/master/LICENSE.txt)の下でライセンスされています。Windows 用バイナリ配布物には [C++ ランタイム再頒布可能パッケージ](https://visualstudio.microsoft.com/license-terms/vs2022-cruntime/)が含まれています。

Z3 に馴染みがない場合は、[こちら](https://github.com/Z3Prover/z3/wiki#background)から始めることができます。

安定版およびナイトリリースのビルド済みバイナリは[こちら](https://github.com/Z3Prover/z3/releases)で入手できます。

Z3 は [CMake][3]、[vcpkg][4]、または [Bazel][5] を使用してビルドできます。
[複数のプログラミング言語向けのバインディング][6]を提供しています。

Z3 の各種安定版リリースに関する注意事項については、[リリースノート](https://github.com/z3prover/z3/blob/master/RELEASE_NOTES.md)を参照してください。

[![オンライン Z3 ガイドを試す](https://assets.kitploit.com/production/public/readmes/4192/2380ad68883bf2c0c892969b519f30837e510fe4f29e9b8178d30c6dc80a6fea.jpg)](https://microsoft.github.io/z3guide/)

## ビルドステータス

### プルリクエストおよびプッシュのワークフロー
| WASM ビルド | Windows ビルド | CI | 有限体リグレッション |
| ------------|---------------|----------------------|-------------------------|
| [![WASM ビルド](https://github.com/Z3Prover/z3/actions/workflows/wasm.yml/badge.svg)](https://github.com/Z3Prover/z3/actions/workflows/wasm.yml) | [![Windows](https://github.com/Z3Prover/z3/actions/workflows/Windows.yml/badge.svg)](https://github.com/Z3Prover/z3/actions/workflows/Windows.yml) | [![CI](https://github.com/Z3Prover/z3/actions/workflows/ci.yml/badge.svg)](https://github.com/Z3Prover/z3/actions/workflows/ci.yml) | [![有限体リグレッション](https://github.com/Z3Prover/z3/actions/workflows/finite-field.yml/badge.svg)](https://github.com/Z3Prover/z3/actions/workflows/finite-field.yml) |

| 決定性リンター | ソルバーの決定性 | Pulse ネイティブチェッカーのビルド |
|---------------------|---------------------|----------------------------|
| [![決定性リンター](https://github.com/Z3Prover/z3/actions/workflows/ast-order-warning-report.yml/badge.svg)](https://github.com/Z3Prover/z3/actions/workflows/ast-order-warning-report.yml) | [![ソルバーの決定性](https://github.com/Z3Prover/z3/actions/workflows/determinism.yml/badge.svg)](https://github.com/Z3Prover/z3/actions/workflows/determinism.yml) | [![Pulse ネイティブチェッカーのビルド](https://github.com/Z3Prover/z3/actions/workflows/pulse-checker-build.yml/badge.svg)](https://github.com/Z3Prover/z3/actions/workflows/pulse-checker-build.yml) |

### スケジュールされたワークフロー
| Android ビルド | ナイトリービルド | クロスビルド | F* マスタービルド |
| ---------------|---------------|-------------|------------------|
| [![Android ビルド](https://github.com/Z3Prover/z3/actions/workflows/android-build.yml/badge.svg)](https://github.com/Z3Prover/z3/actions/workflows/android-build.yml) | [![ナイトリービルド](https://github.com/Z3Prover/z3/actions/workflows/nightly.yml/badge.svg)](https://github.com/Z3Prover/z3/actions/workflows/nightly.yml) | [![RISC V および PowerPC 64](https://github.com/Z3Prover/z3/actions/workflows/cross-build.yml/badge.svg)](https://github.com/Z3Prover/z3/actions/workflows/cross-build.yml) | [![F* マスタービルド](https://github.com/Z3Prover/z3/actions/workflows/fstar-master-build.yml/badge.svg)](https://github.com/Z3Prover/z3/actions/workflows/fstar-master-build.yml) |

| MSVC Static | MSVC Clang-CL | Build Z3 Cache | Memory Safety | Mark PRs Ready |
|-------------|---------------|----------------|---------------|----------------|
| [![MSVC Static Build](https://github.com/Z3Prover/z3/actions/workflows/msvc-static-build.yml/badge.svg)](https://github.com/Z3Prover/z3/actions/workflows/msvc-static-build.yml) | [![MSVC Clang-CL Static Build](https://github.com/Z3Prover/z3/actions/workflows/msvc-static-build-clang-cl.yml/badge.svg)](https://github.com/Z3Prover/z3/actions/workflows/msvc-static-build-clang-cl.yml) | [![Build and Cache Z3](https://github.com/Z3Prover/z3/actions/workflows/build-z3-cache.yml/badge.svg)](https://github.com/Z3Prover/z3/actions/workflows/build-z3-cache.yml) | [![Memory Safety Analysis](https://github.com/Z3Prover/z3/actions/workflows/memory-safety.yml/badge.svg)](https://github.com/Z3Prover/z3/actions/workflows/memory-safety.yml) | [![Mark PRs Ready for Review](https://github.com/Z3Prover/z3/actions/workflows/mark-prs-ready-for-review.yml/badge.svg)](https://github.com/Z3Prover/z3/actions/workflows/mark-prs-ready-for-review.yml) |

| Clang-Tidy Warning Report |
|----------------------------|
| [![Clang-Tidy Warning Report](https://github.com/Z3Prover/z3/actions/workflows/clang-tidy-warning-report.yml/badge.svg)](https://github.com/Z3Prover/z3/actions/workflows/clang-tidy-warning-report.yml) |

### 手動およびリリースワークフロー
| Documentation | Release Build | WASM Release | Pyodide Wheel (PyPI) |
|---------------|---------------|--------------|---------------------|
| [![Documentation](https://github.com/Z3Prover/z3/actions/workflows/docs.yml/badge.svg)](https://github.com/Z3Prover/z3/actions/workflows/docs.yml) | [![Release Build](https://github.com/Z3Prover/z3/actions/workflows/release.yml/badge.svg)](https://github.com/Z3Prover/z3/actions/workflows/release.yml) | [![WebAssembly Publish](https://github.com/Z3Prover/z3/actions/workflows/wasm-release.yml/badge.svg)](https://github.com/Z3Prover/z3/actions/workflows/wasm-release.yml) | [![Pyodide Wheel (PyPI)](https://github.com/Z3Prover/z3/actions/workflows/pyodide-pypi.yml/badge.svg)](https://github.com/Z3Prover/z3/actions/workflows/pyodide-pypi.yml) |

### 特化ワークフロー
| Nightly Validation | Copilot Setup | Agentics Maintenance | Dispatch NFV Formal Audit |
|--------------------|---------------|----------------------|----------------------------|
| [![Nightly Build Validation](https://github.com/Z3Prover/z3/actions/workflows/nightly-validation.yml/badge.svg)](https://github.com/Z3Prover/z3/actions/workflows/nightly-validation.yml) | [![Copilot Setup Steps](https://github.com/Z3Prover/z3/actions/workflows/copilot-setup-steps.yml/badge.svg)](https://github.com/Z3Prover/z3/actions/workflows/copilot-setup-steps.yml) | [![Agentics Maintenance](https://github.com/Z3Prover/z3/actions/workflows/agentics-maintenance.yml/badge.svg)](https://github.com/Z3Prover/z3/actions/workflows/agentics-maintenance.yml) | [![Dispatch NFV formal audit](https://github.com/Z3Prover/z3/actions/workflows/nfv-formal-audit-dispatcher.yml/badge.svg)](https://github.com/Z3Prover/z3/actions/workflows/nfv-formal-audit-dispatcher.yml) |

### フォローアップ / コメントワークフロー
| Determinism Linter PR Comment | Solver Determinism PR Comment | Pulse Checker Regressions |
|--------------------------------|---------------------------------|--------------------------|
| [![Determinism Linter PR Comment](https://github.com/Z3Prover/z3/actions/workflows/ast-order-warning-comment.yml/badge.svg)](https://github.com/Z3Prover/z3/actions/workflows/ast-order-warning-comment.yml) | [![Solver determinism PR comment](https://github.com/Z3Prover/z3/actions/workflows/determinism-comment.yml/badge.svg)](https://github.com/Z3Prover/z3/actions/workflows/determinism-comment.yml) | [![Pulse verification and native checker regressions](https://github.com/Z3Prover/z3/actions/workflows/pulse-checker-regressions.yml/badge.svg)](https://github.com/Z3Prover/z3/actions/workflows/pulse-checker-regressions.yml) |

### エージェント型ワークフロー
| API整合性 | コード簡素化 | リリースノート | ワークフロー提案 | 学術引用 |
| -------------|-----------------|---------------|---------------------|-------------------|
| [![API整合性チェッカー](https://github.com/Z3Prover/z3/actions/workflows/api-coherence-checker.lock.yml/badge.svg)](https://github.com/Z3Prover/z3/actions/workflows/api-coherence-checker.lock.yml) | [![コード簡素化](https://github.com/Z3Prover/z3/actions/workflows/code-simplifier.lock.yml/badge.svg)](https://github.com/Z3Prover/z3/actions/workflows/code-simplifier.lock.yml) | [![リリースノート更新](https://github.com/Z3Prover/z3/actions/workflows/release-notes-updater.lock.yml/badge.svg)](https://github.com/Z3Prover/z3/actions/workflows/release-notes-updater.lock.yml) | [![ワークフロー提案エージェント](https://github.com/Z3Prover/z3/actions/workflows/workflow-suggestion-agent.lock.yml/badge.svg)](https://github.com/Z3Prover/z3/actions/workflows/workflow-suggestion-agent.lock.yml) | [![学術引用トラッカー](https://github.com/Z3Prover/z3/actions/workflows/academic-citation-tracker.lock.yml/badge.svg)](https://github.com/Z3Prover/z3/actions/workflows/academic-citation-tracker.lock.yml) |

| イシューバックログ | メモリ安全性レポート | SMTLIBベンチマーク検索 | F* NFV PR監査 |
| --------------|----------------------|-------------------------|-----------------|
| [![イシューバックログ処理](https://github.com/Z3Prover/z3/actions/workflows/issue-backlog-processor.lock.yml/badge.svg)](https://github.com/Z3Prover/z3/actions/workflows/issue-backlog-processor.lock.yml) | [![メモリ安全性レポート](https://github.com/Z3Prover/z3/actions/workflows/memory-safety-report.lock.yml/badge.svg)](https://github.com/Z3Prover/z3/actions/workflows/memory-safety-report.lock.yml) | [![SMTLIBベンチマーク検索](https://github.com/Z3Prover/z3/actions/workflows/smtlib-benchmark-finder.lock.yml/badge.svg)](https://github.com/Z3Prover/z3/actions/workflows/smtlib-benchmark-finder.lock.yml) | [![Fstar NFV PR監査](https://github.com/Z3Prover/z3/actions/workflows/fstar-nfv-audit.lock.yml/badge.svg)](https://github.com/Z3Prover/z3/actions/workflows/fstar-nfv-audit.lock.yml) |

| A3 Python解析 | コード規約 | 統計比較異常レポーター | CSA解析 | タクティックから簡素化へ |
|----------------------|-------------------|----------------------------------|----------------|------------------------|
| [![A3 Pythonコード解析](https://github.com/Z3Prover/z3/actions/workflows/a3-python.lock.yml/badge.svg)](https://github.com/Z3Prover/z3/actions/workflows/a3-python.lock.yml) | [![コード規約アナライザー](https://github.com/Z3Prover/z3/actions/workflows/code-conventions-analyzer.lock.yml/badge.svg)](https://github.com/Z3Prover/z3/actions/workflows/code-conventions-analyzer.lock.yml) | [![統計比較バグ/クラッシュ/異常レポーター](https://github.com/Z3Prover/z3/actions/workflows/compare-stats-anomaly-reporter.lock.yml/badge.svg)](https://github.com/Z3Prover/z3/actions/workflows/compare-stats-anomaly-reporter.lock.yml) | [![Clang静的アナライザー(CSA)レポート](https://github.com/Z3Prover/z3/actions/workflows/csa-analysis.lock.yml/badge.svg)](https://github.com/Z3Prover/z3/actions/workflows/csa-analysis.lock.yml) | [![タクティックから簡素化への比較エージェント](https://github.com/Z3Prover/z3/actions/workflows/tactic-to-simplifier.lock.yml/badge.svg)](https://github.com/Z3Prover/z3/actions/workflows/tactic-to-simplifier.lock.yml) |

[3]: https://raw.githubusercontent.com/z3prover/z3/master/#building-z3-using-cmake
[4]: https://raw.githubusercontent.com/z3prover/z3/master/#building-z3-using-vcpkg
[5]: https://raw.githubusercontent.com/z3prover/z3/master/#building-z3-using-bazel
[6]: https://raw.githubusercontent.com/z3prover/z3/master/#z3-bindings

## CMakeを使用したZ3のビルド

CMakeはZ3にとって推奨される、最も機能が充実したビルドシステムです。基本的な
リリースビルドは以下の通りです。

```bash
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build --parallel $(nproc)
```

ビルドオプション、言語バインディング、インストール、および別の CMake プロジェクトから Z3 を利用する方法については、[README-CMake.md](https://github.com/z3prover/z3/blob/master/README-CMake.md) を参照してください。

Z3 は C++20 を使用します。そのため Windows では、推奨される Visual Studio のバージョンは VS2019 以降です。CMake を Ninja または Visual Studio ジェネレーターと共に使用すると、Visual Studio コマンドプロンプトから Z3 をビルドできます。

**セキュリティ機能 (MSVC)**: Visual Studio/MSVC でビルドする場合、Z3 ではいくつかのセキュリティ機能がデフォルトで有効になります:
- 制御フローガード (`/guard:cf`) - 関数のエントリポイント以外への呼び出しを防ぐことでコードを侵害しようとする試みを検出するため、デフォルトで有効になります。これにより、攻撃者が制御フローのリダイレクトを通じて任意のコードを実行することがより困難になります
- アドレス空間配置のランダム化 (`/DYNAMICBASE`) - メモリレイアウトのランダム化のためにデフォルトで有効になり、`/GUARD:CF` リンカーオプションで必要とされます
- 必要に応じて `cmake -S . -B build -DZ3_ENABLE_CFG=OFF` を使用してこれらを無効にできます

システムのプレフィックスにインストールするには `sudo cmake --install build` を使用します (カスタムプレフィックスの場合は構成時に `-DCMAKE_INSTALL_PREFIX=` を設定します)。アンインストールするには、お使いのプラットフォームのパッケージマネージャーを参照するか、CMake がインストールされたファイルを `build/install_manifest.txt` に記録しているため、それらのファイルを直接削除してください。

## vcpkg を使用した Z3 のビルド

vcpkg は完全なプラットフォームパッケージマネージャーです。vcpkg で Z3 をインストールするには、次を実行します:

```bash
git clone https://github.com/microsoft/vcpkg.git
./bootstrap-vcpkg.bat # For powershell
./bootstrap-vcpkg.sh # For bash
./vcpkg install z3
```

## Bazel を使用した Z3 のビルド

Z3 は [Bazel](https://bazel.build/) を使用してビルドできます。これは
Clang を使用した Ubuntu で動作することが確認されています(他の環境や他のコンパイラでも動作する可能性があります):
```
bazel build //...
```

## 依存関係

Z3 自体の依存関係はごくわずかです。マルチスレッド用の pthreads を含む C++ ランタイムライブラリを使用します。
オプションで多倍長整数に GMP を使用することも可能ですが、Z3 には自己完結型の
多倍長演算機能が含まれています。Z3 のビルドには Python が必要です。Java、.NET、OCaml、および
Julia API のビルドには、関連するツールチェーンのインストールが必要です。

## Z3 バインディング

Z3 にはさまざまなプログラミング言語向けのバインディングがあります。

### ``.NET``

最新リリースの Z3 用 NuGet パッケージを [nuget.org](https://www.nuget.org/packages/Microsoft.Z3/) からインストールできます。

CMake では、``-DZ3_BUILD_DOTNET_BINDINGS=ON`` オプションを使用します。

例については [``examples/dotnet``](https://github.com/z3prover/z3/blob/master/examples/dotnet) を参照してください。

### ``C``

これらは常に有効です。

例については [``examples/c``](https://github.com/z3prover/z3/blob/master/examples/c) を参照してください。

### ``C++``

これらは常に有効です。

例については [``examples/c++``](https://github.com/z3prover/z3/blob/master/examples/c%2B%2B) を参照してください。

### ``Java``

CMake では、``-DZ3_BUILD_JAVA_BINDINGS=ON`` オプションを使用します。

IDE のセットアップ手順(Eclipse、IntelliJ IDEA、Visual Studio Code)とトラブルシューティングについては、[Java IDE セットアップガイド](https://github.com/z3prover/z3/blob/master/doc/JAVA_IDE_SETUP.md)を参照してください。

例については [``examples/java``](https://github.com/z3prover/z3/blob/master/examples/java) を参照してください。

### ``Go``

CMake では、``-DZ3_BUILD_GO_BINDINGS=ON`` オプションを使用します。Go バインディングは CGO を使用し、ビルドには Go ツールチェーン(Go 1.20 以降)が必要であることに注意してください。

例については [``examples/go``](https://github.com/z3prover/z3/blob/master/examples/go) を、完全な API ドキュメントについては [``src/api/go/README.md``](https://github.com/z3prover/z3/blob/master/src/api/go/README.md) を参照してください。

### ``OCaml``

CMake では、``-DZ3_BUILD_OCAML_BINDINGS=ON`` オプションを使用します。

例については [``examples/ml``](https://github.com/z3prover/z3/blob/master/examples/ml) を参照してください。

### ``Python``

最新リリースの Z3 用 Python ラッパーは、次のコマンドを使用して pypi からインストールできます:

```bash
   pip install z3-solver
```

CMake を使用する場合は、``-DZ3_BUILD_PYTHON_BINDINGS=ON`` オプションを使用してください。

一部のプラットフォームでは、Python パッケージディレクトリ(ほとんどのディストリビューションでは ``site-packages``、Debian ベースのディストリビューションでは ``dist-packages``)がインストールプレフィックスの下に存在することが必要であることに注意してください。非標準のプレフィックスを使用する場合は、``-DCMAKE_INSTALL_PYTHON_PKG_DIR=`` オプションを使用して、インストールに使用する Python パッケージディレクトリを変更できます。例:

```bash
cmake -S . -B build -DCMAKE_INSTALL_PREFIX=/home/leo -DZ3_BUILD_PYTHON_BINDINGS=ON -DCMAKE_INSTALL_PYTHON_PKG_DIR=/home/leo/lib/python3.x/site-packages
```

非標準のプレフィックスにインストールする必要がある場合は、[Python仮想環境](https://virtualenv.readthedocs.org/en/latest/)を使用してそこにZ3をインストールする方が良い方法です。
Windowsでは、Visual C++ネイティブコマンドビルド環境内でビルドすることを忘れないでください。
``build/python/z3``ディレクトリは、Z3と共にPythonが使用される場所からアクセス可能である必要があり、
``libz3.dll``がパス内にあることが必要です。

```bash
virtualenv venv
source venv/bin/activate
cmake -S . -B build -DCMAKE_INSTALL_PREFIX=$VIRTUAL_ENV -DZ3_BUILD_PYTHON_BINDINGS=ON
cmake --build build --parallel $(nproc)
cmake --install build
# You will find Z3 and the Python bindings installed in the virtual environment
venv/bin/z3 -h
...
python -c 'import z3; print(z3.get_version_string())'
...
```

例については[``examples/python``](https://github.com/z3prover/z3/blob/master/examples/python)を参照してください。

### ``Julia``

Juliaパッケージ[Z3.jl](https://github.com/ahumenberger/Z3.jl)はZ3のC APIをラップしています。以前のバージョンはC++ APIをラップしていました。Juliaバインディングの更新とビルドに関する情報は[src/api/julia](https://github.com/z3prover/z3/blob/master/src/api/julia)にあります。

### ``WebAssembly`` / ``TypeScript`` / ``JavaScript``

関連するTypeScript型定義を伴うWebAssemblyビルドは、[z3-solver](https://www.npmjs.com/package/z3-solver)としてnpmで公開されています。これらのバインディングのビルドに関する情報は[src/api/js](https://github.com/z3prover/z3/blob/master/src/api/js)にあります。

### Smalltalk (``Pharo`` / ``Smalltalk/X``)

プロジェクト[MachineArithmetic](https://github.com/shingarov/MachineArithmetic)は、Z3のC APIへのSmalltalkインターフェースを提供します。詳細については、[MachineArithmetic/README.md](https://github.com/shingarov/MachineArithmetic/blob/pure-z3/MachineArithmetic/README.md)を参照してください。

### AIX

[AIX向けのビルド設定はこちらで説明されています。](https://github.com/Z3Prover/z3/pull/8113)

## システム概要

![システム図](https://raw.githubusercontent.com/Z3Prover/doc/master/programmingz3/images/Z3Overall.jpg)

## インターフェース

* デフォルトの入力形式は[SMTLIB2](http://smtlib.cs.uiowa.edu)です

* その他のネイティブ外部関数インターフェース:
* [C++ API](https://z3prover.github.io/api/html/namespacez3.html)
* [.NET API](https://z3prover.github.io/api/html/namespace_microsoft_1_1_z3.html)
* [Java API](https://z3prover.github.io/api/html/namespacecom_1_1microsoft_1_1z3.html)
* [Python API](https://z3prover.github.io/api/html/namespacez3py.html)([pydoc形式](https://z3prover.github.io/api/html/z3.html)でも利用可能)
* [Rust](https://github.com/prove-rs/z3.rs)
* C
* OCaml
* [Julia](https://github.com/ahumenberger/Z3.jl)
* [Smalltalk](https://github.com/shingarov/MachineArithmetic/blob/pure-z3/MachineArithmetic/README.md)(PharoとSmalltalk/Xをサポート)

## パワーツール
* 現在ETH Zurichによって開発されている[Axiom Profiler](https://github.com/viperproject/axiom-profiler-2)

# ファズバグ報告に関するポリシー
Z3はファザーにとって人気のターゲットです。z3やSMTソルバのバグ発見に関する(優れた)論文が数多く発表されており、ファズツールの価値に関する出版物の証拠を確立する上で、バグ報告数と修正数の比率が重要な役割を果たしていることは間違いありません。
残念ながら、ファズバグへの対応は、ユーザーにとって最も重要な場面でのz3の利用を必ずしも前進させるものではなく、それらへの対応に費やす労力はそうした活動から時間を奪います。
診断と修正のためのコーディングエージェントの品質が急速に向上している現在、ファズバグ報告に対して診断と修正にしっかりと取り組むことを求めるのは合理的な要請です。
取り組みを重要なことに集中させるため、再現手順以上の分析を含まないファズバグは、それ以上の検討なしにクローズされる場合があります。
ツールをダウンロード