boreal-cli 1.2.0

CLI utility to run boreal, a YARA rules engine
[package]
name = "boreal-cli"
version = "1.2.0"
description = "CLI utility to run boreal, a YARA rules engine"
repository = "https://github.com/vthib/boreal"
readme = "README.md"
license = "MIT OR Apache-2.0"
keywords = ["boreal", "yara", "string-matching", "scan"]
categories = ["command-line-utilities", "text-processing"]
edition = "2024"

[[bin]]
name = "boreal"
path = "src/main.rs"

[features]
default = ["authenticode", "memmap", "profiling", "serialize"]

# Enable authenticode parsing in boreal, requires OpenSSL
authenticode = ["boreal/authenticode"]
authenticode-verify = ["boreal/authenticode-verify"]

# Enable use of memory maps to load files to scan.
memmap = ["boreal/memmap"]
# Enables scan statistics. Should not impact performances
# significantly, and very useful in a CLI tool to debug rules.
profiling = ["boreal/profiling"]

# Enable serialization to be able to save rules into bytes and
# reload it.
serialize = ["boreal/serialize"]

# Enable the cuckoo module.
cuckoo = ["boreal/cuckoo"]

[dependencies]
boreal = { path = "../boreal", version = "1.2.0" }

# CLI arguments handling
clap = { version = "4.6", features = ["cargo"] }

# Proper error reporting on parsing
codespan-reporting.workspace = true

# Parallel evaluation on scanned directories
crossbeam-channel = "0.5"

# Display of bytes values
hex = "0.4"

# Walking through directories
walkdir = "2.5"

[dev-dependencies]
# Testing for the CLI
assert_cmd = "2.2"
tempfile.workspace = true
predicates = { version = "3.1", default-features = false, features = ["regex"] }

[lints]
workspace = true