#![cfg_attr(coverage_nightly, coverage(off))]
use super::{MakefileRule, Severity, Violation};
use crate::services::makefile_linter::ast::{MakefileAst, NodeData};
use regex::Regex;
use std::sync::OnceLock;
#[derive(Debug, Default)]
pub struct ShellInjectionRule;
#[derive(Debug, Default)]
pub struct SensitiveDataRule;
#[derive(Debug, Default)]
pub struct UnsafeCommandRule;
#[derive(Debug, Default)]
pub struct PrivilegeEscalationRule;
include!("security_rules.rs");
include!("security_helpers.rs");
#[cfg_attr(coverage_nightly, coverage(off))]
#[cfg(test)]
mod tests {
use super::*;
use crate::services::makefile_linter::parser::MakefileParser;
include!("security_tests.rs");
}