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 Distribution

aivas-0.1.0.tar.gz (435.4 kB view details)

Uploaded Source

Built Distribution

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

aivas-0.1.0-py3-none-any.whl (429.6 kB view details)

Uploaded Python 3

File details

Details for the file aivas-0.1.0.tar.gz.

File metadata

  • Download URL: aivas-0.1.0.tar.gz
  • Upload date:
  • Size: 435.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.3

File hashes

Hashes for aivas-0.1.0.tar.gz
Algorithm Hash digest
SHA256 a34ffa33b69637cb4205e355b19a291c1161823122d69f8414864b9f0895f6a6
MD5 a5620df518902cfc7fa0abf38ed061fc
BLAKE2b-256 701a7174c08e88017d64af550fdf17eb5167f23506db53efa73b231d96af5adf

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aivas-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 429.6 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9f90069a891810a7e2af55c1e38970006172e81405b51d17dfe06055500855f4
MD5 80517e91be82e4599b59548d732c398a
BLAKE2b-256 7e73efac2cfc8649c284e13d1611cf4c132ec5b1897ad5f6f9eeec30677a8308

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