From 256baa5f2c19a597710483d8026bb0fdde2ac72d Mon Sep 17 00:00:00 2001 From: Thore Cimbal Date: Wed, 29 Jul 2026 19:00:30 +0200 Subject: [PATCH] docs: correct Electron/desktop claim, add hostile-sender test result (Issue #19) --- Moderation-Content-Scanning.md | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/Moderation-Content-Scanning.md b/Moderation-Content-Scanning.md index 6b708c7..652a565 100644 --- a/Moderation-Content-Scanning.md +++ b/Moderation-Content-Scanning.md @@ -68,8 +68,31 @@ läuft auf Twisteds Reactor, ein erster `asyncio`-Versuch schlug live mit durch). Fail-open bei Scanner-Fehlern bleibt so: ClamAV-Ausfall blockiert nicht alle Uploads. **Live getestet** (2026-07-29): normale Datei unverschlüsselt → durchgelassen; EICAR -unverschlüsselt → zuverlässig blockiert; EICAR verschlüsselt/DM → durchgelassen (erwartete, -strukturelle Grenze - Synapse hat bei E2EE nie den Schlüssel). +unverschlüsselt → zuverlässig blockiert. + +## 3. Client-seitiges Scanning für verschlüsselte Räume (Erweiterung, 2026-07-29) + +Synapse hat bei E2EE nie den Schlüssel - nur der **Client** kann Klartext scannen. Neuer +HTTP-Dienst `clamav-http-scanner.py` macht ClamAV für Browser-JS erreichbar +(`https://axion1337.chat/_scan`, Auth via Synapses eigenem `/whoami`, Fail-open). Zwei +Patch-Stellen im `ThreadNet-Web`-Fork: +- **Empfang**: `apps/web/src/utils/DecryptFile.ts` (`decryptFile()`) - einziger Punkt für + alle Anhangstypen. +- **Versand**: `apps/web/src/ContentMessages.ts` (`uploadFile()`) - eine Funktion für alle + Uploads (Datei, Thumbnails, Sprachnachrichten). + +**Live getestet**: EICAR in verschlüsseltem Gruppenraum + 1:1-DMs vor Upload blockiert. +Zusätzlich Empfangsseite unabhängig vom Absender bestätigt: EICAR über einen echten, +ungepatchten Client (app.element.io) in denselben Raum geschickt - beim Download im +gepatchten Client greift der Scanner trotzdem. + +**Wichtig, korrigiert**: gilt bestätigt für den **Web-Client**. Für **Electron/Desktop** +unklar bzw. nicht automatisch - `apps/desktop` hat zwar einen `webapp-artifact`-Mechanismus, +der den eigenen Fork-Build übernehmen würde, aber keinen laufenden CI-Runner, und der +Build-Job checkt noch das Upstream-Repo aus. Die existierende Desktop-Build (mit der +Discord-Style-Raumliste) kam aus einem manuellen, nicht wiederholten Build. Neues Issue: +[#44](https://rohana.axion1337.de/sorb/axion1337.chat-gitops/issues/44). Element X (Mobile) +komplett unberührt, eigene Codebasis. Folgeidee (LOW): [Issue #43](https://rohana.axion1337.de/sorb/axion1337.chat-gitops/issues/43) - Grafana-Dashboard über die bestehenden Loki-Logs für Erkennungen/Scanner-Ausfälle.