// publicmosaic.yar — generated 2026-10-30 21:07 UTC — 1 rule, 4 hashes — TLP:CLEAR // source: https://publicmosaic.com — published for defensive use // scope: configuration endpoint — https://publicmosaic.com/config/endpoint/NTAuMTE0LjE4NC4xNTc6NDQz // 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/NTAuMTE0LjE4NC4xNTc6NDQz" generated = "2026-10-30 21:07 UTC" tlp = "clear" condition: hash.sha256(0, filesize) == "7a17a160abc8204ba11a8be626a37fe26d48d1a20532e8e02c9d55ea4fc8d19e" or hash.sha256(0, filesize) == "80bc06a31f6958eb3cde3222812ac331ef0437cdeb4310b9fca24b272e590084" or hash.sha256(0, filesize) == "88324017587e824c9801fc5ecd920a07e2bd71ff9fcbebe38429046aa9a1b0ed" or hash.sha256(0, filesize) == "c964d4b0aa6aa73f069ad36be8c0e32daa19e18e3c62c73fc2fde8199e319140" }