A real-time threat intelligence dashboard focused on CVEs affecting financial sector infrastructure — banks, fintech platforms, payment processors, and trading systems.
- CVE tracking — queries the NVD API for vulnerabilities matching financial sector keywords (banking, payment, swift, fintech, etc.)
- CISA KEV integration — cross-references results against the Known Exploited Vulnerabilities catalog and flags active threats
- Severity analysis — CVSS scoring with breakdown by CRITICAL / HIGH / MEDIUM / LOW
- Trend visualization — daily CVE volume over configurable lookback windows (7–90 days)
- Filterable table — sort and explore CVEs by CVSS score, severity, or KEV status
| Source | Description |
|---|---|
| NVD (NIST) | National Vulnerability Database CVE feed |
| CISA KEV | Known Exploited Vulnerabilities catalog |
git clone https://github.com/akshatg10104/finshield.git
cd finshield
pip install -r requirements.txt
streamlit run app.pyPython 3.10+ required.
finshield/
├── app.py # Streamlit dashboard
├── utils/
│ ├── nvd_client.py # NVD API wrapper
│ ├── cisa_client.py # CISA KEV client + financial filter
│ └── finance_keywords.py # Vendor/keyword lists
└── requirements.txt
- The NVD API rate-limits unauthenticated requests to ~5 req/30s. Data is cached for 1 hour to stay within limits. For higher volume, set
NVD_API_KEYin a.envfile (see NVD API key request). - CISA KEV financial filtering uses keyword matching across vendor, product, and description fields — it may miss niche vendors not in the keyword list.