RISK-WP-0001 T01-T06,T08: the four instruments, the index, and the first grading
Severity (impact x likelihood, fidelity modifier for controls that lie, headline-vs-constraint, build-mode double grade, the floor), disclosure (publish/embargoed/restricted, and the build-mode deferral re-taken and narrowed with RISK-F-0001 in hand), escalation (the five INTENT triggers settled plus an ordering-hazard trigger the RISK-F-0002 case forced; proposed, awaiting the custodian), review (intervals, what a review is, what missing one produces, the production re-score). Then applied: RISK-F-0001 critical/embargoed/escalated, RISK-F-0002 medium with a high constraint on RISK-F-0001's remediation, filed as a peer and escalated only on the ordering, RISK-F-0003 high/embargoed/no escalation. No unset field remains. REGISTER.md is generated; make check reports overdue, stalled, ungraded and unanswered escalations without changing anything. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
e268259f94
commit
d5a3953f2e
15 changed files with 1334 additions and 14 deletions
|
|
@ -11,12 +11,24 @@ system: flex-auth
|
|||
environment: production
|
||||
fix_owner: flex-auth
|
||||
fix_tracking: FLEX-WP-0015-T02
|
||||
# The three fields below are risk-nexus's, not the reporter's. Left unset
|
||||
# deliberately: the reporter says what is true, this repo says how bad it is
|
||||
# and who hears about it (INTENT, "What it does not own").
|
||||
severity: unset
|
||||
disclosure: unset
|
||||
escalation: unset
|
||||
# Graded by risk-nexus 2026-08-19 — docs/rulings/2026-08-19-first-grading.md
|
||||
severity: critical
|
||||
severity_at_production: critical
|
||||
impact: I4
|
||||
likelihood: L3
|
||||
fidelity_modifier: false
|
||||
production_rescore: false
|
||||
disclosure: embargoed
|
||||
embargo_condition: "FLEX-WP-0015-T02 ships to production"
|
||||
embargo_since: "2026-08-19"
|
||||
embargo_review: "2026-08-26"
|
||||
escalation: required
|
||||
escalation_trigger: 1
|
||||
escalation_status: pending-operator
|
||||
last_reviewed: "2026-08-19"
|
||||
review_by: "2026-08-26"
|
||||
graded_by: risk-nexus
|
||||
ruling: RISK-RULING-2026-08-19
|
||||
---
|
||||
|
||||
# RISK-F-0001 — flex-auth authenticates no caller on the decision surface
|
||||
|
|
@ -101,3 +113,43 @@ All four were found the same way, by repos reading their own code against a
|
|||
ladder, within a day of each other. That is a fact about the estate's
|
||||
observability worth carrying into triage: **four live defects, none found by
|
||||
monitoring.**
|
||||
|
||||
## Register ruling — 2026-08-19
|
||||
|
||||
`critical` (`I4` × `L3`, no fidelity modifier), embargoed until
|
||||
`FLEX-WP-0015-T02` ships, **escalated** to the operator on trigger 1.
|
||||
|
||||
The question this finding put — whether governing access to tenant data counts
|
||||
as exposing it — is answered **yes**. An authorization oracle that can be
|
||||
forged is not one step removed from the data; it is the step.
|
||||
|
||||
Impact is `I4` because a forged allow does not stay here: it is the answer
|
||||
other services act on, and `tenant-engine` has stated what direct authority
|
||||
over its rows would mean. Likelihood is `L3` — the normal working set, inside
|
||||
the cluster, no additional step — and the register follows the reporter in
|
||||
neither assuming a default-deny NetworkPolicy nor assuming its absence.
|
||||
|
||||
No fidelity modifier: this endpoint answers honestly about a caller it never
|
||||
checked. The false-record hazard lives in `RISK-F-0002`'s constraint, where a
|
||||
consumer of this endpoint would begin signing records asserting an
|
||||
authorization that was never made. **That constraint binds this finding's
|
||||
remediation**: `ops-warden`'s `policy.enabled` must not be turned on until
|
||||
`/v1/check` authenticates its callers, and the ordering is
|
||||
|
||||
```
|
||||
flex-auth warn-only -> ops-warden gate presents its SA token -> logs clean
|
||||
-> flex-auth fail-closed -> ops-warden policy.enabled: true
|
||||
```
|
||||
|
||||
Nothing further is asked of `flex-auth` beyond what they have committed to,
|
||||
except one fact only they can supply: **is there a default-deny NetworkPolicy
|
||||
in front of the Service?** It is the single fact that would most change this
|
||||
grade, and it is the first question at review.
|
||||
|
||||
Reasoning: `docs/rulings/2026-08-19-first-grading.md`.
|
||||
|
||||
## Reviews
|
||||
|
||||
- **2026-08-19** — graded. Next review 2026-08-26 (`critical` → 7 days).
|
||||
Open at review: the NetworkPolicy question; whether `FLEX-WP-0015-T02` has
|
||||
moved; whether the embargo still holds.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue