element-hq / element-hq/matrix-content-scanner-python

Ability to scan a file before it's uploaded.

Aperta
#78 0 commenti 1 reazione 0 assegnatari Vedi su GitHub
enhancement
Lingua principale
Python
Stelle
25
Fork
16
Merge medio
3g 1h
PR unite (30g)
9

Descrizione

**Is your feature request related to a problem? Please describe.**

Some users would prefer to have their client scan on upload rather than just download, to prevent problematic files appearing on the server in the first place. This seems reasonable enough.

**Describe the solution you'd like**

An endpoint to scan a body of a file (optionally with an encrypted component) which performs the same check as the download routes, without having to use the content repository.

**Describe alternatives you've considered**

A transparent proxy to the CS /upload endpoint was considered but rejected. Clients could bypass the scanning with an encrypted file, so this needs to be done as two steps. One step for the client to test their file on the content scanner, and then once successful to upload the file to the homeserver. Scanning on download will remain in place for other clients so the upload scan merely serves as a friendly protection to the uploader.

**Additional context**

I have a PR for this in waiting, I do not expect any development other than review :)

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Direzione di ricerca

Inizia esaminando la PR in attesa menzionata nell’issue, poiché il lavoro richiesto è già in corso. Verifica che aggiunga un endpoint per analizzare il contenuto di un file, facoltativamente con un componente crittografato, utilizzando lo stesso controllo delle route di download senza il repository dei contenuti; la scansione dei download esistente deve rimanere in uso.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
python
Ambito
api, security
Tipo di issue
Funzionalità
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
20/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.