Record Whitehat E2 admission abort
Assistant: codex Assistant-Model: gpt-5.6-sol Assistant-Session: 01a02991-be07-7bb3-8b6d-e9701b5621de
This commit is contained in:
parent
56b8a8b24d
commit
c221921142
2 changed files with 79 additions and 0 deletions
|
|
@ -0,0 +1,65 @@
|
||||||
|
# WH-ENG-20260822-AUDIT-E2-02 admission abort
|
||||||
|
|
||||||
|
Date: 2026-08-22
|
||||||
|
Workplan task: `AUDIT-WP-0008-T05`
|
||||||
|
Outcome: aborted before probe execution; zero target packets
|
||||||
|
|
||||||
|
## Scope
|
||||||
|
|
||||||
|
The attended window was 19:15Z–19:30Z. Custody projection was permitted only
|
||||||
|
from 19:15Z through 19:18Z. The approved target image was
|
||||||
|
`sha256:c2fe39a0185b99be3fc0cb14d2de69772b8e66e20490097c9d11d90cc39719a6`.
|
||||||
|
The run used engagement-specific `-02` identities, tenants, fixture IDs, KV
|
||||||
|
paths, and projection resources. No credential value was printed or retained
|
||||||
|
in this evidence.
|
||||||
|
|
||||||
|
## Timeline and value-safe observations
|
||||||
|
|
||||||
|
- Before the window, repeated preflight observed audit-core `1/1` Ready on the
|
||||||
|
approved image, OpenBao initialized and unsealed, and no temporary identity,
|
||||||
|
exact KV path, projection resource, mounted Secret, or runner pod.
|
||||||
|
- At 19:15:32Z, preflight reported `projection-window-open` with the same clean
|
||||||
|
baseline.
|
||||||
|
- The first projection attempt stopped at its projected-key-name verification.
|
||||||
|
SSH had allowed the remote shell to expand the Go-template `$k` variables.
|
||||||
|
The procedure's automatic exact cleanup completed. At 19:16:49Z, independent
|
||||||
|
preflight again found no temporary identity, KV path, projection resource, or
|
||||||
|
runner; audit-core was `1/1` Ready.
|
||||||
|
- The value-safe key-name check was shell-quoted and projection was retried
|
||||||
|
inside the gate. Projection succeeded at 19:17:54Z with exactly two temporary
|
||||||
|
identities, mounted keys `token-a` and `token-b`, expiry 19:30Z, and
|
||||||
|
audit-core Ready. The ExternalSecret reached Ready and the named mounted
|
||||||
|
Secret and ClusterSecretStore existed.
|
||||||
|
- The approved pod contract was applied at 19:19Z and
|
||||||
|
`whitehat/whitehat-e2-audit` became Ready.
|
||||||
|
- Whitehat target validation passed, the engagement was authorized, and the
|
||||||
|
kill switch was clear. `admit-plane` then failed closed with
|
||||||
|
`live custody broker is not connected; no credential was requested`.
|
||||||
|
The custody procedure had produced a valid value-safe projection receipt,
|
||||||
|
but Whitehat has no adapter that consumes that receipt and issues a plane
|
||||||
|
lease. The runner was not invoked and sent zero packets.
|
||||||
|
- The runner pod was deleted at 19:21:07Z. Custody cleanup completed at
|
||||||
|
19:21:39Z: two temporary identities removed, both exact engagement KV paths
|
||||||
|
deleted, mounted Secret absent, audit-core Ready, and no secret value
|
||||||
|
observed.
|
||||||
|
- The independent post-cleanup preflight found empty temporary-identity,
|
||||||
|
exact-path, and projection-resource lists, `projection-cutoff-passed`,
|
||||||
|
OpenBao unsealed, and audit-core `1/1` Ready. The runner pod was absent.
|
||||||
|
|
||||||
|
## Result and follow-up
|
||||||
|
|
||||||
|
This is not E2 evidence and does not complete T05. The run proves the attended
|
||||||
|
custody projection, expiry, runner creation, abort, and exact cleanup path. It
|
||||||
|
also proves that manually coordinating those roles is insufficient: the live
|
||||||
|
test-plane admission control cannot authenticate the custody projection.
|
||||||
|
|
||||||
|
Before another engagement is scheduled, implement and test a value-safe
|
||||||
|
custody receipt contract and Whitehat broker adapter. The adapter must bind the
|
||||||
|
receipt to the exact engagement, two projected handles, target revision,
|
||||||
|
projection and expiry times, mounted Secret identity, and current cleanup
|
||||||
|
authority without returning bearer values. A single driver must then sequence
|
||||||
|
projection-ready, plane admission, runner invocation, report delivery, runner
|
||||||
|
deletion, and custody cleanup while preserving the independent role approvals.
|
||||||
|
|
||||||
|
The SSH argument-quoting defect is fixed and pushed in `railiance-platform`
|
||||||
|
commit `d239ed3`; its regression test and all 115 platform tests pass.
|
||||||
|
|
@ -468,6 +468,20 @@ custody's four focused tests, Kubernetes server-side runner dry-run, and the
|
||||||
live value-safe preflight pass. Before the window there are still no temporary
|
live value-safe preflight pass. Before the window there are still no temporary
|
||||||
identities, KV paths, projection resources, runner, or packets.
|
identities, KV paths, projection resources, runner, or packets.
|
||||||
|
|
||||||
|
The `-02` attended window reached projection but aborted before any target
|
||||||
|
packet. Custody projected exactly two bounded identities at 19:17:54Z, the
|
||||||
|
approved runner became Ready, target and engagement validation passed, and the
|
||||||
|
kill switch was clear. Whitehat's `admit-plane` then failed closed because its
|
||||||
|
live custody broker remains unconnected: there is no trusted adapter that
|
||||||
|
turns the platform's value-safe projection receipt into a plane lease. The
|
||||||
|
runner was never invoked and was deleted at 19:21:07Z. Exact custody cleanup
|
||||||
|
completed at 19:21:39Z; independent checks found no runner, temporary identity,
|
||||||
|
engagement KV path, projection resource, or mounted Secret, and audit-core was
|
||||||
|
`1/1` Ready. This is a clean, zero-packet abort, not E2 evidence. A fresh
|
||||||
|
engagement must wait for the receipt-to-broker adapter and an actual
|
||||||
|
multi-driver sequence. Evidence:
|
||||||
|
`docs/evidence/AUDIT-WP-0008-T05-whitehat-e2-02-abort-2026-08-22.md`.
|
||||||
|
|
||||||
```task
|
```task
|
||||||
id: AUDIT-WP-0008-T06
|
id: AUDIT-WP-0008-T06
|
||||||
status: done
|
status: done
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue