docs(vps-memory-node): section incident mot de passe — audit de purge complet (emplacements propres/purges/residuels)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Claude (Mac) 2026-07-10 23:37:20 +01:00
parent 3bffa61438
commit ac8a5dd071
1 changed files with 27 additions and 0 deletions

View File

@ -54,3 +54,30 @@ git -C /opt/memory-node/git/nas-runbooks.git log --oneline -1 # doit suivre Gi
## Reste à faire (hors Objectif A) ## Reste à faire (hors Objectif A)
- Renommer le nœud tailnet NAS `ahmed---yesmine``nas` (Nabil, console admin Tailscale). - Renommer le nœud tailnet NAS `ahmed---yesmine``nas` (Nabil, console admin Tailscale).
---
# Incident mot de passe — audit de purge (1011/07/2026)
L'ex-mot de passe sudo Best0f (périmé, non remplacé : root NAS = Planificateur DSM + sessions interactives) a été purgé de partout où il traînait. **Anti-pattern racine** : le skill Hermes `nas-executor` (09/06/2026) l'avait **hardcodé en `SSHPASS="…"` (10×)** — de là il s'est propagé dans les backups de skills, la base d'état de l'agent, le repo git et le backup USB. Règle : un skill lit ses secrets depuis l'env/.env, jamais en littéral.
## Emplacements scannés — PROPRES
Arbre + historique git `nas-runbooks` ; historiques git `hermes-skills`, `hermes-platform`, `linux-mcp-nas`, `nabil-brain`, `claude-cowork-nas` ; vault NyoraNotes (md + SQLite via strings) ; context-hub (données + SQLite) ; `data/` hermes-tt et hermes-nyora ; *.md racine `/volume1/docker`, clone STALE, `claude_contexte/` ; pingvin ; historiques shell Best0f (inexistants) ; USB `_memoire/` ; VPS `/opt/memory-node/`.
## PURGÉS (1011/07)
- Mémoire Claude (Mac) : 3 fichiers réécrits sans la valeur.
- `hermes-perso/data/backups/skills-20260609-214432/…/nas-executor/` : `SKILL.md` + `references/dsm-api-access.md` (11 occ. → `[REDACTED-purge-20260711]`).
- `hermes-perso/data/state.db.corrupt-20260709-231035` (407 Mo) : rédaction binaire à longueur constante, 0 occ. restante.
- Repo Gitea `hermes-perso` HEAD : commit `64fdcc5` (`SSHPASS` → `$NAS_SSH_PASSWORD`). Le repo était en retard sur le live.
## RÉSIDUELS — session interactive root requise
- `linux-mcp-nas/audit.log` (root:root 600, invérifiable sans root) — l'historique avait été scrubbé le 08/07, à confirmer/`sed` si besoin.
- **Backup USB** (Best0f sans écriture) : 4 fichiers skills (sets 04/07 et 10/07) + `state.db.corrupt` (set 10/07) — versions non purgées.
- `/volume1/@docker/volumes/` : non scannable sans root.
## RÉSIDUEL ACCEPTÉ (à trancher)
- Historique git `hermes-perso` : le commit `574faf1` (intro du skill) contient le mot de passe. Réécriture d'historique = lourde ; mot de passe **périmé** + repo privé LAN → **acceptation documentée recommandée**.
## Constats connexes (hors purge, à corriger)
- Le skill **live** `nas-executor` (hermes-perso) hardcode **un autre secret actif** (`SSHPASS=…`, 3×) — même anti-pattern, à passer en variable d'env.
- L'arbre courant de `nas-runbooks` contient encore des secrets famille `2L2u519w*` en clair (bestof/DSM dans HEBERGEMENT-SITES-STATIQUES.md, cin-search-tt…) : la **rotation totale** demandée par l'audit mcp-nas du 08/07 reste à faire.