/* * Hound built-in starter pack. * * Deliberately tiny and deliberately tight. Every rule here requires * several independent strings before it fires, because a false positive * in an antivirus is worse than a miss — one rule that quarantines a * system binary ends the product. * * The real corpus lands in Phase 3 (the signed Hound Linux pack, gated * behind the goodware CI regression suite). This pack exists so a fresh * install detects *something* before it has ever contacted the network. */ rule EICAR_Test_File { meta: name = "EICAR-Test-Signature" severity = "info" desc = "Industry-standard antivirus test file. Harmless." strings: $eicar = "X5O!P%@AP[4\\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*" condition: $eicar } rule Linux_Coinminer_XMRig { meta: name = "Linux.Coinminer.XMRig" severity = "critical" desc = "XMRig cryptocurrency miner. Requires pool protocol plus two config keys." strings: $pool1 = "stratum+tcp://" ascii $pool2 = "stratum+ssl://" ascii $cfg1 = "donate-level" ascii $cfg2 = "rig-id" ascii $cfg3 = "randomx" ascii nocase $name = "xmrig" ascii nocase condition: ($pool1 or $pool2) and 2 of ($cfg*) and $name } rule Linux_Webshell_PHP_Eval { meta: name = "Linux.Webshell.PHP-Eval" severity = "critical" desc = "PHP webshell: request-driven eval of decoded input." strings: $php = "