Skip to content
Documentation Blast-radius scoring

Blast-radius scoring

Blast radius is an explainable estimate of observed side-effect risk. It is not a probability, vulnerability severity, or proof of malicious behavior.

The scorer is deterministic. It adds named evidence components, records each component's count and weight, then caps the final score at 100.

Default weights

Evidence Points
Review-created file 8
Review-modified file 4
Review-deleted file 12
Denied creation/modification 30
Denied deletion 40
Sensitive path 35
Dependency manifest/lockfile change 8
Mode change 8
Uncleaned owned process 10
Newly observed listening endpoint 5
Budget violation 12
Each unexpected mutation after the first five 2

A mutation can produce multiple components. For example, modifying a denied .env path adds both denied-mutation and sensitive-path evidence.

Levels

Score Level
0–20 low
21–40 moderate
41–70 high
71–100 critical

The uncapped raw score remains in the result so repeated high-risk evidence is not hidden by the 100-point presentation cap.

Example

.env modified             denied mutation      30
.env sensitive path       sensitive path        35
--------------------------------------------------
raw / capped score                              65
level                                         high

Every serialized result includes:

  • final score and raw score;
  • level;
  • component name, count, per-item weight, points, and detail; and
  • evidence counts such as unexpected files, sensitive paths, deletions, dependency files, processes, ports, and budget violations.

Configure weights

version: 1
scoring:
  weights:
    denied_mutation: 45
    denied_deletion: 55
    sensitive_path: 40
    opened_port: 3

Only declared weight names are accepted. Values must be nonnegative integers. Setting a weight to zero removes its point contribution but does not remove the underlying evidence from the result.

Interpretation limits

  • A high score means the configured deterministic model accumulated high-impact evidence; it does not prove intent.
  • An allowed change can still count for mode or dependency impact.
  • Listening endpoints are machine-wide observations and may be unrelated to the child.
  • Process residue depends on what local polling observed and could clean safely.
  • Ignored, unreadable, unsupported, or oversized entries can reduce visibility; observation warnings should be reviewed alongside the score.

Use the component list, policy provenance, and raw mutations for decisions. Do not treat the number alone as an authorization oracle.