Skip to content

About

AI-powered network vulnerability scanner · SecureBERT 2.0 + FAISS HNSW + BM25 hybrid retrieval · 87.5% Recall@5 on 105,210 NVD CVEs · OpenVINO XPU

Topics

Resources

Security policy

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

CVEye logo

CVEye

NeualRecon-Semnatic-CVE-Scanner

AI-powered network vulnerability scanning with semantic CVE retrieval.

Python Platform OpenVINO FAISS Retrieval NVD License

Recall@5: 87.5% · 105,210 CVEs · Hybrid Retrieval · OpenVINO XPU


Overview

CVEye is an AI-powered semantic CVE scanner that maps network service fingerprints to likely vulnerabilities using modern information retrieval instead of static signature matching.

It combines:

  • nmap for service discovery
  • SecureBERT 2.0 for semantic embedding
  • BM25 for lexical filtering
  • FAISS HNSW for fast vector search
  • Intel OpenVINO for accelerated inference on Intel hardware

The result is a practical vulnerability intelligence pipeline for home labs, enterprise services, VPN appliances, and container infrastructure.


Why This Project

Traditional scanners depend heavily on exact signatures and version rules. CVEye explores a different direction: semantic vulnerability retrieval, where a discovered service is transformed into a security-focused query and matched against a large CVE corpus.

That makes this project useful for:

  • AI-powered vulnerability research
  • semantic search over NVD data
  • cyber security engineering portfolios
  • retrieval system benchmarking in security domains

Key Features

  • nmap-based service discovery for hosts, ports, and versions
  • Semantic CVE retrieval over the NVD vulnerability corpus
  • Two-stage hybrid search using BM25 candidate filtering and dense reranking
  • FAISS HNSW index for scalable similarity search
  • Intel OpenVINO XPU acceleration for fast inference
  • Evaluation pipeline with Recall@1, Recall@3, and Recall@5
  • Temporal sanity filtering to reduce obviously invalid matches
  • Fallback emergency CVE database when a full local index is unavailable

Architecture

nmap recon
   -> service fingerprint extraction
   -> semantic query building
   -> SecureBERT embedding
   -> BM25 candidate filtering
   -> dense cosine reranking with FAISS
   -> top-k CVE reporting

Retrieval Flow

  1. Discover services on the target host or subnet.
  2. Convert service banners into security-oriented semantic queries.
  3. Retrieve BM25 candidates from the CVE corpus.
  4. Rerank them with dense embeddings.
  5. Produce a scored CVE report with confidence signals.

Benchmark Results

Evaluation was run on 48 ground-truth service-to-CVE pairs across 8 categories.

Metric Score
Recall@1 41.7%
Recall@3 66.7%
Recall@5 87.5%

Category Highlights

  • Kubernetes & Containers: 100% Recall@3
  • Home / Lab Network: 80% Recall@3
  • VPN & Network Infrastructure: 80% Recall@3
  • Industrial / SCADA: weakest current area, good candidate for future tuning

Headline Result

Semantic retrieval achieves 87.5% Recall@5 across a corpus of 105,210 CVEs, dramatically outperforming random retrieval.


Tech Stack

Layer Technology
Recon nmap
Embedding SecureBERT 2.0
Inference Intel OpenVINO
Lexical Retrieval BM25
Vector Search FAISS HNSW
Data Source NVD API v2.0
Language Python

Project Structure

semantic-cve-scanner/
├── main.py
├── retriever.py
├── model_loader.py
├── build_nvd_db.py
├── eval.py
├── patch_index.py
├── similarity_probe.py
├── requirements.txt
├── .env.example
├── SECURITY.md
├── LICENSE
├── logo.jpg
└── data/

Installation

git clone https://github.com/parastak/NeuralRecon-Semantic-Cve-Scanner.git
cd semantic-cve-scanner

python -m venv venv
source venv/bin/activate
pip install -r requirements.txt

Configure NVD API Key

export NVD_API_KEY="your-key-here"

Build the Local CVE Database

python build_nvd_db.py

Usage

Scan localhost

python main.py

Scan a single host

python main.py 127.0.0.1

Scan a router or device

sudo env PATH="$PATH" python main.py 10.0.0.1 --top-k 5

Scan a subnet

sudo env PATH="$PATH" python main.py 10.0.0.0/24 --top-k 5

Run evaluation

python eval.py --verbose

Security Notice

Use this tool only on systems you own or for which you have explicit written authorization. Unauthorized network scanning may be illegal and unethical.

Do not upload scan reports, local datasets, API keys, or generated network intelligence files to public repositories.


License

MIT


Author

Paras Tak

If this project is useful, give it a star and share it with the security and ML community.

About

AI-powered network vulnerability scanner · SecureBERT 2.0 + FAISS HNSW + BM25 hybrid retrieval · 87.5% Recall@5 on 105,210 NVD CVEs · OpenVINO XPU

Topics

Resources

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages