Track KeyCape live secret exposure recovery
Assistant: codex Assistant-Model: gpt-5.6-sol Assistant-Session: 01a02e3f-7301-7622-9be1-12e5f352881c
This commit is contained in:
parent
d150be1097
commit
b7b4985baa
1 changed files with 62 additions and 0 deletions
62
workplans/KEY-WP-0011-live-secret-exposure-recovery.md
Normal file
62
workplans/KEY-WP-0011-live-secret-exposure-recovery.md
Normal file
|
|
@ -0,0 +1,62 @@
|
|||
---
|
||||
id: KEY-WP-0011
|
||||
type: workplan
|
||||
title: "Recover from live KeyCape Secret output exposure"
|
||||
domain: infotech
|
||||
repo: key-cape
|
||||
status: blocked
|
||||
owner: codex
|
||||
topic_slug: netkingdom
|
||||
created: "2026-08-23"
|
||||
updated: "2026-08-23"
|
||||
---
|
||||
|
||||
# KEY-WP-0011 — Live KeyCape Secret exposure recovery
|
||||
|
||||
Recover safely after the base64 data map of Kubernetes Secret
|
||||
`sso/keycape-config` was mistakenly rendered in agent tool output during a
|
||||
metadata check. Never reproduce, decode, or store the exposed payload.
|
||||
|
||||
## Contain and notify owners
|
||||
|
||||
```task
|
||||
id: KEY-WP-0011-T01
|
||||
status: done
|
||||
priority: high
|
||||
```
|
||||
|
||||
Stopped live rollout work, treated the payload as exposed, and notified
|
||||
railiance-platform and NetKingdom without values. The affected classes are the
|
||||
KeyCape RS256 signing private key and credentials embedded in `config.yaml`
|
||||
(LLDAP bind credential, Authelia client credential, and privacyIDEA admin
|
||||
token). No value was decoded, reused, or intentionally repeated and no live
|
||||
mutation was attempted.
|
||||
|
||||
## Approve and execute coordinated rotation
|
||||
|
||||
```task
|
||||
id: KEY-WP-0011-T02
|
||||
status: wait
|
||||
priority: high
|
||||
```
|
||||
|
||||
Requires an approved owner-coordinated rotation plan. KeyCape signing-key
|
||||
rollover must account for JWT/JWKS continuity or deliberate invalidation;
|
||||
backend credential rotations must update each issuing system and every
|
||||
consumer atomically enough to avoid an authentication outage. Secret values
|
||||
must use approved custody transports and never enter Git, State Hub, chat,
|
||||
arguments, or ordinary logs.
|
||||
|
||||
## Verify recovery without values
|
||||
|
||||
```task
|
||||
id: KEY-WP-0011-T03
|
||||
status: wait
|
||||
priority: high
|
||||
```
|
||||
|
||||
After rotation, verify new resource versions and non-secret fingerprints,
|
||||
KeyCape readiness/discovery/JWKS, LLDAP lookup, Authelia authorization handoff,
|
||||
privacyIDEA fail-closed MFA, and invalidation of the superseded credentials.
|
||||
Verification must not render any Kubernetes Secret data or authentication
|
||||
value.
|
||||
Loading…
Add table
Add a link
Reference in a new issue