// publicmosaic.yar — generated 2026-10-30 21:07 UTC — 1 rule, 4 hashes — TLP:CLEAR // source: https://publicmosaic.com — published for defensive use // scope: configuration endpoint — https://publicmosaic.com/config/endpoint/MTcyLjI0NS4xNjguMjQwOjgw // 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/MTcyLjI0NS4xNjguMjQwOjgw" generated = "2026-10-30 21:07 UTC" tlp = "clear" condition: hash.sha256(0, filesize) == "307c29f0ffb0f2f55adb4425894de7cc0f23489779f9d3b5d3ba31748c990e1d" or hash.sha256(0, filesize) == "31fb732a1ab9e0cf48762d949d695a76c01646d39a9e329b14cea801504ce43b" or hash.sha256(0, filesize) == "b45587c8fae137c4b59870bcb4925fb99e291d45e8b43e8df27bf146382a146b" or hash.sha256(0, filesize) == "ea546b7d63dfa4608392afa46a779db82a8f1d49ebee60559a44fda6fd91ea07" }