nessus-parser

Crates.ionessus-parser
lib.rsnessus-parser
version0.1.0
created_at2025-09-01 19:10:57.063781+00
updated_at2025-09-01 19:10:57.063781+00
descriptionA parser for `.nessus` (v2) XML reports
homepage
repositoryhttps://github.com/adriandelgado/nessus-parser
max_upload_size
id1820121
size94,202
Adrián Delgado (adriandelgado)

documentation

README

Nessus Parser

Crates.io Docs.rs License

A parser for .nessus (v2) XML reports.

This library provides strongly-typed data structures to represent the data from a Nessus vulnerability scan, allowing for safe and efficient analysis of scan results. It is designed to be fast by avoiding most allocations and string copies, borrowing directly from the input XML string.

This has been tested on a large sample of Nessus files, however the documentation is full of typos and contradictions, so this may not work on all possible Nessus files. Please report any issues with minimal examples of files that aren't properly parsed.

Features

  • Comprehensive Parsing: Models the NessusClientData_v2 format, including Policy, Report, Host, HostProperties, and ReportItem elements.
  • Strongly-Typed: Maps Nessus data to expressive Rust structs and enums, preventing common errors and making the data easy to work with.
  • Structured Data: Intelligently parses complex string-based fields, like the output of the "Ping the remote host" plugin, into a structured PingOutcome enum.
  • Robust: Built on top of the roxmltree crate for fast and correct XML processing.

Contributing

Contributions are welcome! Please feel free to submit a pull request or open an issue for bugs, feature requests, or suggestions.

License

This project is licensed under either of

at your option.

Commit count: 5

cargo fmt