// publicmosaic.yar — generated 2026-10-30 22:07 UTC — 1 rule, 4 hashes — TLP:CLEAR // source: https://publicmosaic.com — published for defensive use // scope: configuration endpoint — https://publicmosaic.com/config/endpoint/MTUxLjI0NS45MC4xMzQ6ODA // 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/MTUxLjI0NS45MC4xMzQ6ODA" generated = "2026-10-30 22:07 UTC" tlp = "clear" condition: hash.sha256(0, filesize) == "2e4500b9da0cf4aadf170a9f61147bc8d17b89010672e3b8fb73c12ba9994779" or hash.sha256(0, filesize) == "3114d85d477b6681af6972aa5f2373098de7bbde0bf33d3faaef38b509378c9f" or hash.sha256(0, filesize) == "8a59218436d66e74c91e6ff0a33fe273a22797c61d29d3d4030e9638b9aeb3c7" or hash.sha256(0, filesize) == "a2b8f5974d5ff75269e56e1252510b2e8dae6e60d7076baeef6f5c3f67b1bc62" }