Security Connectors
Gideon uses a plugin-based Security Connector architecture to fetch and normalize data from various threat intelligence sources.
Overview
Section titled âOverviewâEach connector is responsible for:
- Fetching: Querying the external API with proper authentication and rate limiting.
- Normalizing: Converting vendor-specific JSON into Gideonâs standard
NormalizedDataformat. - Ranking: Sorting and scoring results based on severity and confidence.
Supported Connectors
Section titled âSupported Connectorsâ1. CVE Connector (NVD)
Section titled â1. CVE Connector (NVD)âThe CVE connector searches the National Vulnerability Database (NVD) and CISAâs KEV (Known Exploited Vulnerabilities) catalog.
- Capability: Vulnerability research, CVSS scoring, and affected product analysis.
- Configuration:
Terminal window NVD_API_KEY=your_key_here - Data Points:
- CVE ID & Summary
- CVSS 3.1 Severity & Vector
- Affected CPEs (Vendor/Product)
- Reference URLs
2. IOC Connector (VirusTotal & AbuseIPDB)
Section titled â2. IOC Connector (VirusTotal & AbuseIPDB)âThe IOC (Indicator of Compromise) connector analyzes IPs, Domains, URLs, and File Hashes.
- Capability: Reputation checks and malware analysis.
- Configuration:
Terminal window VIRUSTOTAL_API_KEY=your_key_hereABUSEIPDB_API_KEY=your_key_here - Detection Logic:
- IPs: Checked against AbuseIPDB for report history and VirusTotal for malicious flags.
- Hashes: Searched in VirusTotalâs file database.
- Domains/URLs: Analyzed for phishing and DGA patterns.
Data Normalization
Section titled âData NormalizationâAll security data in Gideon is normalized to a common schema:
interface NormalizedData { id: string; source: string; type: 'cve' | 'ioc' | 'summary'; severity: 'CRITICAL' | 'HIGH' | 'MEDIUM' | 'LOW' | 'INFORMATIONAL'; confidence: number; // 0.0 to 1.0 summary: string; details: Record<string, any>; timestamp: string; url?: string;}Adding Custom Connectors
Section titled âAdding Custom ConnectorsâGideon is designed to be extensible. To add a new connector:
- Create a new file in
src/tools/security/. - Implement the
SecurityConnectorinterface. - Register it in the
ConnectorRegistry.