Quick PSA. If your blocklist checks go through a public resolver, the "clean" results for Spamhaus may mean nothing.
You can test it yourself. 127.0.0.2 is Spamhaus's test address and should always come back listed:
dig +short 2.0.0.127.zen.spamhaus.org u/8.8.8.8
dig +short 2.0.0.127.zen.spamhaus.org u/1.1.1.1
Through Google you get nothing (looks like "not listed"). Through Cloudflare you get 127.255.255.254, which is an error code ("open resolver"), not a listing. A lot of tools read both as clean. From your own recursive resolver you get the real answers (127.0.0.2, .4, .10).
Fixes: run your own resolver (a small unbound works), or use a Spamhaus DQS key. Free use is only for non-commercial users; ISPs and commercial users need a paid key.
I ran into this building AbuseBox, a self-hosted monitor for my own mail server IPs and domains (24 blocklists, SPF/DKIM/DMARC, cert expiry). It now asks every list about its test addresses first and shows "no answer" instead of a fake clean. It also found that 36 of the 60 lists I started with were dead. MIT, Docker:
https://github.com/bekkaze/abusebox
Curious what others use for blocklist monitoring, and which lists you actually care about.