// 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/MTU2LjIzOC4xMjEuNTA6ODA4NQ // 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/MTU2LjIzOC4xMjEuNTA6ODA4NQ" generated = "2026-10-30 21:07 UTC" tlp = "clear" condition: hash.sha256(0, filesize) == "28047c78f49c6b2949a99c1b384697b6b0dfad93629ea804b0c920fc5c3e8ef2" or hash.sha256(0, filesize) == "2854f1f53342c12639ae8aa1e80537cc778bc3507852a9fb1f46d7e36c8a42ae" or hash.sha256(0, filesize) == "a9a93f321062cf5feb7c40bc45d3203d548743ba461db22ce6a910e09c09b494" or hash.sha256(0, filesize) == "f982713baf9171ff49e6c7d90a709112498f3cf0dd6945b03dd8b45fc2ab4873" }