// publicmosaic.yar — generated 2026-10-31 11:37 UTC — 1 rule, 4 hashes — TLP:CLEAR // source: https://publicmosaic.com — published for defensive use // scope: configuration endpoint — https://publicmosaic.com/config/endpoint/MTU0LjkxLjYwLjEyMTo4MDc0 // 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/MTU0LjkxLjYwLjEyMTo4MDc0" generated = "2026-10-31 11:37 UTC" tlp = "clear" condition: hash.sha256(0, filesize) == "28320f775daf0d0ae80fecc5711e944e023f76e00f86b053d3db3a4f5cc680bb" or hash.sha256(0, filesize) == "4c337d6376e96b8fdf7b7dd1a49010489d1b9f700b4e4efb10d81ca0873f1498" or hash.sha256(0, filesize) == "60b696ed267319baf0ccedda8801b9fd6165102b3682237117c50d74c0461f96" or hash.sha256(0, filesize) == "ddf3d36ed0ecdc3a669cf23e17d230cdfa6461a8b7c360f42a36c7abc6b728f8" }