Feature/output logo#206 (#222)
* add output logo #206 * added newline and orgnization name #206 * add output rule count #200 * Changed yml summarize the totals for each folder hierarchy. #157 * added analyzing evtx file count output #157 * added loaded rule count output #157 * added quiet option #206
This commit is contained in:
@@ -2,6 +2,7 @@ extern crate csv;
|
||||
|
||||
use crate::detections::rule::AggResult;
|
||||
use serde_json::Value;
|
||||
use std::collections::HashMap;
|
||||
use tokio::{runtime::Runtime, spawn, task::JoinHandle};
|
||||
|
||||
use crate::detections::print::AlertMessage;
|
||||
@@ -51,6 +52,11 @@ impl Detection {
|
||||
// ルールファイルのパースを実行
|
||||
let mut rulefile_loader = ParseYaml::new();
|
||||
let result_readdir = rulefile_loader.read_dir(rulespath.unwrap_or(DIRPATH_RULES), &level);
|
||||
Detection::print_rule_load_info(
|
||||
rulefile_loader.rulecounter,
|
||||
rulefile_loader.parseerror_count,
|
||||
rulefile_loader.ignore_count,
|
||||
);
|
||||
if result_readdir.is_err() {
|
||||
AlertMessage::alert(
|
||||
&mut std::io::stderr().lock(),
|
||||
@@ -201,6 +207,21 @@ impl Detection {
|
||||
));
|
||||
return ret;
|
||||
}
|
||||
pub fn print_rule_load_info(
|
||||
rc: HashMap<String, u128>,
|
||||
parseerror_count: u128,
|
||||
ignore_count: u128,
|
||||
) {
|
||||
let mut total = parseerror_count + ignore_count;
|
||||
rc.into_iter().for_each(|(key, value)| {
|
||||
println!("{} Rules: {}", key, value);
|
||||
total += value;
|
||||
});
|
||||
println!("Ignored Rule Count: {}", ignore_count);
|
||||
println!("Rule Parse Errors Count: {}", parseerror_count);
|
||||
println!("Total Detection Rules: {}", total);
|
||||
println!("");
|
||||
}
|
||||
}
|
||||
|
||||
#[test]
|
||||
|
||||
Reference in New Issue
Block a user