pub struct IntelScanner {
pub client: ScanClient,
pub sources: Vec<Arc<dyn IntelSource>>,
pub cache: Option<Arc<IntelCache>>,
pub cache_ttl_secs: u64,
pub db: Option<Arc<IntelDb>>,
pub limiter: Option<Arc<ServiceRateLimiter>>,
}Expand description
Intel scanner configuration.
Fields§
§client: ScanClientHTTP client shared across all sources.
sources: Vec<Arc<dyn IntelSource>>Online enrichment sources.
cache: Option<Arc<IntelCache>>Persistent TTL cache.
cache_ttl_secs: u64Cache TTL in seconds.
db: Option<Arc<IntelDb>>Optional offline bulk database.
limiter: Option<Arc<ServiceRateLimiter>>Per-service rate limiter.
Implementations§
Source§impl IntelScanner
impl IntelScanner
Trait Implementations§
Source§impl Scanner for IntelScanner
impl Scanner for IntelScanner
Source§fn name(&self) -> &'static str
fn name(&self) -> &'static str
Stable scanner name used in logs, configuration, and output metadata.
Scanner capability tags used for module selection and reporting.
Source§fn accepts(&self, target: &Target) -> bool
fn accepts(&self, target: &Target) -> bool
Return true when this scanner can process the supplied target.
Source§fn run<'life0, 'life1, 'async_trait>(
&'life0 self,
input: ScanInput,
_config: &'life1 Config,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn run<'life0, 'life1, 'async_trait>(
&'life0 self,
input: ScanInput,
_config: &'life1 Config,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Execute the scan as a pure streaming node in the DAG.
Findings and Targets MUST be emitted via
input.emit() and input.emit_target().Auto Trait Implementations§
impl !RefUnwindSafe for IntelScanner
impl !UnwindSafe for IntelScanner
impl Freeze for IntelScanner
impl Send for IntelScanner
impl Sync for IntelScanner
impl Unpin for IntelScanner
impl UnsafeUnpin for IntelScanner
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more