Pro Edition — For Security Professionals

Stop chasing
false positives.

CVE matching, MITRE ATT&CK technique annotations, and composite risk scoring — with a finding-suppression workflow to cut false positives from your report. Client-ready, print-ready HTML reports included.

Annual Monthly Save 20%
$39/mo
Billed as $470/yr · saves $118 vs monthly
Subscribe Annual — $470/yr →
Cancel anytime · Compare all plans · Need Enterprise?

Prioritize by risk, suppress the noise

Version-based CVE matching is just the start. Every finding is scored — CVSS weighted by verification status, with an uplift for findings carrying an initial-access technique — and the queue is then ordered exploit-first. Findings are emitted unverified — you adjudicate what stays, not the scanner.

A finding-suppression workflow lets you mark items accepted-risk or false-positive; suppressed findings drop out of the report and the risk rollup. Every decision is recorded per scan.

OPEN
In the queue
ACCEPTED
Risk accepted
FALSE_POS
Suppressed by you
Finding: TLS 1.0 on port 443
→ CVSS 7.4 → 0.74
→ UNVERIFIED ×0.6 → 0.44
→ RANKED — scored, then ordered
Finding: Default SNMP community 'public'
→ CVSS 9.8 → 0.98, UNVERIFIED ×0.6
→ initial-access technique +15% → 0.68
→ RANKED — uplift applied
Finding: Anonymous FTP (sanctioned host)
→ You mark: false-positive
→ Dropped from report + risk rollup
→ SUPPRESSED ✓
Finding: CVE-2024-XXXX on legacy appliance
→ You mark: accepted-risk
→ Retained, excluded from open count
→ ACCEPTED-RISK — logged

A KEV-listed MEDIUM outranks an unexploited CRITICAL

Severity ranks how bad a vulnerability would be if it were exploited. It cannot tell you whether anyone is exploiting it. Pro closes that gap at scan time: every finding carrying a CVE is joined by CVE ID against a local CISA KEV catalog and a local FIRST EPSS scores file, then banded and reordered exploit-first.

The justification travels with the finding — the KEV flag, the EPSS score with its percentile, the CVE ids that matched, and the store’s own as-of date. Your ranking is always something you can date and defend. Both catalogs are free, public and operator-supplied: point Pro at files you control and the join runs entirely on your machine.

Your existing riskScore does not move — exploitPriority is a new axis beside it. And this is enrichment, not detection: it reorders what the scanner already found.

KNOWN_EXPLOITED
Listed by CISA as exploited in the wild
ELEVATED
EPSS ≥ 0.10 · roughly the top decile
BASELINE
Not elevated — asserts nothing more
Finding: MEDIUM, CVE on the KEV list
→ KEV flag + as-of date attached
→ band KNOWN_EXPLOITED
→ TOP OF QUEUE
Finding: CRITICAL, not on KEV, low EPSS
→ EPSS score + percentile attached
→ band BASELINE
→ RANKED BELOW IT
Store older than its window
→ KEV 14 days · EPSS 10 days
→ fails closed, withdraws the negative
→ NEVER SAYS “NOT EXPLOITED”

How the bands were named, and what each one deliberately refuses to claim:

The explainer covers the Pro exploit-intelligence workflow and, in its second half, the Enterprise compliance report.

Exploit-first triage · CISA KEV + FIRST EPSS joined at scan time · the band names we rejected, and why · 9 min 33 s
Switch it on — two public feeds, two environment variables
# 1 · Download the feeds (public, no account needed for either)
mkdir -p ~/.nsauditor/feeds
curl -fsSL https://www.cisa.gov/sites/default/files/feeds/known_exploited_vulnerabilities.json -o ~/.nsauditor/feeds/kev.json
curl -fsSL https://epss.empiricalsecurity.com/epss_scores-current.csv.gz | gunzip > ~/.nsauditor/feeds/epss.csv

