Audit sécurité/qualité : corrections critiques, tests, CI et lint #4

Merged
cedric merged 28 commits from fix/audit-2026-07-04 into master 2026-07-04 17:01:30 +00:00
Owner
  • 🔴 Sécurité : IDOR sur update/delete (parole/artiste/commentaire), mass assignment non filtré sur create/update, hash de mot de passe exposé via register, secrets hardcodés en fallback dans admin.js, injection HTML dans l'email de notification
  • 🐛 Bugs : signature cassée de parole.findOne, écrasement destructif des commentaires existants d'une parole, mauvais id/documentId, crash sur updatedBy non peuplé, cascade de renommage de slug artiste
  • ⚙️ Fiabilité : sauvegarde hebdomadaire de la base réellement implémentée, timeout + isolation des échecs DeepL, publication non bloquée si Telegram/Revolt échoue, bulk-translate restreint aux appels API token
  • 🧹 Nettoyage : dossiers legacy extensions//components/, config rest-cache inutilisée, dépendance axios déclarée directement
  • Tests & CI : mise en place de Vitest, exécution des tests avant build et sur chaque déploiement
  • 📏 Lint : activation d'ESLint (0 erreur)
- 🔴 Sécurité : IDOR sur update/delete (parole/artiste/commentaire), mass assignment non filtré sur create/update, hash de mot de passe exposé via `register`, secrets hardcodés en fallback dans `admin.js`, injection HTML dans l'email de notification - 🐛 Bugs : signature cassée de `parole.findOne`, écrasement destructif des commentaires existants d'une parole, mauvais id/documentId, crash sur `updatedBy` non peuplé, cascade de renommage de slug artiste - ⚙️ Fiabilité : sauvegarde hebdomadaire de la base réellement implémentée, timeout + isolation des échecs DeepL, publication non bloquée si Telegram/Revolt échoue, `bulk-translate` restreint aux appels API token - 🧹 Nettoyage : dossiers legacy `extensions/`/`components/`, config `rest-cache` inutilisée, dépendance `axios` déclarée directement - ✅ Tests & CI : mise en place de Vitest, exécution des tests avant build et sur chaque déploiement - 📏 Lint : activation d'ESLint (0 erreur)
cedric added 28 commits 2026-07-04 16:57:05 +00:00
Installe eslint, ajoute le script lint, modernise le parser
(retrait de babel-eslint obsolète) et applique l'autofix
(points-virgules manquants sur l'ensemble du code, conformément
à la règle "semi" déjà présente dans .eslintrc mais jamais
appliquée faute d'ESLint installé et d'un script pour l'exécuter).
fix: corriger les erreurs ESLint restantes après activation
Déploiement API BETA / build (push) Successful in 2m24s
Déploiement API BETA / deploy (push) Successful in 1m37s
Vérification PR / build (pull_request) Successful in 2m23s
Vérification PR / deploy-beta (pull_request) Successful in 48s
2c84ea0f25
- retirer les paramètres/variables inutilisés (result, ctx/next, qs)
- corriger l'indentation tabs/espaces mélangés dans src/admin/app.js
- retirer les échappements regex inutiles dans stripMarkdown
- remplacer while(true) par for(;;) (faux positif no-constant-condition)
cedric merged commit 7e705d3976 into master 2026-07-04 17:01:30 +00:00
Sign in to join this conversation.