pub mod abuseipdb;
pub mod asn;
pub mod censys;
pub mod greynoise;
pub mod passive_dns;
pub mod shodan;
pub mod urlscan;
pub mod virustotal;
use crate::enrichment::IntelEnrichment;
use async_trait::async_trait;
#[async_trait]
pub trait IntelSource: Send + Sync {
fn name(&self) -> &'static str;
async fn query_ip(&self, ip: &str) -> anyhow::Result<IntelEnrichment>;
async fn query_domain(&self, domain: &str) -> anyhow::Result<IntelEnrichment>;
}