Both x_MD5_Hash and x_SHA2_Hash are empty in the Silent POST sent to CBSubs from Authorize.net. This means we can't verify the signature or even fallback to verifying MD5. Below is a 6 page topic with over 50 replies on their forums about this very issue.
community.developer.cybersource.com/t5/Integration-and-Testing/no-data-in-x-SHA2-Hash-when-using-Silent-Post/td-p/66218
The issue is entirely on Authorize.net end of things as we again can't process data that does not exist.
I get that they want to discontinue AIM and Silent Post, but this isn't some API for rendering funny pictures. We're dealing with transactions here. They need to have life-long fallback behavior or they cripple sites processing payments through them. It is unreasonable for developers to have spend hours and thousands of dollars to rewrite payment integrations because that payment processor doesn't want to have proper API B/C. I do not have the time nor do we have the funding to rewrite Authorize.net from the ground up into their new API. In short if Authorize.net wants us to rewrite to the newer API either them or someone else will have to sponsor the development. My recommendation is move to Stripe and rid yourself of terrible payment processor headaches.