How-To
Read Risk Reports

How to Read Risk Reports

NAT produces detailed security reports after every scan. This guide explains how to interpret every part of the report.

Report sections

Executive summary

The executive summary appears at the top of every HTML report and shows:

  • Total findings — count by severity (Critical, High, Medium, Low, Info)
  • Risk score — an aggregate 0–100 score representing the overall security posture of the scanned API
  • Scan metadata — target URL, scan duration, endpoint count, request count
  • Coverage — percentage of spec-defined endpoints that were successfully tested

Findings list

Findings are listed in descending severity order. Each row shows:

ColumnDescription
SeverityColor-coded badge: Critical (red), High (orange), Medium (yellow), Low (blue), Info (grey)
EndpointHTTP method and path (e.g., GET /api/v1/users/{id})
Finding typeShort name (e.g., "Broken Object Level Authorization")
Risk score0–100 numeric score
OWASPOWASP API Top 10 category
CWECommon Weakness Enumeration identifier

Finding detail page

Click any finding to see the full detail view:

Description

Plain-English explanation of what was found, why it's a vulnerability, and the potential impact if exploited.

Evidence

The exact HTTP request NAT sent and the response that confirmed the finding:

Request:
  GET /api/v1/users/42/orders HTTP/1.1
  Authorization: Bearer <user-b-token>

Response (200 OK):
  {
    "orders": [
      { "id": "ord_001", "total": 1250.00, "items": [...] }
    ]
  }

This is the proof that the vulnerability is real and exploitable — not a theoretical concern.

Risk breakdown

The risk score is broken down into components:

ComponentWeightDescription
ExploitabilityHighHow easy is the vulnerability to exploit?
ImpactHighWhat can an attacker do if they exploit it?
Data sensitivityHighDoes the vulnerable endpoint handle sensitive data?
Auth requirementMediumDoes exploitation require authentication?
Network exposureMediumIs the endpoint public-facing?

Remediation

Specific, actionable fix guidance including:

  • Root cause explanation
  • Recommended code-level fix (with examples for common frameworks)
  • Links to OWASP guidance and relevant CVEs

Severity levels

SeverityScore rangeRecommended action
Critical90–100Fix immediately — block deployment
High70–89Fix before next release — priority ticket
Medium40–69Fix within current sprint
Low10–39Schedule in backlog
Informational0–9Review and track; no immediate action required

Aggregate risk score

The overall API risk score (0–100) is calculated from the weighted sum of all finding scores, adjusted for finding count and distribution.

ScoreMeaning
0–20Low risk — minor improvements needed
21–40Moderate risk — some issues to address
41–60Elevated risk — multiple significant issues
61–80High risk — urgent remediation required
81–100Critical risk — do not deploy to production

Comparing scans

Use the dashboard to compare two scan results side-by-side:

  1. Open the Scans page
  2. Select two scans and click Compare
  3. See what's New (introduced since last scan), Fixed (no longer present), and Persisting (still present)

This is especially useful after a remediation sprint to confirm fixes were effective.

Exporting reports

FormatUse case
HTMLShare with stakeholders, archive, review in browser
JSONProgrammatic processing, import into ticketing systems
SARIFUpload to GitHub Code Scanning, SonarQube, or other SAST tools
MarkdownEmbed in pull request comments or wikis
# Export all formats at once
nat report --format html --output ./report.html
nat report --format json --output ./report.json
nat report --format sarif --output ./report.sarif

Next steps