> For the complete documentation index, see [llms.txt](https://docs.revault.onepub.dev/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.revault.onepub.dev/docs/fuzzing.md).

# Fuzzing

The Rust implementation includes `cargo-fuzz` scaffolding under `rust/fuzz`.

Targets:

* `header`: fixed-header and lockbox-id parsing.
* `key_directory`: password-slot/key-directory open path.
* `pages_recovery`: page scanning, recovery, and salvage.
* `paths`: logical path, symlink, and listing API inputs.

Run locally with:

```bash
cd rust/fuzz
cargo fuzz run header
cargo fuzz run key_directory
cargo fuzz run pages_recovery
cargo fuzz run paths
```

Next steps:

* Add seed corpora from valid small vaults, corrupted headers, corrupted TOCs, and path edge cases.
* Add CI/nightly fuzz smoke jobs with short time limits.
* Add dedicated TOC and payload decoder targets if those internals become public to the fuzz crate or move behind a fuzzing feature.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.revault.onepub.dev/docs/fuzzing.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
