// publicmosaic.yar — generated 2026-10-31 02:07 UTC — 1 rule, 4 hashes — TLP:CLEAR // source: https://publicmosaic.com — published for defensive use // scope: configuration endpoint — https://publicmosaic.com/config/endpoint/NDcuMjQzLjE3Ny4yNTE6ODA4Mw // 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/NDcuMjQzLjE3Ny4yNTE6ODA4Mw" generated = "2026-10-31 02:07 UTC" tlp = "clear" condition: hash.sha256(0, filesize) == "1ca1fbdf8439de4587b124b37b98d9e6612196a9b8a0f4a05764f70f2e424980" or hash.sha256(0, filesize) == "a1ea8c2ddf7febced8fa2ba0320cd7ecb8f3ce5673a54de8409c4517569a013b" or hash.sha256(0, filesize) == "b8fe3283d03815badf0bcfc1e89e55b77a8a72b2d5951b4c57a13d7529069f09" or hash.sha256(0, filesize) == "d96d37b2d84e2aa56583c841d73f25c417ace541448e4f47ca1487ac9363374c" }