|
audit: credential creation-point inventory -- 12 declared secrets have NO mint command
Read-only research capture seeding the D-137 credential matrix. Nothing built; the five D-137 forks remain unruled. FINDING 1 (qualifies the premise that creation points are already known): `grep -rnI "ssh-keygen" .` returns ZERO hits repo-wide -- no mkpasswd, pwgen, uuidgen, random_password or tls_private_key either. Yet the manifests declare six SSH keypairs plus the OPNsense root password/hash, whose only provenance record is a manifest COMMENT. Twelve standing credentials therefore have no reproducible mint. If the jumphost is rebuilt, no repo artifact says how to recreate them -- a Roosevelt-transfer defect, not merely hygiene. Consequence for the design: mint-ref must admit three provenance kinds (script:line, runbook:step, operator-terminal), and the operator-terminal rows are the debt the matrix exists to surface, not parse errors. FINDING 2: three credential DIRECTORIES sit outside the SEC-009 per-site creds convention and outside creds-audit entirely -- the Vault init directory (5 unseal shares + root token), the Octavia PKI directory (8 artifacts including two CA private keys), and the per-tenant directories. All are named in CLAUDE.md, so they are known; they are simply uncontrolled. Materially extends SEC-023. Also flags overlays/octavia-pki.yaml, which lands a CA key blob plus a plaintext passphrase inside the repo clone, gitignored -- with SEC-004 the repo still PUBLIC. FINDING 4 corroborates SEC-020 independently: phase-4 runbook:128 mints the juju-<dc> superusers with no --password (stored nowhere), and site-headend-install.sh:452 uses --password in argv. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HvCyrwvYTTcDYnRErfMsNf |
|---|
|
|
| docs/CURRENT-STATE.md |
|---|
| docs/audit/creds-creation-points-20260725.md 0 → 100644 |
|---|