Open-Source End-to-End Vulnerability Scanner

ALNUR is an open-source, end-to-end security vulnerability scanner for application projects. Point it at any project directory and it acts as your security analyst — detecting CVEs in dependencies, leaked secrets, architecture flaws, standards violations, and risky port configurations.


Features

Module What It Checks
CVE Scanner Queries OSV.dev for known CVEs across all detected packages
Secret Detection Finds hardcoded API keys, tokens, passwords, and private keys using patterns + entropy analysis
Architecture Analysis 30+ SAST rules covering injection, weak crypto, insecure deserialization, misconfigurations
Standards Compliance Gitignore hygiene, lockfile presence, CI/CD, test suite, Docker best practices
Port Risk Analysis Flags dangerous ports in Dockerfiles, docker-compose, config files, and .env

Supported Project Types

Node.js · React · Vue.js · Next.js · Express.js · Python · Django · Flask · FastAPI · PHP · Laravel · Symfony · Ruby · Ruby on Rails · Go · Rust · Java (Maven/Gradle) · Spring Boot · .NET

Installation

pip install alnur

Or install from source:

git clone https://github.com/threads-beams/alnur
cd alnur
pip install -e .

Quick Start

# Scan current directory
alnur scan .

# Scan a specific path
alnur scan /path/to/my-project

# Generate HTML report
alnur scan . --output html --output-file report.html

# Generate all formats
alnur scan . --output all --output-file report

# Show only high+ severity issues
alnur scan . --severity high

# Detect project type only (fast)
alnur detect .

CLI Reference

alnur scan [PATH] [OPTIONS]

Options:
  -o, --output [console|json|html|all]   Output format (default: console)
  -f, --output-file PATH                 Write report to file
  -s, --severity [critical|high|medium|low|info]  Minimum severity (default: low)
  --skip-cve                             Skip CVE check
  --skip-secrets                         Skip secret detection
  --skip-arch                            Skip architecture analysis
  --skip-standards                       Skip standards compliance
  --skip-ports                           Skip port risk analysis
  --no-dev                               Exclude dev dependencies
  -v, --verbose                          Show recommendations inline
  -q, --quiet                            Suppress progress output

Risk Grading

Grade Score Meaning
A 0–19 Low risk — keep it up
B 20–49 Minor issues — review low-priority findings
C 50–99 Moderate risk — address before production
D 100–199 High risk — urgent remediation needed
F 200+ Critical — do not deploy

Output Formats

  • Console — Rich colored terminal output with tables and severity badges
  • JSON — Machine-readable structured report (CI/CD integration)
  • HTML — Self-contained dark-theme security dashboard, no external dependencies

Exit Codes

Code Meaning
0 Scan completed — no critical/high issues
1 Critical or high severity issues found

CVE Data Source

ALNUR uses the OSV.dev API — a free, open vulnerability database covering npm, PyPI, Maven, NuGet, RubyGems, crates.io, Packagist, Go modules, and more. No API key required.

Architecture Rules (Sample)

Rule Category Severity
INJ001–009 SQL / Command Injection HIGH/CRITICAL
DESER001–003 Insecure Deserialization HIGH
CRYPTO001–004 Weak Cryptography MEDIUM/HIGH
TLS001–004 SSL/TLS Misconfiguration MEDIUM/HIGH
DJANGO001–005 Django Misconfiguration MEDIUM/HIGH
FLASK001–003 Flask Misconfiguration MEDIUM/HIGH
NODE001–004 Node.js Misconfiguration MEDIUM/HIGH
DOCKER001–003 Container Security MEDIUM/HIGH
XSS001–002 Cross-Site Scripting HIGH
PATH001–002 Path Traversal HIGH