Run a passive header and TLS audit on a site you own before a manual pentest
Produce a Markdown OWASP Top 10 report to share with a client without sending data to a cloud API
Compare findings across staging and production by running the scanner against both URLs
Use the JSON output as input for a larger automated security pipeline
Needs Node 18 plus a running Ollama server with a pulled model, so the first scan waits for a multi-gigabyte model download.
CNRCO Security Scanner is a command line tool that does a quick, passive security check on a website and produces a report mapped to the OWASP Top 10 from 2021. OWASP Top 10 is a well known industry list of the most common web application security risks. The scanner is run on your own computer against a domain you are allowed to audit, and it never sends data to an outside service. The way it works is fairly simple. The script visits the target URL once, the way a browser would, and collects the HTTP response headers, TLS connection details, cookies, and server fingerprints. That information is then handed to a local AI model running through Ollama, an open source tool that runs language models on your own machine. The model categorizes findings against the OWASP list, assigns CVSS scores and severity levels, and the results are printed in the terminal. Reports can be saved as Markdown for sharing with a client or as raw JSON. Output is ranked from Critical down to Informational. Because everything runs locally, there are no API keys, no accounts, and no per scan cost. Setup needs Node.js 18 or newer and Ollama. After installing Ollama you pull a model such as llama3.2, mistral, or llama3.1:8b, start the Ollama server, clone the repo, and run npm install. The README lists the RAM requirements for each model. The author is clear that this is passive reconnaissance only, meant as a first pass before active tools like Burp Suite or testssl.sh, and that you must have written permission to scan any system you do not own.
Generated 2026-05-22 · Model: sonnet-4-6 · Verify against the repo before relying on details.