Files
vogelalbum/SECURITY.md
T
christian c11fe9ab04 Vogelalbum 1.0.0
Eine Kamera am Vogelhaus, ein Rechner der erkennt wer da war — und eine
Sammlung, die sich von allein fuellt.

Zwei neuronale Netze: eines findet den Vogel im Bild, eines bestimmt die
Art. 148 heimische Arten, auf Deutschland eingeschraenkt und neu normiert —
ohne diese Einschraenkung wird aus einer Kohlmeise eine nordamerikanische
Schwesterart. Daraus entsteht ein Sammelalbum: nummerierte Seiten,
gefundene Arten in Farbe, fehlende als Schatten, dazu Erstfang, Punkte,
Stufen und 15 Abzeichen.

Laeuft vollstaendig auf eigener Hardware. Kein Cloud-Dienst, kein Konto,
keine Telemetrie; die Bilder verlassen das eigene Netz nicht.

Zwei getrennt deploybare Teile: die Sammlung als Django-Anwendung, die
Erkennung als eigener Dienst. Der Erkennungs-Dienst fragt selbst an und
braucht deshalb weder eine erreichbare Adresse noch einen offenen Port —
er laeuft hinter einem gewoehnlichen Router.

Dabei: Firmware fuer Raspberry Pi und ESP32-S3, Anbindung an Home
Assistant ueber MQTT, Oberflaeche auf Deutsch und Englisch, Einstellungen
je Kamera aus dem Browser, und ein Weg fuer Fotos von unterwegs.

AGPL-3.0.
2026-10-15 14:30:02 +00:00

2.2 KiB

Sicherheitslücken melden

Bitte nicht als öffentliches Issue. Eine Lücke, die in einem Issue steht, ist eine Anleitung, solange sie nicht behoben ist.

Melde sie an webmaster@gaertner.onl. Vogelalbum ist ein Feierabendprojekt einer einzelnen Person — eine Antwort kann ein paar Tage dauern. Kommt nach einer Woche keine, gern noch einmal nachfassen; dann ist die Nachricht untergegangen.

Hilfreich in der Meldung:

  • was betroffen ist (Web-App, Detector, Kameraseite) und welche Fassung
  • wie sich das Verhalten auslösen lässt, möglichst Schritt für Schritt
  • was dabei herauskommt und warum das ein Problem ist

Wer eine Lücke meldet und bis zur Behebung nicht veröffentlicht, wird — auf Wunsch — im Changelog namentlich genannt. Rechtliche Schritte gegen jemanden, der auf diesem Weg und in gutem Glauben meldet, gibt es nicht.

Was unterstützt wird

Vogelalbum hat noch keine Version. Gefixt wird der aktuelle Stand von main.

Womit zu rechnen ist

Ein paar Dinge sind Absicht und keine Lücke — damit niemand Zeit damit verliert:

  • Die Web-App hat keine Benutzerkonten. Die Sammlung ist zum Ansehen da. Wer sie öffentlich stellt, stellt sie öffentlich. Geschützt sind nur der Django-Admin und das Upload-Formular.
  • Die API-Token stehen in Umgebungsvariablen, nicht in einem Tresor. In der Datenbank liegen sie als SHA-256.
  • Der Detector erreicht die Web-App, nicht umgekehrt. Die Verbindung geht nur in eine Richtung; das ist der Kern des Aufbaus und kein Versehen.
  • Die Kameraseiten (pi/, esp32cam/) kennen keine Authentifizierung. Sie gehören ins Heimnetz, nicht ans offene Internet. Wer den Stream nach außen gibt, legt selbst etwas davor.
  • VOGELALBUM_LIVE_ERLAUBT=0 schaltet das Live-Bild hart ab, auch gegen einen Fehlklick im Admin. Auf einer öffentlichen Instanz gehört die Variable auf 0.

Was dagegen eine Meldung wert ist

  • Lesen oder Schreiben von Sichtungen ohne gültigen Token
  • Herauskommen aus dem Admin-Login oder aus dem Upload-Formular
  • Pfade, über die sich Dateien außerhalb des Medienordners lesen oder schreiben lassen
  • alles, was aus einem hochgeladenen Bild Code macht
  • ein Token, das in Logs, in der Prozessliste oder in der Oberfläche landet