PracticalCoder writing
2 min read

Your Rotated Secret Still Lives Somewhere

An engraved lighthouse-station print of a keeper sweeping old lamp-glass panes from lockers and sills while the new lamp burns above
An engraved lighthouse-station print of a keeper sweeping old lamp-glass panes from lockers and sills while the new lamp burns above

The new secret was written and verified. But the rotation wasn't done, because the old value still had places to hide: shadowed copies in per-host files, a dead-looking key that was actually live in production, a running container still holding the stale mount, and four residuals in a session database's write-ahead log.

"Rotated" doesn't mean the new value exists; it means the old one has nowhere left to be.

The write is the easy part

Writing a new credential is one operation. Completing a rotation means auditing everywhere the old one still lives: same-named vars in per-host files that override the group (rotation updated the group, the host kept the old secret, silently, with no error); dead keys that turn out to be live somewhere else; running processes still holding the old mount.

The sweep finds what the write leaves behind.

Dead-looking names carry live weight

A datastore credential marked for removal turned out to be value-identical across all five environments. The "dead staging" token was the live production admin token. Names lie about liveness; only fingerprint comparison told the truth. You can't retire what you haven't fingerprinted.

flowchart TB
    NEW[new value written] --> SWEEP[the sweep]
    SWEEP --> SHADOW[host-var shadows:
different values] SWEEP --> DEAD[dead keys:
live elsewhere?] SWEEP --> MOUNT[running containers:
stale mounts] SWEEP --> LOGS[transcript store:
WAL residuals] SWEEP --> UNROT[never-rotated:
predates the incident]

Exposure predates the incident

The biggest surprise was this: old session summaries still held values from before the leak that triggered the programme. The incident was the trigger, not the boundary. The exposure window reached backwards.

An incident discovers a leak; it doesn't define where that leak begins or ends.
An engraved lighthouse-station print of the emptied lockers — each old pane tagged and counted, the floor finally clear
An engraved lighthouse-station print of the emptied lockers — each old pane tagged and counted, the floor finally clear

Your shadowed secret.

The rotation updated the group file while a host file kept the old value, and this happened after the sweep that found it.

Email RSS
Get new articles
One email when something publishes. No schedule, no digest of old posts.