forensicnomicon-cli 0.1.2

4n6query — DFIR lookup tool: query LOL/LOFL binaries, abusable sites, and 6,548 forensic artifacts from the command line
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
rust-version = "1.75"
name = "forensicnomicon-cli"
version = "0.1.2"
authors = ["Albert Hui <albert@securityronin.com>"]
build = false
exclude = [
    ".github/",
    "target/",
    "wix/",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
default-run = "4n6query"
description = "4n6query — DFIR lookup tool: query LOL/LOFL binaries, abusable sites, and 6,548 forensic artifacts from the command line"
homepage = "https://github.com/SecurityRonin/forensicnomicon"
documentation = "https://docs.rs/forensicnomicon"
readme = "README.md"
keywords = [
    "dfir",
    "forensics",
    "lolbins",
    "mitre-attack",
    "soc",
]
categories = ["command-line-utilities"]
license = "Apache-2.0"
repository = "https://github.com/SecurityRonin/forensicnomicon"

[package.metadata.deb]
maintainer = "SecurityRonin <security-ronin@users.noreply.github.com>"
section = "utils"
priority = "optional"
extended-description = """
4n6query is the DFIR query CLI for the forensicnomicon catalog.
Look up any binary (certutil.exe, osascript, curl), abusable domain (raw.githubusercontent.com), MITRE technique (T1547.001), or keyword (userassist, prefetch) across 6,548 enriched forensic artifacts, all six LOL/LOFL datasets (Windows/macOS/Linux), and 54 abusable sites.
Also ships as 4q — the short alias for interactive use."""
assets = [
    [
    "target/release/4n6query",
    "usr/bin/4n6query",
    "755",
],
    [
    "../../dist/4q",
    "usr/bin/4q",
    "755",
],
]

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

[[test]]
name = "cli_integration"
path = "tests/cli_integration.rs"

[dependencies.clap]
version = "4"
features = ["derive"]

[dependencies.crossterm]
version = "0.28"

[dependencies.dirs]
version = "5"

[dependencies.forensicnomicon]
version = "1.0"
features = ["serde"]

[dependencies.ratatui]
version = "0.29"

[dependencies.serde]
version = "1"
features = ["derive"]

[dependencies.serde_json]
version = "1"

[dependencies.serde_yaml]
version = "0.9"

[dependencies.toml]
version = "0.8"

[dev-dependencies.assert_cmd]
version = "2"

[dev-dependencies.predicates]
version = "3"

[lints.clippy.all]
level = "warn"
priority = -1

[lints.clippy.case_sensitive_file_extension_comparisons]
level = "allow"
priority = 1

[lints.clippy.cast_possible_truncation]
level = "allow"
priority = 1

[lints.clippy.cast_possible_wrap]
level = "allow"
priority = 1

[lints.clippy.cast_precision_loss]
level = "allow"
priority = 1

[lints.clippy.cast_sign_loss]
level = "allow"
priority = 1

[lints.clippy.correctness]
level = "deny"
priority = -1

[lints.clippy.doc_markdown]
level = "allow"
priority = 1

[lints.clippy.expect_used]
level = "deny"
priority = 0

[lints.clippy.items_after_statements]
level = "allow"
priority = 1

[lints.clippy.missing_errors_doc]
level = "allow"
priority = 1

[lints.clippy.missing_panics_doc]
level = "allow"
priority = 1

[lints.clippy.module_name_repetitions]
level = "allow"
priority = 1

[lints.clippy.must_use_candidate]
level = "allow"
priority = 1

[lints.clippy.pedantic]
level = "warn"
priority = -1

[lints.clippy.similar_names]
level = "allow"
priority = 1

[lints.clippy.suspicious]
level = "deny"
priority = -1

[lints.clippy.too_many_lines]
level = "allow"
priority = 1

[lints.clippy.unreadable_literal]
level = "allow"
priority = 1

[lints.clippy.unwrap_used]
level = "deny"
priority = 0

[lints.rust]
unsafe_code = "forbid"