Skip to content
Back to skills

Tools Creusot Install

CSecurity

Install the Creusot Rust verification tool

  • 2 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 9, 2026
testingrustgobashgit

Security analysis

C71/100
  • criticalModifies startup scripts or system services for persistence
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro shows the line behind each finding and how to fix it

Scanned September 9, 2026

npx -y skills add AI-native-Systems-Research/ai-native-storage-certus --skill tools-creusot-install --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Tools Creusot Install?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Tools Creusot Install
[![Security: C — Skills Directory](https://www.skillsdirectory.com/api/skills/ai-native-systems-research-tools-creusot-install/badge)](https://www.skillsdirectory.com/skills/ai-native-systems-research-tools-creusot-install)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: tools-creusot-install
description: Install the Creusot Rust verification tool
---

This skill should not need sudo privileges.

## Prerequisites (must already be installed)
- curl
- Rust toolchain (rustup/cargo)
- opam (initialized with `opam init`)
- pip

If any prerequisite is missing, inform the user and stop.

## Installation Steps

1. Install z3-solver via pip if not already present:
   ```
   pip install z3-solver
   ```

2. Clone the Creusot repo into `tools/creusot/creusot` (if not already cloned):
   ```
   git clone https://github.com/creusot-rs/creusot tools/creusot/creusot
   ```

3. Run the install script with `--external z3` (uses the pip-installed z3):
   ```
   cd tools/creusot/creusot && ./INSTALL --external z3
   ```
   This installs cargo-creusot, creusot-rustc, Why3, why3find, Alt-Ergo, CVC4, and CVC5.

4. Fix why3find package resolution (required for proof discharge):
   ```
   mkdir -p ~/.local/share/creusot/_opam/lib/why3find/packages
   ln -sf ~/.local/share/creusot/share/why3find/packages/creusot \
          ~/.local/share/creusot/_opam/lib/why3find/packages/creusot
   ```

5. Add Creusot bin path to `~/.bash_profile`:
   ```
   export PATH="$HOME/.local/share/creusot/bin:$PATH"
   ```

6. Verify installation using the bundled test example:
   - Run `cargo creusot version` — should show version info for all components
   - Build and prove the test example:
     ```
     cd tools/creusot/creusot-test-example
     cargo clean
     cargo creusot
     ```
   - Confirm output shows `Proved (4 files) ✔`
   - Note: `cargo clean` is required before the first `cargo creusot` run if `cargo build`
     was previously executed (stale artifacts block the Creusot translation pass)

## Notes
- Z3 4.16.0 (from pip) is newer than the recommended 4.15 — produces a warning but works fine.
- The `--external z3` flag tells Creusot to use the system z3 rather than downloading its own.
- For proofs that SMT solvers cannot discharge (e.g. modular arithmetic with variable
  divisors), Coq can be added as an additional prover — see `tools-creusot-coq-install`.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.