use serde::{Deserialize, Serialize};
use std::collections::HashMap;
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct IocDatabase {
pub version: String,
pub last_updated: String,
pub c2_ips: Vec<String>,
pub malicious_domains: Vec<String>,
pub malicious_skill_hashes: HashMap<String, String>,
pub typosquat_patterns: Vec<String>,
pub dangerous_prerequisite_patterns: Vec<String>,
pub infostealer_artifacts: InfostealerArtifacts,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct InfostealerArtifacts {
pub macos: Vec<String>,
pub linux: Vec<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct HashBaseline {
pub timestamp: String,
pub files: HashMap<String, String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct BaselineComparison {
pub added: Vec<String>,
pub modified: Vec<String>,
pub removed: Vec<String>,
}