# 2 · Point the scanner at them (add both lines to your shell profile to persist)
export NSAUDITOR_EXPLOIT_KEV_STORE=~/.nsauditor/feeds/kev.json
export NSAUDITOR_EXPLOIT_EPSS_STORE=~/.nsauditor/feeds/epss.csv

# 3 · Scan as usual — findings that carry CVEs arrive banded and ordered exploit-first
nsauditor-ai scan --host 192.168.1.0/24 --plugins all

The stores are the feeds' own formats — no conversion step. Refresh KEV within 14 days and EPSS within 10 (a cron works); a stale or unparseable store fails closed and the scan says so — it never silently reports “not exploited”. Setting these outside a shell? ~ expands only in a shell — in a --env file or Claude Desktop’s MCP env config, write the absolute path (e.g. /Users/you/.nsauditor/feeds/kev.json); a path the scanner cannot read is reported as no-store, never as “not exploited”. Full walk-through: getting-started → exploit intelligence.

Exploit intelligence is a Pro-tier capability and is off until you configure it. Enterprise includes Pro.

Where Pro ends and the evidence pack begins

Pro sharpens the queue. Enterprise turns the result into something an assessor reads — 28 Enterprise plugins across AWS, Azure and GCP, and one read-only scan mapped to seven frameworks with an explicit out-of-scope column.

It is also where suppression stops being a filter and becomes a record. Pro’s finding-suppression workflow drops an accepted-risk item out of your report and its risk rollup. The Enterprise compliance engine takes the same decision and gives it an owner, a rationale, a date and an expiry inside the evidence pack — and as of EE 0.36.0 the report checks that approval’s signature against the key material the approver’s registry entry declares, rather than repeating what the record says about itself. A missing verdict reads not checked and never failed.

None of that is part of a Pro licence. If your buyer is an auditor rather than a remediation queue, that is the tier to look at.

See NSAuditor AI Enterprise →

🎯

Exploit Intelligence

CISA KEV + FIRST EPSS joined by CVE ID at scan time, banded KNOWN_EXPLOITED / ELEVATED / BASELINE, queue ordered exploit-first. Operator-supplied catalogs; the join runs locally. See how →

🔎

Offline CVE Matching

Auto-generated CPEs from detected services matched against the NVD feed — offline, no API calls. Know which CVEs affect each host before writing a single line of your report.

🗺️

MITRE ATT&CK Annotations

Every finding is annotated with the ATT&CK techniques it relates to, with kill-chain context. Compliance teams love it. Clients understand it. Takes zero extra effort on your part.

🤖

Parallel Analysis Agents

Five specialized agents run concurrently — Auth, Crypto, Config, Service, and Exposure. Each produces structured findings for its category, then feeds the risk engine.

📊

Risk Scoring

CVSS weighted by verification status — VERIFIED 1.0×, UNVERIFIED 0.6×, suppressed 0.0× — with a 15% uplift for findings carrying an initial-access ATT&CK technique. Reports render severity-grouped, highest-impact first, and suppressed findings drop out of the rollup.

📄

Compliance Reports

Export findings as HTML, JSON, or Markdown — print the HTML to PDF for a client-ready document. Risk-ranked, with a summary overview and technical findings in one file.

🧠

Intelligence-Enriched AI

Same OpenAI / Claude / Ollama providers you use in CE — but Pro injects CVE matches, MITRE techniques, and risk scores into every prompt. Vastly better output.

🔁

Advanced CTEM

Unlimited scan history in SQLite. CVE-level delta detection — new vulnerabilities since last scan, not just host diffs. Risk trend analysis (improving / degrading / stable).

🔏

Enhanced Redaction

Configurable profiles (strict / moderate / minimal), additional patterns for AWS keys, DB connection strings, and JWTs. Full redaction audit log for compliance.

🔌

What Pro unlocks in the MCP tools

The MCP server registers seven tools and lists all seven to every client; the licence gate is applied when a tool is called. Pro unlocks probe_service and get_vulnerabilities on top of the three every tier can run.

