- 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)
3.1 KiB
Destinataires (contacts publics du développeur sur le Google Play Store) :
- hello@boti.education (contact général)
- cs@boti.education (support)
Objet
Divulgation responsable : identifiants intégrés dans l'application Greenwood School (com.botieducation.greenwood 2.4.14)
Corps du message
Bonjour,
Je suis parent d'élève à la Greenwood School (Casablanca) et j'utilise l'application mobile Greenwood School, éditée par Boti Education.
En examinant la version 2.4.14 de l'application Android (com.botieducation.greenwood), distribuée publiquement, j'ai identifié plusieurs problèmes de sécurité. Tous proviennent d'une analyse statique de l'APK. Je n'ai accédé qu'à mon propre compte parent, conformément à une démarche de divulgation responsable.
Constat principal (le plus grave) :
L'application livrée au public contient un compte de démonstration avec identifiant et mot de passe en clair, codé en dur dans le code de la page de connexion (fichier 1028.js du paquet JavaScript) :
reconnectUser = {id: 12745, phone: "0649014703", password: "0649014703"}
Ce compte de test biométrique est présent dans chaque copie de l'APK distribuée sur le Play Store. Toute personne disposant de l'application connaît donc un numéro de téléphone et un mot de passe valides pour votre serveur boti.education. Si ce compte existe encore côté serveur, il permet une prise de contrôle potentielle. Un correctif côté client est insuffisant : le compte devrait être désactivé ou supprimé côté serveur.
Constats secondaires :
- Le mot de passe est transmis en texte clair dans les champs du formulaire de connexion (protégé par TLS, mais visible dans tout journal intermédiaire qui enregistre les données de formulaire).
- La version de production contient des appels console.log détaillés qui affichent les paramètres de requête et les jetons d'accès.
- Aucun épinglage de certificat ni obfuscation du code : l'ensemble du protocole API (environ 100 points d'accès sur https://boti.education/p/greenwood/botiapi/) se laisse documenter en quelques heures.
Documentation technique complète (protocole API, liste des points d'accès, détail des constats) : dépôt public https://gitea.oimcloud.myaddr.tools/Omarchy-Big-PC/greenwood-school-re
Je n'ai publié ce dépôt qu'après avoir retiré toute donnée personnelle ; seul le compte de démonstration livré par vos soins y est cité, comme preuve.
Je propose une divulgation coordonnée : merci de m'indiquer un délai de correction raisonnable (90 jours est l'usage) et une personne de contact. Je mettrai à jour le dépôt public avec le statut du correctif et la réponse de votre équipe.
Cordialement,
[Votre nom] Parent d'élève, Greenwood School [Votre courriel] [Votre téléphone]
Suivi recommandé
- Envoyer à hello@boti.education, copie cs@boti.education.
- Noter la date d'envoi ici : ____________
- Relancer après 14 jours sans réponse.
- Après correction : mettre à jour docs/FINDINGS.md avec le statut de chaque constat (corrigé / non corrigé) et le numéro de version du correctif.