Reevaluate Threat Model Factors
reevaluate_threat_model_factorsRe-rate LLM factor judgments for a threat model's live assets and attackers—all, named IDs, unrated, or stale—without regenerating the model or losing controls.
Instructions
Re-run the LLM factor judgment on a model's live assets and
attackers: every one, those entity_ids names, only those nobody
rated (unrated_only), or only those whose rating was made for
another description of the system (stale_only, an entity's
rating_stale; with both flags, either). With entity_ids a flag
narrows to those named. The review queue's rating_stale row names the
request that re-rates its entities. Re-baselines factors after a bug fix
or description change, or rates what reads "not rated", without
regenerating the model (which would destroy controls, assertions,
components). One call per entity in scope, at your cost; an id naming no
live asset or attacker is refused (400) before any call; a scope naming
none makes no call.
A rating a model made is replaced with a fresh decomposition and its
impact / likelihood re-derived from it. A rating a person chose is never
replaced: the answer is held pending beside it (rating_pending on
get_entity), the more severe of the two in force, until someone
settles them with settle_entity_rating. Each re-rating is a rating
revision recorded with change_reason (default "LLM factor
re-evaluation"), told apart from overrides made with edit_asset /
edit_attacker. The judgment is a starting point: layer
deployment-specific factors on top with those, and a change_reason
saying why.
Per-entity soft-fail: a failure on one entity lands in
failed_entities (id, kind, reason) and the rest still
persist; 503 only when every entity in scope failed, with nothing
persisted. Soft-deleted entities are skipped.
Re-ratings keep the model version, except where an answer changes an
attacker's attack_vector or privileges_required: reachability
reads both, so the run saves one new version carrying every answer,
and a proposal reviewed before it reads review_stale. Privileges a
person attested, or that what the attacker holds gives, are no rating's:
an answer never moves them.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| model_id | Yes | ID of the threat model to re-rate. | |
| entity_ids | No | Optional comma-separated asset and attacker ids (e.g. "A-03,T-14"); omit for every live entity. | |
| stale_only | No | Only entities rated for another description. Default False. | |
| unrated_only | No | Only entities whose ``rating_source`` is ``unrated``. Default False. | |
| change_reason | No | Optional audit-trail reason (default "LLM factor re-evaluation"). | |
| server_version | Yes |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||