From be832c4df4dc239b4ac25d4bbcdb99c42d3ceebe Mon Sep 17 00:00:00 2001 From: root Date: Thu, 30 Apr 2026 15:02:16 +0200 Subject: [PATCH] up --- todo.txt | 43 ------------------------------------------- 1 file changed, 43 deletions(-) diff --git a/todo.txt b/todo.txt index 19fa56a..59a6779 100644 --- a/todo.txt +++ b/todo.txt @@ -14,18 +14,6 @@ NB : extension force-installed dans les containers vscode + vscodeluigi SECURITE -------- -[ ] vscodestat.url configurable user-side (CRITIQUE pour exfil) - src/extension.ts:14-23 : commande `setUrl` permet au user de - changer l'URL en runtime via `vscode.workspace.getConfiguration - ().update('vscodestat.url', url, ConfigurationTarget.Global)`. - Le user peut donc rediriger ses metriques vers son propre - serveur. Dans le contexte (extension force-installed pour - tracking employe), le user peut bypass le tracking en - pointant sur `https://localhost/dummy` ou similar. Attendu / - pas attendu ? - NB : entrypoint.sh dans vscode/ overwrite la URL a chaque - boot du container. Donc tracking restored. Mais pendant la - session, user peut tweak. A documenter le comportement. [ ] makeHttpRequest envoie au serveur l'event sans auth src/extension.ts : `fetch(url, { method: 'POST', @@ -33,26 +21,6 @@ SECURITE Cote serveur (cf monitoringserver/todo.txt), `/vscodestat` est aussi sans auth => tout le monde peut envoyer des metriques. -[ ] extractProjectName fuite des paths potentiellement sensibles - src/extension.ts : - const match = path.match(/\/docker\/([^/]+)/); - if (match) return match[1]; - Si un user ouvre un fichier hors `/docker/X/...`, le - `extractProjectName` retourne null, donc `project: null` - envoye. Pas un leak direct, mais combine au tracking precis, - profile complet de l'activite hors-projet. - -[ ] Le user peut DISABLE l'extension volontairement - Standard VSCode : un user peut desactiver toute extension. - Le force-install au boot du container la re-active, mais - pendant la session, l'employe peut couper le tracking. - Pattern de force-tracking discutable (transparency). - -[ ] Pas de TLS pinning sur fetch - Si l'URL pointe vers HTTPS (probablement), - `monitoringserver.raphaelpiccolo.com`, certificat valide. OK - mais pas de pinning. - BUGS / FRAGILITE ---------------- [ ] Pas de batching @@ -63,14 +31,3 @@ BUGS / FRAGILITE src/extension.ts : catch + console.error. Pas de retry, pas de notification user. Si serveur down, events perdus. - -[ ] extractProjectName : path Windows hardcode au regex - src/extension.ts : replace `\\` -> `/` puis match - `/docker/(...)/`. OK pour les conventions /root/docker, mais - si project hors `docker/`, retourne null. A clarifier. - -CONVENTIONS ------------ -[ ] Pas de README detaille sur l'integration serveur - README mentionne juste "Sample url". A documenter le format - JSON envoye et le comportement.