// publicmosaic.yar — generated 2026-10-30 20:37 UTC — 1 rule, 4 hashes — TLP:CLEAR // source: https://publicmosaic.com — published for defensive use // scope: configuration endpoint — https://publicmosaic.com/config/endpoint/MTAzLjExNy4xMzcuMjMwOjM4ODg4 // 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/MTAzLjExNy4xMzcuMjMwOjM4ODg4" generated = "2026-10-30 20:37 UTC" tlp = "clear" condition: hash.sha256(0, filesize) == "23f81047dcdbc2f167331355806eacf2c6cb9ad21ee3e0f71bcd72bd34439e36" or hash.sha256(0, filesize) == "449eb479a8c34305632be6e1712e369be2621a8c4132c172d5674a24ecd51f9d" or hash.sha256(0, filesize) == "5f89ed9a7acba2f142ccaae1a855fc0d364986bcc830deeae444968d7156701e" or hash.sha256(0, filesize) == "ae39323e46a8822182d9bec3a27d17a63d0db610fca7cc8efbdcd409bc2e8e72" }