// publicmosaic.yar — generated 2026-10-30 22:07 UTC — 1 rule, 4 hashes — TLP:CLEAR // source: https://publicmosaic.com — published for defensive use // scope: configuration endpoint — https://publicmosaic.com/config/endpoint/MTA3LjE3Mi4yMTQuMjE0OjgwODQ // 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/MTA3LjE3Mi4yMTQuMjE0OjgwODQ" generated = "2026-10-30 22:07 UTC" tlp = "clear" condition: hash.sha256(0, filesize) == "4d6046c4e2479e395cad8533bd62576ba78d892f3b0b08882370153e6e9773bf" or hash.sha256(0, filesize) == "7f97025696fdb112d53c7e8e8b3c48e30e6d9743a855b4d227c34663c9d84d29" or hash.sha256(0, filesize) == "8c43df6e0be4707134c8651f86263d07a4dd42e3de96eab65b7fb70799f44f57" or hash.sha256(0, filesize) == "bac1393a58c35de2ed4bf7327498a86241c7e94550f3d11204240680e1c36712" }