Skip to content
ReviewRamble

The weekly brief

AI, reviewed, in your inbox.

  • New reviews of tools, models, MCP servers and repos, with the verdict up front
  • Re-checked prices and ratings when something changes
  • New analysis pieces as they are published

Models, agents, MCP servers and the tools actually worth your time.

One email a week. Unsubscribe with the link in any brief. How we use your email

cvENGINE

A week-old, self-hosted attack surface scanner that ranks exploited CVEs on your hosts and checks them, with or without a model.

Reviewed by Sheela · Updated

View on GitHub Open source

Our rating

3.6/5

A capable free attack surface scanner with unusually honest docs, but it is one week old and runs non-GET Nuclei templates by default, so keep it to assets you own and a model you host.

What is cvENGINE?

cvENGINE is a self-hosted external attack surface assessment tool from one maintainer, hevnsnt, and a fork of reNgine 2.x. You add a domain, address range or URL; it finds subdomains, certificates, addresses and ports with bbot, naabu, a certificate transparency watch and nmap, matches what it finds against CVEs flagged by CISA KEV, ENISA EUVD, VulnCheck KEV, EPSS, Exploit-DB and Metasploit, and tries to reproduce each match with Nuclei, nmap or a banner probe. Around that sit a Shodan-style search over your own inventory, a change timeline, PDF reports, a bug bounty workbench that reads HackerOne, Bugcrowd, Intigriti and YesWeHack scope, a REST API and an MCP server.

Every CVE gets a fixed rating before any model is involved: fire (known exploited, a public exploit, CVSS 9.0 or higher, or EPSS 0.1 or more with CVSS 7.0 or higher), smoke (CVSS 7.0 or EPSS 0.1) or ice. A model from Anthropic, OpenAI, OpenRouter or a local Ollama, LM Studio or vLLM server then triages findings and plans checks; without one, discovery, matching and validation still run. Sentinels, a separate Docker client, scan from other networks, including private ones the server itself never scans. Greenbone's OpenVAS is an optional add-on, off by default.

The repository was created on 24 October 2026, is GPL-3.0-licensed and has about 547 stars and 89 forks. In its first week it gathered 724 commits and 10 releases, from v1.0 on 25 October to v1.3.1 on 30 October; GitHub lists two contributors, hevnsnt with 421 commits and Claude with 295. It runs as one Docker Compose stack (Django 5.2, PostgreSQL 18) on Linux with at least 4 GB of RAM.

Is cvENGINE worth it?

cvENGINE puts discovery, exploitation-ranked CVE matching and evidence checks, the work commercial attack surface platforms charge for, into one free Docker stack, and its documentation is more candid about its gaps than most vendors' are. What holds it back is age. The project is a week old, a fork of reNgine 2.x reworked at a pace of 724 commits in seven days, and its own comparison page calls it "written in days and tested far less". GitHub credits 295 of those commits to Claude, so much of the code was written with an AI agent and reviewed by one maintainer.

The split between model and rules is the best-designed part. Fire, smoke and ice come from a fixed rule in one file, applied before any model sees a CVE, and a match needs the product plus a version inside a bounded affected range; a product name alone matches nothing. Triage then labels findings confirmed, likely or needs validation, but hard evidence such as a template hit or a database that answered sets a floor the model cannot go below, and the model alone can never confirm a finding. According to the pipeline docs, triage prompts carry cleaned evidence (product, version, advisory range, template id) with hostnames redacted, and the model that drafts detection records sees feed text only. Two stages go further: Validate now asks the model to plan checks for a specific host, and login screens captured from RDP servers without Network Level Authentication are sent to it as images. For an inventory of your own weak points, a local model through Ollama, LM Studio or vLLM keeps all of that on your hardware.

"Read-only" needs a closer reading than the README gives it. The five validation checks are described as read-only, and AI-written Nuclei templates never run until a person approves them. Since 1.3, though, the Scan policy switch that runs every installed Nuclei template, including those that send more than GET, HEAD or OPTIONS requests, is on by default; only denial-of-service templates and out-of-band checks stay excluded. The scanner also tries MySQL as root with no password and asks MongoDB to list its databases unauthenticated, and its own docs call OpenVAS intrusive. A team that promised a client passive testing should turn the switch off before the first scan.

Authorisation is largely left to the operator. The setup wizard asks you to confirm you may test the first target, and the server refuses loopback, link-local and cloud metadata addresses, and private ranges unless you allow them. In our reading of the docs there is no ownership proof, such as a DNS record, for an ordinary target: a domain you type is discovered and scanned. The bug bounty workbench is the exception, with a shared gate that never scans a host a program lists as out of scope or does not list, and holds automatic scans until you record that you read the policy and that it allows automated testing.

Sentinels publish no ports, call the server over HTTPS, run as an unprivileged user with NET_RAW and NET_ADMIN, and hold tokens that reach only their own routes for 90 days. The weak point is updating: the client builds whatever is on its origin's main branch with no signature check, and an internal Sentinel may scan any private address, its LAN neighbours included. The client repository has 1 star and GitHub shows no licence for it. The server's own controls are sensible, with a generated admin password that must be replaced, TOTP two-step sign-in that an organisation can require, admin, user and audit roles, an IP allowlist and an audit log. Set against ProjectDiscovery's hosted platform, which cvENGINE's comparison prices at $200 per seat per month, or Censys and Shodan Monitor, which watch an index built from their own internet-wide scanning rather than probing from your server, cvENGINE gives up SSO, compliance reports, cloud account discovery and a vendor to call, and keeps every finding on your own machine.

