malware-modeler 0.0.5

Train logisitic regression models for benign vs. malicious files based on byte n-grams and publish research, plus related tools.
Documentation
// SPDX-License-Identifier: Apache-2.0

#![doc = include_str!("../readme.md")]
#![deny(clippy::all)]
//#![deny(clippy::cargo)]
#![deny(clippy::pedantic)]
#![allow(clippy::doc_markdown)] // Clippy has issues with some names in the research list
#![deny(missing_docs)]
#![forbid(unsafe_code)]

/// Array of boolean values as a large bit vector
#[cfg(feature = "experimental")]
pub mod bitarray;

/// Data structures and logic for storing training/inference data
pub mod dataset;

/// File type detection and types
pub mod ftype;

/// Data structure and logic for training a model and calculating predictions
pub mod model;

/// N-gramming logic and data structures
pub mod ngram;

mod serde;

/// Tests for similarity between files
pub mod similarity;

/// Logic for sorting files by type so models can then be trained on them.
pub mod sorting;

/// Logic to extract files of a specified type from a ZIP archive
pub mod unzip;

/// Malware Modeler version
pub const VERSION: &str = concat!(
    env!("MALWARE_MODELER_VERSION"),
    " ",
    env!("MALWARE_MODELER_BUILD_DATE")
);

/// Maximum recursion depth when walking a directory structure
pub const MAX_RECURSION_DEPTH: usize = 10;

/// Convenience type for vector of bytes
pub type Bytes = Vec<u8>;