// publicmosaic.yar — generated 2026-10-31 10:07 UTC — 1 rule, 4 hashes — TLP:CLEAR // source: https://publicmosaic.com — published for defensive use // scope: configuration endpoint — https://publicmosaic.com/config/endpoint/MTU0Ljg4Ljk2LjQ1Ojg4ODQ // 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/MTU0Ljg4Ljk2LjQ1Ojg4ODQ" generated = "2026-10-31 10:07 UTC" tlp = "clear" condition: hash.sha256(0, filesize) == "394e3f0be390332a58955bfae93bb13a4b03b6e6da14786ef85b6a8eef0f0922" or hash.sha256(0, filesize) == "cad8b285b4a10a9aa9f981620a9d67b99c545cddee1e5b7ae87dde65c22457bb" or hash.sha256(0, filesize) == "d43c15265a550243d18df05eaa4ecd031c87d1993fa7747051fee5be0830a2dc" or hash.sha256(0, filesize) == "d52dbbe75707327ce9e20462b414ce1be417c1008589e01876f7f4a552a46f66" }