// publicmosaic.yar — generated 2026-10-30 21:07 UTC — 1 rule, 4 hashes — TLP:CLEAR // source: https://publicmosaic.com — published for defensive use // scope: configuration endpoint — https://publicmosaic.com/config/endpoint/MjA3LjU2LjExLjQ5OjgwODQ // 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/MjA3LjU2LjExLjQ5OjgwODQ" generated = "2026-10-30 21:07 UTC" tlp = "clear" condition: hash.sha256(0, filesize) == "347e4d85e27c8a14089237cf4b4961c4ce3fd266cf85072a9a31c5577da34a31" or hash.sha256(0, filesize) == "93d283b3e725a1e122c23743ac4e1e6c517364321e207906c317a5438fb664c3" or hash.sha256(0, filesize) == "cc0fb1da29317373bd3d13376de1d7c560f85068e50449dd3786dfa12cc86a4f" or hash.sha256(0, filesize) == "d331a6bd49b7d06909ef85b12d67e97991798d3f282fdaae8295dce8d08230a1" }