Sécurité, exposition publique et RGPD
En bref :
- Deux failles sont toujours ouvertes au 30 octobre 2026, revérifiées sur le code le plus récent : une critique dans la gestion de l’authentification, une élevée dans les autorisations. Détail réservé au RSSI et à la DPO.
- Le défaut d’autorisation DRF, les jetons en
localStorageet l’absence de throttling exposent toute nouvelle route.- Aucune ouverture publique sans correction, retest et projection RGPD en liste blanche.
Préfixes : front = projects-frontend (commit adffa817, 24/09/2026) ; back = projects-crisalid/projects-backend (commit a4f0f58c, 25/09/2026).
Revérification du 30 octobre 2026. Les deux failles prioritaires sont toujours présentes sur les révisions publiques les plus récentes : front a97a336 (28/10/2026), back a7ad849 (22/10/2026).
Diffusion. Tant que ces failles sont ouvertes, ce site public n’en donne ni le mécanisme, ni le fichier, ni la route. Le détail est remis au RSSI, à la DPO et à LPI dans une annexe à diffusion restreinte.
Constats prioritaires
| Niveau | Constat | Preuve | Risque |
|---|---|---|---|
| Critique | Faille dans la gestion de l’authentification, toujours ouverte au 30 octobre 2026 | Annexe restreinte (RSSI, DPO) | Sécurité de la connexion non garantie ; raccordement SSO à reporter |
| Élevé | Faille dans les autorisations, toujours ouverte au 30 octobre 2026 | Annexe restreinte (RSSI, DPO) | Actions possibles sans les droits requis |
| Élevé | Deux autres constats ouverts, l’un dans l’authentification, l’autre dans l’exposition de l’API | Annexe restreinte (RSSI, DPO) | Protection de la connexion et de l’API non démontrée |
| Élevé | Jetons de rafraîchissement en localStorage | front | Vol de jetons en cas de XSS |
| Élevé | Pas de CsrfViewMiddleware dans la liste ; CORS avec CORS_ALLOW_CREDENTIALS = True | back | Protection des écritures à démontrer |
| Élevé | Aucune DEFAULT_PERMISSION_CLASSES ni throttling DRF globaux | back | Une nouvelle route devient anonyme par omission ; scraping |
| Élevé | cache: false et Cache-Control: no-store sur /** | front | Aucune absorption CDN des rafales anonymes |
| Élevé | Nuxt 3.21.8, hors support standard depuis le 31/07/2026 | front | Correctifs de sécurité non garantis |
Contrôles positifs
- secrets Kubernetes chiffrés avec SOPS, TLS sur les ingress, NetworkPolicies ;
- contextes de sécurité des conteneurs ;
- CAPTCHA sur certains formulaires ;
- filtrage des querysets anonymes et classes de permission par vue ;
- préférences de confidentialité ; profils importés à visibilité limitée à l’organisation.
Ils ne compensent pas les constats structurels sur l’authentification, les autorisations et les jetons navigateur.
Données personnelles
Le modèle permet de publier biographie, localisation, pronoms ou date de naissance. Une donnée professionnelle ou déjà publique reste soumise au RGPD. La coexistence de valeurs publiques par défaut et d’imports restreints impose une projection publique en liste blanche, à laquelle s’ajoute le filtrage ZRR validé par le FSD (risques transverses).
Analytics et Sentry
Sentry trace 100 % des transactions et enregistre 10 % des sessions en replay, 100 % en cas d’erreur (front src/app/initSentry.ts:20-25). Mixpanel est initialisé sans garde de consentement visible. Base légale, minimisation, résidence, rétention et accès Paris-Saclay restent à démontrer ; inventaire dans observabilité et analytics.
Surfaces à confirmer depuis Internet
Apollo/GraphQL et Neo4j ; Swagger, OpenAPI et administration Django ; métriques, Redis, OpenSearch ; routes de debug et de santé détaillées ; origines CORS.
Suite
Exigences cibles, tests et gate de sécurité : sécurité attendue. Preuves à obtenir de LPI : grille d’évaluation.