// 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/MTI4LjI0MS4yMzEuMTM1OjE4MDgz // 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/MTI4LjI0MS4yMzEuMTM1OjE4MDgz" generated = "2026-10-30 22:07 UTC" tlp = "clear" condition: hash.sha256(0, filesize) == "89bbabd9ba96708810c5baa61507adf4c5ca95d93113314318c15a39aa515583" or hash.sha256(0, filesize) == "9356ba2ba5afd26a9be34c4f91da6c0f753f974b019435d54fbb28c305c93281" or hash.sha256(0, filesize) == "b48720205432490ebd20719498ab668296eab990f9ad02a62caf40a770d8fa1d" or hash.sha256(0, filesize) == "c9dcae038eb420fa113f721095bce368ae47ab6562bf046d1ed42ba618170a6f" }