// 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/MTM5LjE4MC4yMjIuMjM3OjgzMjE // 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/MTM5LjE4MC4yMjIuMjM3OjgzMjE" generated = "2026-10-30 21:07 UTC" tlp = "clear" condition: hash.sha256(0, filesize) == "3971882b219f10243d7a6241ede6301e4e44602c8d3bd9b2586d3a40a16e8bf2" or hash.sha256(0, filesize) == "9b37495bbb219c8de3bb42f44346105941b89fbf6d866f27f5580aa80e178742" or hash.sha256(0, filesize) == "f9dd8c0206c7e60cc7e27b80921424c68515b1aa3519b3e2e60b4871eabfc926" or hash.sha256(0, filesize) == "fab0848f7ec4285c89d125205bc842eebf8d38c4550babcf71012ee4e602f465" }