Skip to main content

AI-Assisted Network Vulnerability Assessment System — offline CVE scanning, bilingual risk narration, Textual TUI

Project description

AIVAS

AI-Assisted Network Vulnerability Assessment System

AIVAS is a free, offline-capable network vulnerability scanner for Linux. It combines Nmap service discovery, a local NIST NVD CVE database, active configuration probing, and optional AI-powered bilingual (English/Swahili) risk narration.

AIVAS TUI


Features

  • CVE correlation against a local SQLite database synced from NIST NVD (200,000+ CVEs)
  • CISA KEV flagging — marks CVEs actively exploited in the wild
  • Level 1 active configuration probing: missing security headers, exposed endpoints, risky HTTP methods
  • AI risk narration in English and Swahili via Groq or Ollama
  • Interactive Textual TUI with slash commands and AI-routed free text input
  • Scan history, HTML/PDF report export, and diff between scan sessions
  • Fully offline after initial database sync

Requirements

  • Linux (Ubuntu 20.04+, Kali, Debian)
  • Python 3.10 or later
  • nmap (sudo apt install nmap)
  • pip 23 or later

Installation

pip install aivas

If aivas is not found after install, add the local bin directory to your PATH:

echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

Install from source

git clone https://github.com/Baraka-Malila/aivas.git
cd aivas
python3 -m pip install --upgrade pip
python3 -m pip install -e ".[dev]"

Quick Start

# Check your setup
aivas doctor

# Populate the CVE database (from local NVD JSON feeds)
aivas update-db --source /path/to/nvd-json-data-feeds/

# Or sync from the NVD API
aivas update-db

# Sync known exploited vulnerabilities
aivas update-kev

# Launch the interactive interface
aivas

Usage

Interactive TUI

Run aivas with no arguments to open the interface. Type /help for a full command list.

Command Description
/scan <target> Full CVE and config probe scan
/quick <target> Fast service scan (level 1)
/deep <target> [--udp] Full scan with UDP discovery
/ask <query> Natural language scan routing (requires API key)
/doctor Check dependencies and configuration
/history list View past scan sessions
/history show <id> Replay findings from a previous scan
/kev Sync CISA Known Exploited Vulnerabilities
/config set <key> <value> Save a configuration value
/help List all commands
/exit Quit

Free text without a leading / is routed to the AI intent parser if an API key is configured. Without an API key, all core scanning features work without AI.

Command line

aivas scan 192.168.1.1
aivas scan 192.168.1.1 --level 2 --save --report report.html
aivas scan 192.168.1.1 --narrate --api-key YOUR_KEY
sudo aivas scan 192.168.1.1 --udp
aivas search apache --version 2.4.52
aivas history list
aivas config set api_key YOUR_GROQ_KEY

Scan Levels

Level What it does
1 Service version detection only
2 CVE correlation + NSE vulnerability scripts + config probing (default)
3 Level 2 + SSH-authenticated installed package scan

Configuration

Settings are stored in ~/.aivas/config.yml:

api_key: your-groq-api-key
provider: groq        # groq or ollama
lang: both            # en, sw, or both
default_level: 2

Set any value:

aivas config set provider ollama
aivas config show

Contributing

See CONTRIBUTING.md for development setup, coding standards, and how to submit changes.


License

MIT. See LICENSE.

AIVAS is intended for use on networks you own or have explicit authorisation to scan. Unauthorised scanning may be illegal in your jurisdiction.


Authors

Baraka Malila and Michael Chacha Megewa
Diploma in Computer Engineering, MUST (Mbeya University of Science and Technology), 2025/2026
Supervisor: Namsembwa Mzava

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aivas-0.1.1-py3-none-any.whl (430.5 kB view details)

Uploaded Python 3

File details

Details for the file aivas-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: aivas-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 430.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.3

File hashes

Hashes for aivas-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e3505c4135b3c98a2f43c906937f4bdf78daca5493ead28e01fdcba7d887a035
MD5 f304b1a8708be7fe646e8287420c5fe3
BLAKE2b-256 952752f2bdbd6524d5a0d63732ea3c775662c94d5b2c87f150bb45fb5ff67534

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page