// publicmosaic.yar — generated 2026-10-31 05:07 UTC — 1 rule, 4 hashes — TLP:CLEAR // source: https://publicmosaic.com — published for defensive use // scope: configuration endpoint — https://publicmosaic.com/config/endpoint/MjA2LjIzOC4xMjMuMTE3OjQ0Mw // 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/MjA2LjIzOC4xMjMuMTE3OjQ0Mw" generated = "2026-10-31 05:07 UTC" tlp = "clear" condition: hash.sha256(0, filesize) == "29c7213b9ca39728d0b909f042ca586d2aa8a14864bad8981bb236df72f3b17b" or hash.sha256(0, filesize) == "2ea80b70e37ea05728c3f1270f20f22459fb105eb01166b8d83657429cd63e80" or hash.sha256(0, filesize) == "301f23bb32cb48eac84f38748202465311b01da3cef4c463c61f4debbfd5d8b2" or hash.sha256(0, filesize) == "b82f5fa105cbee60492ea1ad9bf02d9f9ea0043e90d61cb76518c20369943d56" }