Split Grouped Attacker
split_grouped_attackerSplits an attacker covering multiple capability zones into per-zone parts, moves each asset's control mappings to the matching part, and removes the original in a new model version.
Instructions
Split an attacker that stands for zones of several capabilities into
the parts get_behavioural_attackers offers under splits.
Mutating; creates a model version.
Name each part by its zones as the offer lists them, which is the
split reviewed. In one write, each part is added holding what its zones
hold, its holdings attested, stating its zones, and rated as
add_attacker rates (one call per part before the write, charged to
the caller: ratings says how many); every control mapping of the
attacker's objective of an asset moves to each part's objective of that
asset with the same privilege (they owe the same obligations); and the
attacker is removed. Relay the offer to the person first. Refused with
409 split_not_offered (read the attackers again), 409
review_stale (the parts changed: read them again), 409
closure_not_offered.
A program's split is a judgment. Unless the workspace's delegation
policy admits it, it is refused with 403 and an escalation_id and
parked for a person. Do not retry: report the escalation_id and poll
list_proposals.
Returns {model_id, model_version, applies, credential_classes, counts, split, added, moved}: the closure's counts, the attacker split, the
parts' ids and the objectives whose control mappings moved.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| parts | Yes | Each part's zones, comma-separated, the parts separated by semicolons (e.g. "host;vendor_a;partner"). | |
| model_id | Yes | ID of the threat model. | |
| attacker_id | Yes | The attacker to split (e.g. "T7"). | |
| server_version | Yes |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||