Files
greenwood-school-re/docs/FINDINGS.md
T
Omarchy-Big-PC b6f22ad7c1 Traduction française complète + courriel de divulgation responsable
- README, PROTOCOL, FINDINGS, endpoints, rapport et outils traduits en français
- docs/DISCLOSURE.md : courriel prêt à envoyer à hello@boti.education
  (compte démo codé en dur, transmission en clair, logging de production)
- extract_endpoints.py vérifié après traduction (100 points d'accès toujours extraits)
2026-09-01 17:29:25 +01:00

55 lines
2.5 KiB
Markdown

# Constats de sécurité (com.botieducation.greenwood 2.4.14)
Éditeur : Boti Education (boti.education). Tous les constats proviennent de
l'analyse statique de l'APK distribué publiquement ; un seul appel de
connexion réel a servi à vérifier le protocole.
## F1. Identifiants codés en dur dans la build de production [GRAVE]
extracted/assets/public/1028.js (composant de la page de connexion) contient :
reconnectUser={id:12745, phone:"0649014703", password:"0649014703"}
Il s'agit d'un compte de démonstration oublié (reconnexion biométrique) avec
le numéro de téléphone comme mot de passe, compilé dans le bundle de
production. Quiconque possède l'APK connaît donc un identifiant et un mot de
passe. Statut réel de ce compte côté serveur : inconnu ; signalement à
l'éditeur recommandé.
## F2. Transmission des identifiants en clair [MOYEN]
POST /login envoie le mot de passe comme champ de formulaire en clair
(password=...). TLS protège le transport, mais l'identifiant reste en texte
clair dans tout journal intermédiaire qui enregistre les données de
formulaire ; même schéma dans forgot-password et change-password. Pas de
hachage côté client. Courant pour cette classe d'application, à signaler
quand même.
## F3. Journalisation verbeuse en production [FAIBLE]
L'ApiService journalise (console.log) les paramètres, les en-têtes et le
jeton d'accès dans la build release (visibles via adb logcat / débogage
WebView distant s'il est activé).
## F4. Pas d'épinglage de certificat, pas d'obfuscation [INFO]
Aucune configuration de pinning dans le bundle, aucune restriction
network_security_config au-delà des valeurs par défaut, bundle JS entièrement
lisible. Coût de la rétro-ingénierie : environ une heure.
## F5. Permissions larges mais plausibles [INFO]
CAMERA, localisation fine+grossière, micro (plugin enregistreur vocal),
stockage externe, FCM. Cas d'usage de la localisation : suivi des trajets
(points d'accès pick*) ; caméra pour l'envoi de photos. Aucun abus observé
(SMS, contacts, accessibilité).
## Notes de divulgation responsable
- Contact éditeur via boti.education ; l'école (Green Wood School,
tél 0520744100 d'après le message officiel d'accueil) peut relayer.
- F1 est le seul constat avec un potentiel de prise de contrôle de compte et
il est trivialement vérifiable par l'éditeur.
- Ne pas tester F1 contre le serveur réel au-delà de confirmer sa présence
dans le bundle : au-delà, cela devient un accès non autorisé.