nova

command module
v0.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 2, 2026 License: MIT Imports: 1 Imported by: 0

README

NOVA — Network Observation & Vulnerability Analyzer

A terminal-based WiFi and LAN security assessment tool written in Go.

CI Release Docs Go Report Card

📖 Full Documentation


Only scan networks you own or have explicit written permission to assess.

Scanning networks without authorisation is illegal in most jurisdictions and may result in criminal or civil liability. NOVA displays a consent screen before every scan session and requires explicit acknowledgement.


What is NOVA?

NOVA is a defensive security assessment tool. It helps network owners and administrators understand the security posture of their own WiFi and LAN environments. It does not perform exploitation, brute-forcing, or any offensive action.

Features
Feature Description
WiFi Analysis Lists nearby access points with SSID, BSSID, encryption type, channel, frequency, and signal strength
WiFi Search & Filter Live search by SSID/BSSID (/) and filter by security type — Open / WPA2 / WPA3 (f)
Encryption Assessment Detects Open / WEP / WPA / WPA2 / WPA3 and flags weak or broken configurations
LAN Host Discovery Ping-sweep of your subnet to enumerate active hosts with MAC address and vendor lookup
Port & Service Scanning Scans ports 1–1024 (or a custom range) and identifies running services
Risk Scoring Weighted 0–100 security score per network and per host
Risk Tagging Color-coded findings (Info → Critical) for dangerous open ports (SMB, Telnet, RDP, Redis, MongoDB, etc.)
Keyboard-driven TUI Full terminal UI built with Bubble Tea and Lip Gloss

Requirements

Dependency Purpose Install
nmap LAN host discovery and port scanning sudo apt install nmap / brew install nmap
nmcli WiFi network scanning (NetworkManager) Pre-installed on most Linux distros
Go 1.24+ Build from source only go.dev/dl

macOS note: nmcli is Linux-only. WiFi scanning on macOS is not yet supported. LAN host discovery and port scanning work on both platforms.


Installation

Go to the Releases page and download the binary for your platform:

nova_linux_amd64.tar.gz    — Linux (64-bit)
nova_linux_arm64.tar.gz    — Linux (ARM64 / Raspberry Pi)
nova_darwin_amd64.tar.gz   — macOS (Intel)
nova_darwin_arm64.tar.gz   — macOS (Apple Silicon)
tar -xzf nova_linux_amd64.tar.gz
sudo mv nova /usr/local/bin/
nova --help
Option B — Install with go install
go install github.com/Zayan-Mohamed/nova@latest
Option C — Build from source
git clone https://github.com/Zayan-Mohamed/nova.git
cd nova
go build -o nova .
./nova --help

Usage

nova                       # auto-detect subnet
nova --subnet 10.0.0.0/24  # override subnet
nova -s 192.168.1.0/24     # short form
TUI Key Bindings
Key Action
/ k Move selection up
/ j Move selection down
Enter / Space Select / activate
r Re-run the current scan
/ Search (WiFi view)
f Cycle security filter — Open → WPA2 → WPA3 (WiFi view)
c Clear all filters (WiFi view)
Esc / q Go back / exit current view
Ctrl+C Quit NOVA immediately
Typical workflow
1. Launch nova
2. Accept the legal consent screen  →  press y
3. Main Menu:
   ├── WiFi Analysis       → lists nearby APs with security score
   │     ├── /             → live search by SSID or BSSID
   │     └── f             → filter by encryption type
   └── LAN Host Discovery  → lists active hosts on your subnet
                            └── Enter on a host → port scan + risk detail

Architecture

main.go
  └── cmd/root.go          CLI entry-point (cobra)
        └── internal/
              ├── wifi/    WiFi scanning via nmcli
              ├── scanner/ LAN host discovery + port scanning via nmap/ping
              ├── risk/    Security scoring and risk tagging
              └── ui/      BubbleTea TUI

Dependency direction is strictly main → cmd → internal/*. No global mutable state. No circular imports.


Security

Please report vulnerabilities responsibly — see SECURITY.md.


Contributing

Pull requests are welcome! Please read CONTRIBUTING.md first.


License

MIT © Zayan Mohamed

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
Package cmd is the entry-point for all NOVA CLI commands.
Package cmd is the entry-point for all NOVA CLI commands.
internal
risk
Package risk provides security scoring and risk tagging for NOVA.
Package risk provides security scoring and risk tagging for NOVA.
scanner
Package scanner provides LAN host discovery and port/service scanning for NOVA.
Package scanner provides LAN host discovery and port/service scanning for NOVA.
ui
Package ui implements the NOVA terminal user interface using BubbleTea and Lipgloss.
Package ui implements the NOVA terminal user interface using BubbleTea and Lipgloss.
wifi
Package wifi provides WiFi network analysis capabilities for NOVA.
Package wifi provides WiFi network analysis capabilities for NOVA.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL