The simplest way I found to work around this issue was by getting a list of all the OSPF passive interfaces from our Comms team and stored them in a text file on the Smarts NPM server.
We created a .import file that instantiated a GA_Driver that would read that text file into a GA_StringDictionary.
Finally, we modified the ic-ospf-interfaces.asl and ic-ospf-post.asl so that on discovery, any OSPFInterface objects were compared against the entries in that GA_StringDictionary and, if found, the interface object has IsPassive set to true.
I've always had the intention of making it so we got the list of passive interfaces at discovery time using a Perl script and the Cisco CLI but time hasn't permitted much time on that front.
Hope the info helps.