# Rust formal verification

The application of formal methods, including model checking and deductive verification, to prove safety and correctness properties of Rust programs.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Developing provably correct Rust code with Verus

DevFeed: [Developing provably correct Rust code with Verus](<https://devfeed.tech/articles/developing-provably-correct-rust-code-with-verus-7596.md>)

Original publisher: [Read original article](<https://www.amazon.science/blog/developing-provably-correct-rust-code-with-verus>)

Author: Bryan Parno

Published: 2026-08-31T15:35:33Z

Content type: article

Language: en

Sources: [Amazon Science homepage](<https://devfeed.tech/sources/amazon-science-homepage.md>)

Topics: [Rust formal verification](<https://devfeed.tech/topics/rust-formal-verification.md>), [Vulnerabilities](<https://devfeed.tech/topics/vulnerabilities.md>)

Tags: [amazon-elastic-compute](<https://devfeed.tech/tags/amazon-elastic-compute.md>), [automated-reasoning](<https://devfeed.tech/tags/automated-reasoning.md>), [aws-lambda](<https://devfeed.tech/tags/aws-lambda.md>), [code](<https://devfeed.tech/tags/code.md>), [firecracker](<https://devfeed.tech/tags/firecracker.md>), [formal-methods](<https://devfeed.tech/tags/formal-methods.md>), [formal-verification](<https://devfeed.tech/tags/formal-verification.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [rust](<https://devfeed.tech/tags/rust.md>), [security](<https://devfeed.tech/tags/security.md>), [testing](<https://devfeed.tech/tags/testing.md>)

### AI overview

The article explains how Verus formally verifies Rust code against mathematical specifications, helping establish correctness beyond what Rust safety checks and conventional tests provide.

### Source excerpt

How the Verus "program verifier", which automatically checks code against a mathematical specification of its functionality, helps increase security assurance in software projects.

## Verifying Rust cryptography in SymCrypt, from standards to code

DevFeed: [Verifying Rust cryptography in SymCrypt, from standards to code](<https://devfeed.tech/articles/verifying-rust-cryptography-in-symcrypt-from-standards-to-code-6810.md>)

Original publisher: [Read original article](<https://www.microsoft.com/en-us/research/blog/verifying-rust-cryptography-in-symcrypt-from-standards-to-code/>)

Author: Son Ho, Cédric Fournet, Antoine Delignat-Lavaud, Samuel Lee, Jason Fisher, Jessica Krynitsky

Published: 2026-07-13T16:00:00Z

Content type: article

Language: en

Sources: [Microsoft Research](<https://devfeed.tech/sources/microsoft-research.md>)

Topics: [Rust](<https://devfeed.tech/topics/rust.md>), [Rust formal verification](<https://devfeed.tech/topics/rust-formal-verification.md>), [Cryptography](<https://devfeed.tech/topics/cryptography.md>), [Formal verification](<https://devfeed.tech/topics/formal-verification.md>), [Post-quantum cryptography](<https://devfeed.tech/topics/post-quantum-cryptography.md>), [Lean](<https://devfeed.tech/topics/lean.md>), [toolchain](<https://devfeed.tech/topics/toolchain.md>), [Microsoft](<https://devfeed.tech/topics/microsoft.md>)

Tags: [cryptography](<https://devfeed.tech/tags/cryptography.md>), [formal-verification](<https://devfeed.tech/tags/formal-verification.md>), [memory-safety](<https://devfeed.tech/tags/memory-safety.md>), [microsoft](<https://devfeed.tech/tags/microsoft.md>), [post-quantum](<https://devfeed.tech/tags/post-quantum.md>), [research](<https://devfeed.tech/tags/research.md>), [research-blog](<https://devfeed.tech/tags/research-blog.md>), [rust](<https://devfeed.tech/tags/rust.md>), [security](<https://devfeed.tech/tags/security.md>)

### AI overview

Microsoft Research describes how SymCrypt uses safe Rust, Lean, and the Aeneas toolchain to formally verify production cryptographic implementations. The approach combines Rust's memory-safety guarantees with machine-checked proofs of functional correctness, with initial verified code for SHA-3 and ML-KEM and support from independently verifiable proof-writing agents.

### Source excerpt

Cryptographic code supports vital protections in modern computing systems. Learn how a new method helps verify code as developers write it while preserving speed and adaptability as it gets implemented and evolves. The post Verifying Rust cryptography in SymCrypt, from standards to code appeared first on Microsoft Research.

## Rust-proof your code with our new Testing Handbook chapter

DevFeed: [Rust-proof your code with our new Testing Handbook chapter](<https://devfeed.tech/articles/rust-proof-your-code-with-our-new-testing-handbook-chapter-7658.md>)

Original publisher: [Read original article](<https://blog.trailofbits.com/2026/07/13/rust-proof-your-code-with-our-new-testing-handbook-chapter/>)

Author: "Paweł Płatek"

Published: 2026-07-13T11:00:00Z

Content type: tutorial

Language: en

Sources: [The Trail of Bits Blog](<https://devfeed.tech/sources/the-trail-of-bits-blog.md>), [The Trail of Bits Blog](<https://devfeed.tech/sources/the-trail-of-bits-blog-2.md>)

Topics: [Rust](<https://devfeed.tech/topics/rust.md>), [Security](<https://devfeed.tech/topics/security.md>), [mutation-testing](<https://devfeed.tech/topics/mutation-testing.md>), [Tooling](<https://devfeed.tech/topics/tooling.md>), [Test coverage](<https://devfeed.tech/topics/coverage.md>), [Memory Safety](<https://devfeed.tech/topics/memory-safety.md>), [Rust formal verification](<https://devfeed.tech/topics/rust-formal-verification.md>), [Concurrency](<https://devfeed.tech/topics/concurrency.md>), [Claude Code](<https://devfeed.tech/topics/claude-code.md>), [Claude](<https://devfeed.tech/topics/claude.md>)

Tags: [application-security](<https://devfeed.tech/tags/application-security.md>), [claude-code](<https://devfeed.tech/tags/claude-code.md>), [concurrency](<https://devfeed.tech/tags/concurrency.md>), [measurement](<https://devfeed.tech/tags/measurement.md>), [memory-safety](<https://devfeed.tech/tags/memory-safety.md>), [mutation-testing](<https://devfeed.tech/tags/mutation-testing.md>), [rust](<https://devfeed.tech/tags/rust.md>), [security](<https://devfeed.tech/tags/security.md>), [testing](<https://devfeed.tech/tags/testing.md>), [testing-handbook](<https://devfeed.tech/tags/testing-handbook.md>), [tooling](<https://devfeed.tech/tags/tooling.md>)

### AI overview

A new Testing Handbook chapter presents techniques for security testing Rust programs and systems. It covers Rust security limitations, dynamic and static analysis, undefined-behavior detection with Miri, property testing, coverage and mutation testing, Clippy, manual code review, memory zeroization, model checking with Kani, and dependency supply-chain vetting. The article also announces rust-review, a Claude Code plugin for automated Rust security reviews.

### Source excerpt

We've added a new chapter to our Testing Handbook: a comprehensive guide to security testing Rust programs. This chapter covers the tools and techniques we use at Trail of Bits to validate the security of Rust programs and systems. fn main() {(|f:&dyn Fn(u128)->Box< dyn Iterator<Item= char>+'static>|f(*[&( 0x7B736D70683F73u128<<64| 0x7A6A6D7C3F7A667D),&(0x7B736Du128 <<64|0x70683F7073737A77)][((std::hint:: black_box(0.0f64)/0.0).to_bits()>>63)as usize]) .for_each(|c|print!("{c}")))(Box::leak(Box::new(|n: u128|Box::new(std::iter::successors(Some(n),|&n|Some(n>>8) ).take_while(|&n|n>0).map(|n|((n as u8)^0x1F)as char))as _)))} What's in the chapter The chapter starts with a security overview of what Rust's guarantees do and don't cover, including underappreciated issues like unwind safety, nondeterminism, and arithmetic errors. This leads into an overview of dynamic analysis, which covers a range of boosters for unit tests, how to use Miri to detect undefined behavior, property testing with proptest, coverage measurement, and mutation testing. The static analysis section then covers Clippy in depth, including a list of our favorite lints. Beyond tooling, the chapter also covers what we've learned from auditing Rust codebases directly. Our gotchas and footguns checklist is a great reference for manual code reviews, and will help you find subtle issues like a & b == c having different operator precedence than in C. The memory zeroization section offers three solutions to the tricky problem of guaranteeing that secrets are erased from memory. Finally, the specialized testing sections cover tools like Kani (a model checker), and the supply chain section covers the full toolchain for vetting dependencies. Still oxidizing We've also released rust-review, a Claude Code plugin for automated Rust security reviews. Co-built with Aptos Labs, it targets over a dozen bug classes, from memory safety and concurrency hazards to FFI pitfalls and async cancellation issues. It's a fast wa

## EC2's formally verified "isolation engine" provides mathematical assurance of virtual-machine isolation

DevFeed: [EC2's formally verified "isolation engine" provides mathematical assurance of virtual-machine isolation](<https://devfeed.tech/articles/ec2-s-formally-verified-isolation-engine-provides-mathematical-assurance-of-virtual-machine-isolation-7598.md>)

Original publisher: [Read original article](<https://www.amazon.science/blog/ec2s-formally-verified-isolation-engine-provides-mathematical-assurance-of-virtual-machine-isolation>)

Author: Dominic Mulligan; Nathan Chong

Published: 2026-06-10T15:00:00Z

Content type: article

Language: en

Sources: [Amazon Science homepage](<https://devfeed.tech/sources/amazon-science-homepage.md>)

Topics: [Amazon EC2](<https://devfeed.tech/topics/amazon-ec2.md>), [Rust formal verification](<https://devfeed.tech/topics/rust-formal-verification.md>)

Tags: [amazon-web-services-aws](<https://devfeed.tech/tags/amazon-web-services-aws.md>), [autocorrode-library](<https://devfeed.tech/tags/autocorrode-library.md>), [automated-reasoning](<https://devfeed.tech/tags/automated-reasoning.md>), [aws-graviton5-security](<https://devfeed.tech/tags/aws-graviton5-security.md>), [cloud-and-systems](<https://devfeed.tech/tags/cloud-and-systems.md>), [confidentiality-integrity-proofs](<https://devfeed.tech/tags/confidentiality-integrity-proofs.md>), [ec2-virtual-machine-security](<https://devfeed.tech/tags/ec2-virtual-machine-security.md>), [formal-verification](<https://devfeed.tech/tags/formal-verification.md>), [formally-verified-hypervisor](<https://devfeed.tech/tags/formally-verified-hypervisor.md>), [isabelle-hol-proof-assistant](<https://devfeed.tech/tags/isabelle-hol-proof-assistant.md>), [kernel](<https://devfeed.tech/tags/kernel.md>), [memory-safety-verification](<https://devfeed.tech/tags/memory-safety-verification.md>), [nitro-isolation-engine](<https://devfeed.tech/tags/nitro-isolation-engine.md>), [nitro-system](<https://devfeed.tech/tags/nitro-system.md>), [provable-security](<https://devfeed.tech/tags/provable-security.md>), [rust](<https://devfeed.tech/tags/rust.md>), [rust-formal-verification](<https://devfeed.tech/tags/rust-formal-verification.md>), [security](<https://devfeed.tech/tags/security.md>), [security-privacy-and-abuse-prevention](<https://devfeed.tech/tags/security-privacy-and-abuse-prevention.md>)

### AI overview

Amazon describes formally verifying the Nitro Isolation Engine, a separation-kernel component that enforces isolation between EC2 virtual machines. The verification uses Isabelle/HOL and is deployed as an always-on feature for Graviton5 users.

### Source excerpt

Splitting the "separation kernel" off from the rest of the Nitro security system and using only a subset of the Rust programming language to code it enabled its formal verification.