Skip to main content

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

Metadata

Release files for aivas 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for aivas 0.1.1
File Interpreter ABI Platform
aivas-0.1.1-py3-none-any.whl Python 3 none any Details

Release files / aivas-0.1.1-py3-none-any.whl

Download URL aivas-0.1.1-py3-none-any.whl
Size 430.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e3505c4135b3c98a2f43c906937f4bdf78daca5493ead28e01fdcba7d887a035
BLAKE2b-256 checksum
How to use checksums
952752f2bdbd6524d5a0d63732ea3c775662c94d5b2c87f150bb45fb5ff67534
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release history Release notifications | RSS feed

This release

0.1.1 This release

1 release file

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page