malware-modeler 0.0.4

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)]

/// 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!(
    "v",
    env!("CARGO_PKG_VERSION"),
    "-",
    env!("VERGEN_GIT_SHA"),
    " ",
    env!("VERGEN_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>;