// 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/MTM0LjIwOS4yMTQuMTc4OjEwOTEx // 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/MTM0LjIwOS4yMTQuMTc4OjEwOTEx" generated = "2026-10-30 22:07 UTC" tlp = "clear" condition: hash.sha256(0, filesize) == "2eb0f4d86f6f98ab42e80d9627604f034eeb73ad4137a62d18a4cde76bfc1ca7" or hash.sha256(0, filesize) == "320a29f452d1c87736a4f476937c8e98182eda7089e26ae8daead6db41d8fbb4" or hash.sha256(0, filesize) == "71ae8745cfd8e2ac9436467f58bfc34e8717c5a1eb8b4ee82c582e27a248fb79" or hash.sha256(0, filesize) == "ef396b9f10d0bccdd8d0dcd042ad116c551be9d09327c2ea0d610ab276c0c435" }