Skip to content
Calcrivo

Breach and Attack Simulation Score Calculator

Turn BAS results into a prevented, detected and missed breakdown with a weighted control-efficacy score and drift check.

Inputs

scenarios
scenarios
scenarios
scenarios
scenarios
/ 100
days

Control Efficacy Score

69.5/ 100

Prevention Rate

57.0%

Detection Rate

83.0%

Silent Failure Rate

12.5%

Score Drift per Month

1.50points/month

Efficacy Rating

C — Fair

Priority Action

Close the critical silent failures first — those are scenarios you would never know happened

Step by step

  1. Values used

    Scenarios executed = 500 scenarios; Blocked outright = 285 scenarios; Not blocked but alerted = 130 scenarios; Logged with no alert = 45 scenarios; Critical scenarios neither blocked nor alerted = 12 scenarios; Score at the last run = 68 / 100; Days since the last run = 30 days

  2. Breach and Attack Simulation Score

    efficacy = preventedShare + 0.55×detectedShare + 0.20×loggedShare − criticalPenalty, so a fully prevented library scores 100, and detection is worth roughly half of prevention.

  3. Control drift

    drift = (currentScore − previousScore) × 30 ÷ daysSinceLastRun, expressed as points per month.

  4. Control Efficacy Score

    = 69.5 / 100

  5. Prevention Rate

    = 57.0

  6. Detection Rate

    = 83.0

  7. Silent Failure Rate

    = 12.5

  8. Score Drift per Month

    = 1.50 points/month

  9. Efficacy Rating

    = C — Fair

How it works

Prevention is worth roughly twice detection because a blocked action needs no analyst, and logging without alerting earns only token credit — it is useful in a post-incident investigation and useless during one. Critical scenarios that fail silently are deducted separately rather than just lowering an average, because burying them in a percentage is how a 70% score hides a total blind spot. The drift figure matters as much as the score: controls decay through configuration change even when nothing is attacked. BAS is the only routine way to find out that a control you are paying for stopped working three weeks ago, and drift is usually the finding rather than the initial score.

Formulas

Breach and Attack Simulation Score

efficacy = preventedShare + 0.55×detectedShare + 0.20×loggedShare − criticalPenalty, so a fully prevented library scores 100, and detection is worth roughly half of prevention.

preventedShare
Scenarios a control blocked outright
detectedShare
Scenarios that were not blocked but raised an alert
loggedShare
Scenarios recorded in logs with no alert — evidence only after the fact
criticalPenalty
1.5 × the share of critical scenarios that failed silently, capped at 30 points

Control drift

drift = (currentScore − previousScore) × 30 ÷ daysSinceLastRun, expressed as points per month.

drift
Rate at which validated efficacy is improving or decaying

Frequently Asked Questions

How is Breach and Attack Simulation Score calculated?

efficacy = preventedShare + 0.55×detectedShare + 0.20×loggedShare − criticalPenalty, so a fully prevented library scores 100, and detection is worth roughly half of prevention. Prevention is worth roughly twice detection because a blocked action needs no analyst, and logging without alerting earns only token credit — it is useful in a post-incident investigation and useless during one. Critical scenarios that fail silently are deducted separately rather than just lowering an average, because burying them in a percentage is how a 70% score hides a total blind spot. The drift figure matters as much as the score: controls decay through configuration change even when nothing is attacked.

Why does Breach and Attack Simulation Score matter?

BAS is the only routine way to find out that a control you are paying for stopped working three weeks ago, and drift is usually the finding rather than the initial score.

What values do I need to enter?

This calculator takes 7 inputs: Scenarios executed, Blocked outright, Not blocked but alerted, Logged with no alert, Critical scenarios neither blocked nor alerted, Score at the last run, Days since the last run. The pre-filled defaults are a realistic starting point — replace them with figures from your own environment for a result you can act on.

Why does logged-only score at all?

Because there is a real difference between an action you can reconstruct afterwards and one that left no trace. It is not defence, but it is the difference between a scoped investigation and guessing.

How often should simulations run?

Continuously for critical controls and at least monthly for the broad library. Anything less and the drift figure covers so long a window that you cannot tie a regression to the change that caused it.

You might also need