Schedule 18:00Z custody for acknowledged audit-core E2
Record the owner-acknowledged window, pin the runner invocation including the forged fixture id, and ask railiance-platform to project identities only at window start. No mint, no pod apply, no packets. Assistant: grok Assistant-Session: 01a02670-3345-76f2-a014-70fde8e2a2bb
This commit is contained in:
parent
32afceb68e
commit
b8facab717
8 changed files with 139 additions and 39 deletions
|
|
@ -1,4 +1,7 @@
|
|||
The `audit-core-e2-pod.yaml` manifest is bound to cancelled engagement
|
||||
`WH-ENG-20260821-AUDIT-E2`. Do not apply it. New live runs use
|
||||
`plane/runner-pod.yaml` with a new unretired engagement ID after the plane
|
||||
exists.
|
||||
`WH-ENG-20260821-AUDIT-E2`. Do not apply it.
|
||||
|
||||
`whitehat-e2-audit-20260822.yaml` is the contract for
|
||||
`WH-ENG-20260822-AUDIT-E2-01`. Do not apply it until custody has projected
|
||||
the two mount-only tokens at window start. Invocation details are in
|
||||
`WH-ENG-20260822-AUDIT-E2-01-invocation.md`.
|
||||
|
|
|
|||
|
|
@ -0,0 +1,48 @@
|
|||
# WH-ENG-20260822-AUDIT-E2-01 — invocation (no secrets)
|
||||
|
||||
Do not apply the runner pod and do not mint credentials until the custody
|
||||
owner projects two mount-only tokens at window start. Minting now would
|
||||
exhaust the 900-second TTL before `18:00Z`.
|
||||
|
||||
Current time-gate: `validate-engagement` and `admit-plane` fail closed with
|
||||
`engagement window has not started` until `2026-08-22T18:00:00Z`. After the
|
||||
window opens, `admit-plane` still fails closed while the live custody broker
|
||||
is unconnected.
|
||||
|
||||
## Custody projection (railiance-platform)
|
||||
|
||||
Schedule, do not mint early:
|
||||
|
||||
| Handle | Binding |
|
||||
| --- | --- |
|
||||
| token-a | `source=whitehat-security`, tenant `tenant:trial:whitehat-a-20260822`, `may_read=true`, `may_write=true` |
|
||||
| token-b | `source=whitehat-security`, tenant `tenant:trial:whitehat-b-20260822`, `may_read=true`, `may_write=true` |
|
||||
|
||||
- Secret name `whitehat/whitehat-e2-audit-credentials` (namespace `whitehat`)
|
||||
- Keys `token-a`, `token-b` only; never the full sender registry
|
||||
- Issue at `2026-08-22T18:00:00Z`, `expires_at` `2026-08-22T18:15:00Z`, TTL ≤ 900s
|
||||
- Attended registry reload and cleanup before expiry
|
||||
- Never return token values to whitehat, State Hub, or chat
|
||||
|
||||
## Runner (inside the admitted pod, after projection)
|
||||
|
||||
```
|
||||
python3 - \
|
||||
--base-url http://audit-core.audit-core.svc.cluster.local:8080 \
|
||||
--engagement-id WH-ENG-20260822-AUDIT-E2-01 \
|
||||
--target-revision sha256:c2fe39a0185b99be3fc0cb14d2de69772b8e66e20490097c9d11d90cc39719a6 \
|
||||
--token-a-file /var/run/secrets/whitehat/token-a \
|
||||
--token-b-file /var/run/secrets/whitehat/token-b \
|
||||
--tenant-a tenant:trial:whitehat-a-20260822 \
|
||||
--tenant-b tenant:trial:whitehat-b-20260822 \
|
||||
--event-a whitehat-e2-event-a-20260822 \
|
||||
--event-b whitehat-e2-event-b-20260822 \
|
||||
--absent-event whitehat-e2-absent-20260822 \
|
||||
--forged-event whitehat-e2-forged-b-20260822 \
|
||||
--correlation whitehat-e2-correlation-20260822 \
|
||||
--occurred-at 2026-08-22T18:00:00Z \
|
||||
--rate 10 --max-requests 30 --abort-p95-ms 500
|
||||
```
|
||||
|
||||
stdin is `runners/audit_core_e2.py`. The forged event argument is mandatory
|
||||
and must stay inside `fixture_ids`.
|
||||
53
engagements/runtime/whitehat-e2-audit-20260822.yaml
Normal file
53
engagements/runtime/whitehat-e2-audit-20260822.yaml
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
# CONTRACT ONLY. Do not apply until custody has projected
|
||||
# whitehat/whitehat-e2-audit-credentials at window start.
|
||||
# Never reuse WH-ENG-20260821-AUDIT-E2.
|
||||
apiVersion: v1
|
||||
kind: Pod
|
||||
metadata:
|
||||
name: whitehat-e2-audit
|
||||
namespace: whitehat
|
||||
labels:
|
||||
app.kubernetes.io/name: whitehat-security
|
||||
app.kubernetes.io/component: whitehat-probe
|
||||
whitehat.security/plane: "true"
|
||||
whitehat.security/target: audit-core
|
||||
whitehat.security/engagement: WH-ENG-20260822-AUDIT-E2-01
|
||||
spec:
|
||||
serviceAccountName: whitehat-runner
|
||||
automountServiceAccountToken: false
|
||||
activeDeadlineSeconds: 900
|
||||
restartPolicy: Never
|
||||
securityContext:
|
||||
runAsNonRoot: true
|
||||
runAsUser: 10001
|
||||
runAsGroup: 10001
|
||||
fsGroup: 10001
|
||||
seccompProfile:
|
||||
type: RuntimeDefault
|
||||
containers:
|
||||
- name: probe
|
||||
image: forgejo.coulomb.social/coulomb/audit-core@sha256:c2fe39a0185b99be3fc0cb14d2de69772b8e66e20490097c9d11d90cc39719a6
|
||||
imagePullPolicy: IfNotPresent
|
||||
command: ["sleep", "900"]
|
||||
resources:
|
||||
requests: {cpu: 5m, memory: 16Mi}
|
||||
limits: {cpu: 50m, memory: 64Mi}
|
||||
securityContext:
|
||||
allowPrivilegeEscalation: false
|
||||
capabilities:
|
||||
drop: ["ALL"]
|
||||
readOnlyRootFilesystem: true
|
||||
volumeMounts:
|
||||
- name: credentials
|
||||
mountPath: /var/run/secrets/whitehat
|
||||
readOnly: true
|
||||
volumes:
|
||||
- name: credentials
|
||||
secret:
|
||||
secretName: whitehat-e2-audit-credentials
|
||||
defaultMode: 0440
|
||||
items:
|
||||
- key: token-a
|
||||
path: token-a
|
||||
- key: token-b
|
||||
path: token-b
|
||||
Loading…
Add table
Add a link
Reference in a new issue