Where it earns its place

  • A two-person security team at a 300-person SaaS company

    Find out which of this week's exploited CVEs reach our public hosts, with proof

    Install on a Linux VM with 8 GB of RAM, add the apex domains, point the AI model at a local Ollama server and turn the all-templates Scan policy switch off if change control requires read-only testing. Fire matches with evidence go to Slack; there is no licence fee, only the VM and the model's hardware.

  • A part-time bug bounty hunter working HackerOne and Bugcrowd programs

    Scan only what a program allows and turn findings into reports

    An App Admin authorises the workbench, you press Work this program, record that you read the policy and import up to 200 targets; out-of-scope and unlisted hosts are never scanned. HackerOne reports go out with your own API credentials, while Bugcrowd, Intigriti and YesWeHack get copy-ready fields.

  • A platform engineer who fixes infrastructure through Claude Code

    Have the coding agent pull the most dangerous open findings and confirm fixes

    Create a token on the API tokens and MCP page and register the server with claude mcp add --transport http; the remediation list arrives fire first, and text from scanned hosts is flagged as untrusted. Stored sign-ins cannot be set through MCP, so secrets stay out of the model's context.

  • An IT lead responsible for one office LAN

    Run the same CVE matching on internal machines the public scan cannot reach

    Declare the office range on the project, provision an internal light Sentinel and start it with docker compose up -d on a Linux box in that LAN; it sweeps for live hosts weekly and runs nmap, TLS, UDP and Nuclei passes. Keep its self-update on Manual, since updates are not signature-checked.

Before you commit

Setup
git clone, then sudo ./install.sh on Debian or Ubuntu: it installs Docker if missing, generates every secret and a private HTTPS certificate, and prints the admin password. It needs 4 GB of RAM at least, 8 GB for comfort, 20 GB of free disk and ports 443 and 8082.
Integrations
bbot, naabu, nmap, Nuclei, testssl.sh, WPScan and optional OpenVAS; Anthropic, OpenAI, OpenRouter, Ollama, LM Studio and vLLM; Slack, Discord, Telegram and Lark alerts; Tailscale and runZero imports; a REST API and an HTTP MCP server with read-only tokens.
Data and privacy
Nothing goes to the authors, according to the comparison page. Triage sends redacted evidence to the chosen model, and RDP login screenshots go to a vision model; the AI usage ledger stores no prompts or targets. Stored keys and two-step seeds are encrypted with a key in .env. GPL-3.0.
Cost at scale
No paid edition. The server is the main cost, plus about 4 GB of RAM, 2 vCPUs and 25 GB of disk for OpenVAS; hosted model tokens are tracked per pipeline stage, and the AI detection writer defaults to 25 calls a day. WPScan's free plan allows 25 API requests a day, and its licence needs a commercial agreement for hosted services.
Limits
No cloud account discovery, SSO, Jira or compliance reports; nmap OS probes fail under Docker Desktop on macOS and Windows; OpenVAS takes half a day to a day per host; 14 open issues and pull requests, with releases most days.

What’s good

  • Fire, smoke and ice ratings are deterministic and run before any model
  • Model can never confirm a finding on its own; hard evidence sets a floor
  • Works without a model, or with a local Ollama, LM Studio or vLLM server
  • Bug bounty gate blocks out-of-scope and unlisted hosts
  • Free, self-hosted, with a REST API and an MCP server

What’s not

  • One week old, 724 commits in seven days, one maintainer
  • Every installed Nuclei template, not only read-only ones, runs by default since 1.3
  • No ownership check on ordinary targets
  • Sentinel updates are not signature-checked, and the client repo shows no licence
  • No SSO, Jira, cloud account discovery or compliance reports

Best for

Security engineers and bug bounty hunters who want a free, self-hosted view of which exploited CVEs touch their own internet-facing hosts, and who can run a local model and read a fast-moving changelog.

cvENGINE: common questions

Is cvENGINE worth it?
A capable free attack surface scanner with unusually honest docs, but it is one week old and runs non-GET Nuclei templates by default, so keep it to assets you own and a model you host. We rate it 3.6 out of 5.
How much does cvENGINE cost?
Free and open source under GPL-3.0, with no seat or asset limits. You pay for the server, any hosted model tokens and optional paid data keys such as WPScan.
What are the downsides of cvENGINE?
One week old, 724 commits in seven days, one maintainer; every installed Nuclei template, not only read-only ones, runs by default since 1.3; no ownership check on ordinary targets; sentinel updates are not signature-checked, and the client repo shows no licence; no SSO, Jira, cloud account discovery or compliance reports.
Who is cvENGINE best for?
Security engineers and bug bounty hunters who want a free, self-hosted view of which exploited CVEs touch their own internet-facing hosts, and who can run a local model and read a fast-moving changelog.
How much does cvENGINE cost for a team or in production?
No paid edition. The server is the main cost, plus about 4 GB of RAM, 2 vCPUs and 25 GB of disk for OpenVAS; hosted model tokens are tracked per pipeline stage, and the AI detection writer defaults to 25 calls a day. WPScan's free plan allows 25 API requests a day, and its licence needs a commercial agreement for hosted services.
Is cvENGINE safe for company data?
Nothing goes to the authors, according to the comparison page. Triage sends redacted evidence to the chosen model, and RDP login screenshots go to a vision model; the AI usage ledger stores no prompts or targets. Stored keys and two-step seeds are encrypted with a key in .env. GPL-3.0.

Answers checked Oct 31, 2026.