Skip to main content
Every Panguard Scan produces a single risk score from 0 to 100 and an associated letter grade from A to F. This page explains how the score is calculated and what each grade means.

Score Display

Score: 62/100 [████████████░░░░░░░░] Grade: C
The score represents a risk score: higher means more risk. It is the sum of severity-weighted findings (adjusted by context), clamped to the 0—100 range.

Grade Thresholds

GradeScore RangeInterpretation
A90 — 100Excellent. Minimal risk. All critical and high issues resolved.
B75 — 89Good. A few medium-severity items remain.
C60 — 74Fair. Multiple findings need attention.
D40 — 59Poor. Significant security gaps present.
F0 — 39Critical. Immediate remediation required.

Scoring Factors

The risk score is derived from the severity and quantity of findings across all scanners. Each finding contributes penalty points based on its severity:
SeverityPoints per Finding
CRITICAL25
HIGH15
MEDIUM5
LOW1
INFO0
Points are summed and the total becomes the raw risk score (higher = more risk). The score is clamped to the 0—100 range.

Deduplication

When multiple findings share the same ID (e.g., the same rule triggered on different inputs), only the highest-severity instance is counted. This prevents score inflation from duplicate detections.

Context Multiplier

The raw score is adjusted by a context multiplier that reflects environmental signals:
MultiplierMeaningEffect
> 1.0Malicious context signals presentIncreases risk score
1.0Neutral (default)No adjustment
< 1.0Legitimate context signals presentReduces risk score
The final score is min(100, round(rawScore * contextMultiplier)).

Example Calculation

FindingSeverityPoints
SSH on 0.0.0.0HIGH15
Weak password policyMEDIUM5
Expired SSL certCRITICAL25
No firewallHIGH15
Outdated kernel (CVE)MEDIUM5
Total65
With a neutral context multiplier (1.0), the risk score is 65 (Grade: C).

Risk Level Overrides

The presence of a CRITICAL finding forces at least a HIGH risk level, regardless of the numeric score. If the context multiplier is very low (< 0.6), the override is weakened to MEDIUM instead of HIGH.

Score Categories

Beyond the single number, the score is contextualized across 8 categories:
CategoryWhat It Measures
SystemOS patch level, kernel version, architecture
NetworkOpen ports, binding addresses, firewall status
AuthenticationPassword policy strength, account lockout
EncryptionSSL/TLS certificates, cipher suites, key strength
Access ControlShared folders, file permissions, anonymous access
ServicesRunning services, unnecessary daemons
Scheduled TasksCron jobs, suspicious scripts, persistence vectors
Security ToolsPresence of AV, IDS, firewall, audit daemon

Improving Your Score

1

Fix CRITICAL findings first

Each critical finding costs 25 points. Resolving just one can move your grade up a full letter.
2

Address HIGH findings

High-severity items are the next priority at 15 points each.
3

Review MEDIUM findings

These are typically configuration improvements that accumulate.
4

Re-scan to verify

Run panguard scan again after making changes to confirm your new score.
Run panguard scan --json to get machine-readable output that includes per-finding scores, making it easy to integrate into CI/CD pipelines.