// 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/MTU0Ljg4Ljk3LjQ1Ojg4ODQ // 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/MTU0Ljg4Ljk3LjQ1Ojg4ODQ" generated = "2026-10-31 11:37 UTC" tlp = "clear" condition: hash.sha256(0, filesize) == "0722adf9661b4f6c1ff9efc6349da4eb3274f18079feb12372b8ad7858254345" or hash.sha256(0, filesize) == "09a98454708e7d06cbd3a92822162ca3aa33fd3e1613d0b62374933a972b40da" or hash.sha256(0, filesize) == "22c9f357b2eb1756aeb41ae5eac887047748ff8ca7f814d53e21e802c2ed8c72" or hash.sha256(0, filesize) == "2edad5fe80d7b393488a0b6ad76a2c8f35e4a746387ecfb64fd7330d2e5e1aa7" }