Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added doc/blog/2026_07_09_scanner_walkthrough.mp4
Binary file not shown.
8 changes: 5 additions & 3 deletions doc/blog/2026_07_09_scenarios.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,8 @@ await scenario.initialize_async(objective_target=target)
result = await scenario.run_async()
```

Watch the [scanner walkthrough](./2026_07_09_scanner_walkthrough.mp4) to see how to select and run a scenario from the command line.

`RapidResponse` is a natural jumping-off point. You run it to map *where* your target struggles — and then you pivot to a focused scenario to dig into *why*.

## When brute force gets expensive
Expand Down Expand Up @@ -117,10 +119,10 @@ flowchart TB
AT -->|"registered (with tags)"| Reg["AttackTechniqueRegistry"]
Reg -->|"TagQuery"| Strat["ScenarioTechnique"]

Strat -->|"--techniques"| Sc["Scenario<br/>(e.g. RapidResponse)"]
DS[("scenario datasets")] --> Sc
Strat -->|"--techniques"| Sc["Scenario (e.g. RapidResponse)"]
DS[(scenario datasets)] --> Sc

Sc -->|"technique × dataset"| AA["AtomicAttack"]
Sc -->|"technique x dataset"| AA["AtomicAttack"]
AA -->|"AttackExecutor"| Res["ScenarioResult"]
```

Expand Down