// publicmosaic.yar — generated 2026-10-31 11:37 UTC — 1 rule, 4 hashes — TLP:CLEAR // source: https://publicmosaic.com — published for defensive use // scope: configuration endpoint — https://publicmosaic.com/config/endpoint/MTU0Ljg4Ljk3LjQ3Ojg4ODQ // 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/MTU0Ljg4Ljk3LjQ3Ojg4ODQ" generated = "2026-10-31 11:37 UTC" tlp = "clear" condition: hash.sha256(0, filesize) == "12356d2b62d81f3defa7d2a1e89f115514c172087d2efc5f87b35347f33e977d" or hash.sha256(0, filesize) == "2391df4172e8ff010756284b43a25a870851d28ccb3af8e17893207e4a47ea6d" or hash.sha256(0, filesize) == "456f9aa94bd01230201760824455f9e68d392a32395122ebab8f5ddcef8ab0d9" or hash.sha256(0, filesize) == "8b197ad510354ea98ce00f89933445100075cd31a3ec0edffc014944b39cd9f8" }