Record fixture-safe ASM T-06 candidate

Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a05e30-2884-71b0-98d7-7edd16ae737b
This commit is contained in:
tegwick 2026-09-02 00:52:14 +02:00
parent 8af514ffd1
commit e04a8b76aa
4 changed files with 82 additions and 1 deletions

View file

@ -0,0 +1,63 @@
# Conformance candidate — secrets-engine approval consumption
**Repository:** gate-house
**Status:** candidate; not executed by whitehat-security
**Date:** 2026-09-02
**Canon target:** T-06 — Approval Replay Test
**Implementer:** secrets-engine
**Implementation revision:** `3cd9955` (observed at repository revision `465c0d7`)
**Source:** State Hub message `99bf84bf-18d2-4e63-a7ac-25078e1c72d5`
**Workplan:** GH-WP-0001-T06
## Why this is a candidate
secrets-engine reports that every privileged production OpenBao handler now
passes through one shared consume-before-effect function. The implementation
is at `src/secrets_engine/approval_consume.py`; its consumer contract is at
`docs/approval-consumption.md`.
The surface exercises the Gate House T-06 invariant without requiring a live
secret, credential, approval service, or OpenBao mutation:
- an exact same-digest retry is idempotent success;
- a different digest produces a conflict and no OpenBao call;
- missing binding, authorization failure, unavailability, and unreachable
approval-engine all fail closed before OpenBao;
- a failed effect does not unconsume the approval;
- the evidence shape contains identifiers and digests, not secret values.
Gate House ran the implementer's focused unit suite as a target-suitability
check:
```text
uv run --project /home/worsch/secrets-engine \
pytest -p no:cacheprovider tests/test_approval_consume.py
17 passed in 0.36s
```
This confirms that a bounded fixture surface exists. It is not an offensive
probe, a known-bad calibration, or a conformance verdict.
## What whitehat-security must still supply
Whitehat-security owns the probe design and outcome. A conforming return still
requires all of the following under `conformance-reporting.v1`:
1. independently identify the exact target revision and fixture boundary;
2. author a known-bad fixture that disables at least one replay protection,
such as different-digest conflict or atomic single-use consumption;
3. demonstrate that the known-bad fixture accepts a prohibited replay or loses
the T-06 oracle;
4. run the same probe against the unmodified candidate;
5. return `pass`, `fail`, `blocked`, or `not_run` with safe evidence references.
The existing implementer tests may be reused as setup evidence but must not be
reported as independent Whitehat evidence.
## Authorization boundary
This candidate authorizes no live probe and no production OpenBao, credential,
approval, packet, or side effect. Whitehat may accept, revise, reject, or split
the candidate under its own rules of engagement. Gate House specifies only the
invariant, target, oracle, and report shape.

View file

@ -21,5 +21,11 @@ Returned reviews:
origin-linked advisory observation is staffed for one lane; load-bearing deny
stream completeness remains unknown; doctrine disposition `no_change`.
Fixture-safe candidates awaiting independent execution:
- [`2026-09-02 — secrets-engine T-06 approval-consumption candidate`](2026-09-02-secrets-engine-t06-candidate.md):
the implementer's focused suite passes, but no whitehat-owned known-bad
calibration or verdict has returned.
No whitehat-security ASM execution report has returned under
`conformance-reporting.v1`. That target set remains `not_run`, not conformance.

View file

@ -115,3 +115,11 @@ Coordination receipts:
one fixture-safe, known-bad-calibrated result in reply
`c33c3a72-5bf3-4693-8861-9e9ad37d5908`. The request explicitly authorizes
no live probe.
Gate House then received a concrete, fixture-safe T-06 candidate from
secrets-engine in message `99bf84bf-18d2-4e63-a7ac-25078e1c72d5`. Revision
`3cd9955` implements consume-before-OpenBao; its focused unit suite passed
17/17 at observed repository revision `465c0d7`. This is target-suitability
evidence only. The required whitehat-owned probe, known-bad calibration, and
verdict remain pending. Candidate record:
`docs/conformance/2026-09-02-secrets-engine-t06-candidate.md`.

View file

@ -136,4 +136,8 @@ result, and acceptance or explicit rejection of the routed source/Taxonomy
residuals. Gate House acknowledged the King's Guard return and accepted
whitehat's probe-ownership correction; whitehat follow-up
`c33c3a72-5bf3-4693-8861-9e9ad37d5908` requests the remaining fixture-safe
calibrated result without authorizing a live probe.
calibrated result without authorizing a live probe. A concrete T-06 candidate
is now recorded from secrets-engine revision `3cd9955`; its implementer suite
passes 17/17, while independent known-bad calibration and verdict remain
pending. Candidate:
`docs/conformance/2026-09-02-secrets-engine-t06-candidate.md`.