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