Skip to content
KitploitKITPLOIT
ToolsBlog
Submit
ToolsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

··Feeds·Contact·Privacy·© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
Grafana-Final-Scanner — Grafana scanner with all public CVEs that I collected in one script to make grafana testing easier | Kitploit
Tools/GitHubGitHub/zierax/grafana-final-scanner
Vulnerability ScannersVulnerability AnalysisWeb Application ExploitationConfiguration AuditingInformation GatheringWeb Security
GitHubzierax/grafana-final-scanner

Grafana-Final-Scanner

Grafana scanner with all public CVEs that I collected in one script to make grafana testing easier

View Repository
2424512 months agoReviewed by Kitploit

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share

Grafana Final Scanner

A command-line vulnerability scanner for Grafana. It fingerprints the installed Grafana version, runs a set of version-aware CVE checks, audits common configuration weaknesses, stores results in a local database, and can serve them through a small web dashboard.

Legal

This tool sends requests to Grafana instances and, for some checks, attempts known exploit paths (path traversal, SQL injection, SSRF). Only run it against systems you own or have written permission to test. Unauthorized scanning may violate computer-misuse laws in your jurisdiction.

Requirements

  • Python 3.9 or newer
  • requests
  • flask (only required for --serve)

Install

root@kitploit:~
pip install -r requirements.txt

Quick start

root@kitploit:~
# Scan a single target python scanner.py -u https://grafana.example.com # Scan a list of URLs from a file python scanner.py -f targets.txt -o report # Detect Grafana instances in a mixed URL list, then scan them python scanner.py --auto-search urls.txt -o discovery # Persist results to a database and view them in the dashboard python scanner.py -f targets.txt --db vulndb.json python scanner.py --serve --db vulndb.json

Command-line options

OptionDescription
-u, --urlScan a single target URL
-f, --fileScan targets listed one per line in a file
--auto-search FILEDetect Grafana in a URL list, then scan detected instances
-o, --output BASEBase name for JSON/HTML/CSV report files
--timeout NPer-request timeout in seconds (default 10)
--threads NConcurrent scan threads (default 5)
--db FILEEnable the JSON vulnerability database at the given path
--serve [PORT]Start the Flask web dashboard (default port 8080)
--hostAddress the dashboard binds to (default 127.0.0.1)
--dashboard-token TOKENRequire this bearer token on all dashboard routes
--auth-tokenBearer token for scanning authenticated endpoints
--auth-user / --auth-passBasic authentication for scanning
--no-ssl-verifyDisable TLS certificate verification (prints a warning)
-v, --verbosePrint per-check detail
--no-bannerSuppress the startup header

Security behavior

  • TLS is verified by default. Pass --no-ssl-verify only for internal hosts with self-signed certificates; doing so prints a warning because credentials could otherwise be exposed to interception.
  • The dashboard is unauthenticated unless you set --dashboard-token. When the dashboard is bound to a non-local interface you must set a token. All state-changing requests also require a CSRF token.
  • Secrets are redacted from all console output (authorization headers, passwords, cookies, tokens).

Reports and database

With -o, the scanner writes BASE.json, BASE.html, and BASE.csv. The HTML report neutralizes javascript:/data:/vbscript: URIs that could come from a malicious target response.

With --db, findings are stored in a JSON file that is written atomically: a .bak copy of the previous state is kept, and a file that fails to parse is moved to .corrupt-<timestamp> instead of being silently discarded.

Checks

The scanner runs version-aware CVE checks plus configuration audits (security headers, CORS, anonymous access, self-signup, plugin analysis, exposed metrics). The full CVE list and detection method notes are in docs/vulnerabilities.md.

Project layout

  • scanner.py — engine, checks, database, web dashboard, CLI
  • docs/usage.md — scanning modes and workflows
  • docs/vulnerabilities.md — CVE reference
  • docs/architecture.md — internal structure and data flow
  • tests/ — test suite

Development

root@kitploit:~
make test       # run the test suite
make lint       # ruff + flake8

The CI pipeline runs the tests and linters on Python 3.9–3.12 and builds the Docker image.

License

MIT. See LICENSE.

Download Tool