🔑
Auth
Weak auth, default credentials, anonymous access, missing auth on admin panels
🔐
Crypto
TLS < 1.2, weak ciphers, expired or self-signed certs, missing HSTS
⚙️
Config
Default SNMP communities, debug modes, directory listing, exposed .env files
🛠️
Service
CVE-specific vulnerabilities, end-of-life software, backport detection
🌐
Exposure
Internet-facing services, lateral movement paths, unnecessary open ports

Agents run via Promise.allSettled — if one category has no relevant services, it's skipped. Results feed the risk engine.

Feature
Pro
Community
AI analysis (OpenAI, Claude, Ollama)
Prompt content
CVEs + MITRE + risk scores
basic summary
CVE matching (offline NVD)
MITRE ATT&CK annotations
Kill-chain context
basic tagging
Finding suppression (accepted-risk / false-positive)
Risk scoring
Exploit intelligence — CISA KEV + FIRST EPSS, exploit-first ordering (stores you populate; no feed data ships)
KEV-listed MEDIUM outranks unexploited CRITICAL
Parallel analysis agents
5 agents
Print-ready HTML reports (browser Print-to-PDF)
Risk-ranked, CVE-annotated
Ungated — same Print-to-PDF
CTEM scan history
Unlimited (SQLite)
7 days
MCP tools
9 total
5 CE tools
Email support
48hr SLA
probe_service Pro
Run one specific plugin against a single host:port. The narrow, surgical counterpart to a full scan — ask your assistant to check one service without re-scanning the host.
get_vulnerabilities Pro
Look up known CVEs for a CPE (Common Platform Enumeration) string via the NVD API — so your assistant can go from a detected version string to its published vulnerabilities.
scan_host
A full plugin scan of a target host: service detection, OS fingerprint and structured findings. Available on every tier.
compliance_matrix
The shipped coverage matrix for a framework — how many controls are Covered, Partial and Out of scope, with the per-group out-of-scope reasons. Available on every tier.

list_plugins completes the every-tier set; scan_cloud and get_findings are Enterprise. Seven tools in total — all seven are listed to every client, and the licence is checked when one is called.

Start the MCP server with nsauditor-ai-mcp — works with Claude Desktop, Cursor, and any MCP-compatible AI assistant.

1 · Authenticate with npm (token included in your purchase email)
# @nsasoft/nsauditor-ai-ee is a private (restricted) package.
# Use the npm read-token delivered with your license email.
npm config set //registry.npmjs.org/:_authToken npm_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

# Or, project-scoped, in an .npmrc file
echo "//registry.npmjs.org/:_authToken=npm_xxxx..." >> ~/.npmrc
2 · Install (requires nsauditor-ai v0.2.40+ and Node 20+)
# One line — installs both the CE platform and the Pro package
npm install -g nsauditor-ai @nsasoft/nsauditor-ai-ee
3 · Activate your license — one command, no shell-rc edits
# The CE license installer verifies the JWT signature before persisting
# and stores the key in macOS Keychain (or ~/.nsauditor/.env mode 0600 elsewhere).
nsauditor-ai license install pro_eyJhbGciOiJFUzI1NiIs...

 Pro license installed
  Stored at: macOS Keychain (service=nsauditor-ai)
  Org: you@example.com   Expires: 2027-04-29

# Verify
nsauditor-ai license --status
 Pro license active
4 · Scan with intelligence
nsauditor-ai scan --host 192.168.1.0/24 --plugins all

# View your AI report in browser
open out/192.168.1.0_*/scan_response_ai.html     # macOS
xdg-open out/192.168.1.0_*/scan_response_ai.html  # Linux

# Each scan writes HTML, JSON, and Markdown reports — print the HTML to PDF for clients
nsauditor-ai scan --host 10.0.0.0/24 --plugins all
open out/10.0.0.0_*/scan_response_ai.html      # print → PDF

Ready to upgrade?

Subscribe directly to unlock CVE matching, MITRE ATT&CK annotations, risk scoring, and parallel analysis agents — with risk-ranked, print-ready HTML reports. Cancel anytime — reverts to Community Edition with no data lost.

Monthly option: $49/mo · Compare all plans