// publicmosaic.yar — generated 2026-10-31 03:07 UTC — 1 rule, 4 hashes — TLP:CLEAR // source: https://publicmosaic.com — published for defensive use // scope: configuration endpoint — https://publicmosaic.com/config/endpoint/NjYuMTU0LjExOS4yMjQ6ODg5OQ // 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/NjYuMTU0LjExOS4yMjQ6ODg5OQ" generated = "2026-10-31 03:07 UTC" tlp = "clear" condition: hash.sha256(0, filesize) == "8391f0547e652444c98b66bdc5a644b086e13bd5a2818ae5c697b374956f7005" or hash.sha256(0, filesize) == "8803c9c390385aba585cf74734bd311521702b4f43a41788612e1fe95fac94fe" or hash.sha256(0, filesize) == "9b2125e6f1149f21625536d9b4e52cf8cb4483c46a18c6ad2f92eac9938a0920" or hash.sha256(0, filesize) == "bde639a47a7421fd4c282255ccfbb2daa6eb80a10a8298986592f171de58bd47" }