Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Navigating the Report

The MRVA report is a single-page application that runs entirely in the browser. It uses a two-phase loading strategy: the dashboard renders instantly from a lightweight JSON file while the full SQLite database downloads in the background. Once the database loads, the Alerts, Repositories, and Rules pages become available.

Dashboard (/)

The landing page. Displays the full analysis overview using pre-aggregated metrics.

Analysis Metadata

A summary card showing the analysis ID, date, start/end times, tool name, controller repository, query language, state, status, failure reason (if any), and the Actions workflow run ID.

Repository Breakdown

Clickable cards showing counts for each repository category:

CardDescriptionClick Action
TotalAll repositories in the analysis.Navigate to /repo.
ScannedRepositories successfully scanned.Navigate to /repo?status=succeeded.
SkippedRepositories skipped due to access mismatch.Navigate to /repo?status=access_mismatch.
Not FoundRepositories not found.Navigate to /repo?status=not_found.
No CodeQL DBRepositories without a CodeQL database.Navigate to /repo?status=no_codeql_db.
Over LimitRepositories exceeding the analysis limit.Navigate to /repo?status=over_limit.

Summary Cards

Three cards showing total alerts, repositories, and rules. Each card navigates to its respective list page when clicked.

Severity Pie Chart

Alert distribution by severity level. Clicking a slice navigates to the alerts page filtered by that severity.

Top 10 Tables

  • Top Rules - Rules ranked by alert count. Clicking a row navigates to alerts filtered by that rule.
  • Top Repositories - Repositories ranked by alert count.
  • Top File Paths - File path / repository combinations ranked by alert count.

Coverage Charts

Two pie charts showing:

  • Repository coverage - Proportion of repositories with and without alerts.
  • Rule coverage - Proportion of rules with and without alerts.

Alerts (/alert)

A server-side paginated data grid displaying all alerts. This page waits for the full database to finish loading before rendering.

Columns

ColumnDescription
RuleCodeQL rule identifier.
KindRule kind (e.g., problem, path-problem).
RepositoryRepository full name.
SeverityAlert severity level.
File PathSource file path where the alert was found.

Free-text search with 800 ms debounce. Searches across rule ID, rule kind, repository name, severity, file path, and message columns.

Alert Detail

Click any row to open a detail dialog showing:

  • Full file location (path, line/column ranges).
  • Alert message.
  • Code snippets (source, sink, context).
  • Code flow step count.
  • Result fingerprint.

Query Parameters

ParameterDescriptionExample
searchPre-fill the search box./alert?search=sql-injection


Repositories (/repo)

A client-side data grid displaying all repositories with alert counts.

Columns

ColumnDescription
NameRepository full name.
URLLink to the repository on GitHub.
StatusAnalysis status (succeeded, access_mismatch, not_found, no_codeql_db, over_limit).
AlertsNumber of alerts found in the repository.

Search

Client-side quick filter matching across all visible columns.

Query Parameters

ParameterDescriptionExample
hasAlertsFilter to repositories with (true) or without (false) alerts./repo?hasAlerts=true
statusFilter by analysis status./repo?status=succeeded


Rules (/rule)

A client-side data grid displaying all rules with alert counts.

Columns

ColumnDescription
IDCodeQL rule identifier.
DescriptionRule description.
SeverityRule severity level.
KindRule kind.
Property TagsComma-separated rule tags.
AlertsNumber of alerts triggered by this rule.

Search

Client-side quick filter matching across all fields including property tags.

Query Parameters

ParameterDescriptionExample
hasAlertsFilter to rules with (true) or without (false) alerts./rule?hasAlerts=true

Rule Detail

Double-click a row to navigate to the rule detail page with a full breakdown of alerts for that rule.