// publicmosaic.yar — generated 2026-10-30 21:37 UTC — 1 rule, 4 hashes — TLP:CLEAR // source: https://publicmosaic.com — published for defensive use // scope: configuration endpoint — https://publicmosaic.com/config/endpoint/MTQ2LjIzNS4yMTYuNzo1NDMyMQ // basis: SHA-256 hash match only; no string or byte patterns. // Files known only by their Content-Type header are excluded. import "hash" rule PublicMosaic_vshell_hashes { meta: description = "VShell files observed by Public Mosaic, matched by SHA-256" basis = "hash match; no file bytes held" provenance = "file analysis, sandbox run" reference = "https://publicmosaic.com/config/endpoint/MTQ2LjIzNS4yMTYuNzo1NDMyMQ" generated = "2026-10-30 21:37 UTC" tlp = "clear" condition: hash.sha256(0, filesize) == "1e1f243da985c8a538cc303e8acc9dc8606ff198fefad4ed7fbc1d8953821ebc" or hash.sha256(0, filesize) == "3195cfd1548596ee4322bb35011617119e830909bc4c47518a82fc11a569489f" or hash.sha256(0, filesize) == "9015ec04869d4829bd41c33c46e4ece58f6b8974ddfc426a1cc31d03aa2c9c45" or hash.sha256(0, filesize) == "cf99b2e17538576fcdbf7f2bdd128a87dd92fb819c5f1668ad63cbb989ae3502" }