chore(git): garde-fou gitleaks, hygiène .gitignore et docs à jour #36
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "chore/hygiene-git"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Passe d'hygiène git + docs, suite au scan sécurité du 2026-07-26.
Garde-fou secrets (le fond du sujet)
Trois clés provider (OpenRouter, Google, ElevenLabs) ont été commitées en clair dans
data/config.jsondébut 2026 et sont restées récupérables dans l'historique des trois remotes. Vérification du 2026-07-26 : les trois sont aujourd'hui révoquées (OpenRouter HTTP 401, GoogleAPI_KEY_INVALID, ElevenLabs révoquée manuellement). Mais rien n'empêchait un troisième épisode.Un job
secret-scanest ajouté aux deux CI (GitHub + Forgejo), gitleaks pinné en 8.30.1 :fetch-depth: 0, et pas de--depth 1côté Forgejo) — un secret introduit puis retiré dans la même PR ne doit pas passer ;--redact, parce que les logs CI sont eux-mêmes un canal de fuite ;.gitleaks.tomlallowliste les deux commits de la fuite historique — sans ça la CI serait rouge en permanence pour des clés mortes, et un garde-fou toujours rouge finit ignoré ;backend/tests/en entier : un vrai secret commité par erreur ailleurs doit continuer à faire échouer la CI.Vérifié localement dans les deux sens : 1453 commits scannés sans détection, et deux fausses clés à entropie réaliste bien attrapées.
Corrections de documentation
SECURITY.mdannonçait la 3.x comme ligne supportée alors que l'app est en 5.135.0. C'est la politique publique : elle indiquait à un chercheur externe qu'un rapport sur la 5.x était hors scope.CLAUDE.mdse contredisait sur le compte de clés i18n — 3682 ligne 211, 3622 ligne 367 — et les deux étaient faux (réel : 3853). Le résidu de chaînes en dur passe de « ~60 » à 76 sur 15 fichiers, dont 35 concentrées dansplugins/valkyrie/index.tsx. Chiffres relevés en exécutant la jauge.COMPARATIF.mdsupprimé : figé à mai 2026 et classant les alternatives par étoiles GitHub. Sa ligne devenue morte dans.dockerignorepart avec. Les mentions dans le CHANGELOG sont conservées — ce sont des entrées historiques.Hygiène
data/est énuméré fichier par fichier dans.gitignore, donc chaque nouveau répertoire runtime repolluegit status.data/channels/,data/consciousness_snapshots/et les sauvegardes horodatéesdata/*.bak.*traînaient en untracked depuis des semaines.C'est le même motif que la denylist d'
env_sandboxrelevée par l'audit : une liste nominative rate toujours le nom suivant. Passerdata/en tout-ignoré avec exceptions serait plus robuste, mais c'est un changement de convention à trancher séparément.Hors PR, dans le même passage :
mainsuivaitorigin(GitHub, gelé au 30 juin, 88 commits de retard) et suit désormaisforgejo/main— même bug que celui corrigé sur Morrigan le 26 juillet. 14 branches locales absorbées supprimées (SHA notés pour restauration), 20 références de suivi périmées élaguées.🤖 Generated with Claude Code
https://claude.ai/code/session_01XgvmDvw4ZGuUVkSkoMtEn7