|
SEC-024 REMEDIATED (mode): chmod 600, operator-approved; retention deferred
Operator-approved mutation, executed and read-back verified: chmod 600 on terraform.tfstate.backup and terraform.tfstate.pre-G16-20260721. All four state files now 0600, matching the live state file, and the checker's E2 WORLD-READABLE finding cleared. Severity was corrected in the preceding commit BEFORE any remediation: the row as opened said "group- and world-readable", but opentofu/ is 0700 and ~ is 0750, so no other account could reach it, and neither file is git-tracked. Defence-in-depth defect, not live exposure. A ledger row that overstates an exposure is its own defect. Retention of the two pre-* state-surgery snapshots is operator-DEFERRED to the stage close-out: both gates (G6, G16) are CLOSED, but deletion is irreversible with no other copy of that state. Deliberately NOT done: the umask cause (out of ruled scope -- a future apply may write 0664 again and the P5 gate will catch it), and the underlying DOCFIX-175 issue that the key reaches state files in plaintext at all, whose rotation is owed under SEC-018/-019. Caveat recorded in creds-matrix-notes.md: E2 reports file MODE, not reachability. That is the right default for a gate, but whoever writes up an E2 finding owes a reachability check before using the word "exposed" -- this defect is exactly why. Gauntlet ALL GREEN (80), repo-lint 0-fail, finding-class baseline unchanged. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HvCyrwvYTTcDYnRErfMsNf |
|---|
|
|
| creds-matrix-notes.md |
|---|
| docs/CURRENT-STATE.md |
|---|
| docs/changelog-20260726-d137-tier1.md |
|---|