// publicmosaic.yar — generated 2026-10-30 21:37 UTC — 1 rule, 4 hashes — TLP:CLEAR // source: https://publicmosaic.com — published for defensive use // scope: configuration endpoint — https://publicmosaic.com/config/endpoint/NTIuMTI4LjIyNC4yMzc6OTA5MA // 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/NTIuMTI4LjIyNC4yMzc6OTA5MA" generated = "2026-10-30 21:37 UTC" tlp = "clear" condition: hash.sha256(0, filesize) == "29ad9bc04d834394c23fa7c66ed37c478e75d9c4676aa3b0565d06d62f22957f" or hash.sha256(0, filesize) == "2c00a533540aa736eee768aea0b5e487b1341d7e2b1d9655ea318961f7949e7d" or hash.sha256(0, filesize) == "a8917758ac5b5de6eda05fc3fd1f0dbb23521ed750e63c6b801c8f1d9f0c6269" or hash.sha256(0, filesize) == "feb6368a3883566084280d153f5851dd6a787b36e53fe91634e0b8764e7497b8" }