// publicmosaic.yar — generated 2026-10-31 04:07 UTC — 1 rule, 4 hashes — TLP:CLEAR // source: https://publicmosaic.com — published for defensive use // scope: configuration endpoint — https://publicmosaic.com/config/endpoint/MTQ4LjY2LjE3LjEyMjo2MDAwMQ // 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/MTQ4LjY2LjE3LjEyMjo2MDAwMQ" generated = "2026-10-31 04:07 UTC" tlp = "clear" condition: hash.sha256(0, filesize) == "0fa109dcc6b75d23bb36dbc5b0985c22364a4377b39e93a30fc6d292330a4a02" or hash.sha256(0, filesize) == "37d8a404f723229df9979b66a803c24b0eb2738c8f1c90304da1d1a02a211f86" or hash.sha256(0, filesize) == "cd1229457524a3e3ca61193b2d69fb35fbd1f8d4d8302eeaf34dc1367d448749" or hash.sha256(0, filesize) == "e885295ab72293e80fdd3823d7843dd729d9383cc8c22cf788fecd1e0b31ddfb" }