// publicmosaic.yar — generated 2026-10-30 21:37 UTC — 1 rule, 4 hashes — TLP:CLEAR // source: https://publicmosaic.com — published for defensive use // scope: configuration endpoint — https://publicmosaic.com/config/endpoint/MTczLjI0OS4yMjAuMTM4OjQ0Mw // 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/MTczLjI0OS4yMjAuMTM4OjQ0Mw" generated = "2026-10-30 21:37 UTC" tlp = "clear" condition: hash.sha256(0, filesize) == "2ae74c8f116853d1d06a90607a17a61f354039875307ad1f8626df9ad6a0d81b" or hash.sha256(0, filesize) == "2f18729a8f0e0d1e1798171485edc776b135ca73e19a476a637a2b65b38245b3" or hash.sha256(0, filesize) == "47e5b783b5fd2ea10b942c5761eaa621c082273e988b6abc5541ba81f0e78138" or hash.sha256(0, filesize) == "dccfb87854ccd14a705b0bf1726b71790e8df01165583f6f41ef10fcb265650e" }