// publicmosaic.yar — generated 2026-10-31 08:07 UTC — 1 rule, 4 hashes — TLP:CLEAR // source: https://publicmosaic.com — published for defensive use // scope: configuration endpoint — https://publicmosaic.com/config/endpoint/MTU0Ljg4Ljk4LjU4Ojg4ODQ // 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/MTU0Ljg4Ljk4LjU4Ojg4ODQ" generated = "2026-10-31 08:07 UTC" tlp = "clear" condition: hash.sha256(0, filesize) == "28ce8e9dd5f93421e86ddaa2dd1f3a2859de7f3bcd1d10679740a8cd6b84d188" or hash.sha256(0, filesize) == "30f951a5bc3db2e60d1e1b66ee83d83875295814ee5e4e4386b5b2113a3a93a5" or hash.sha256(0, filesize) == "39abf10427fee85b52a70593ea8ea2b36a6be6648fb5b9f73ce45305601a8c3e" or hash.sha256(0, filesize) == "3e04a313e588ec9baee714162b143e9fd457b8b56770c0a791d49da22655368f" }