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:
parent
8af514ffd1
commit
e04a8b76aa
4 changed files with 82 additions and 1 deletions
63
docs/conformance/2026-09-02-secrets-engine-t06-candidate.md
Normal file
63
docs/conformance/2026-09-02-secrets-engine-t06-candidate.md
Normal 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.
|
||||
|
||||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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`.
|
||||
|
|
|
|||
|
|
@ -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`.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue