Sicherheit
Moraya ist mit Sicherheit als Priorität konzipiert. Diese Seite beschreibt die wichtigsten Sicherheitsmaßnahmen, die in die Anwendung integriert sind.
API-Schlüssel-Speicherung (OS-Schlüsselbund)
API-Schlüssel werden verschlüsselt und im nativen Anmeldeinformationsmanager des Betriebssystems gespeichert:
| Plattform | Speicher |
|---|---|
| macOS | Schlüsselbundverwaltung |
| Windows | Anmeldeinformationsverwaltung |
| Linux | libsecret / Secret Service |
Schlüssel werden niemals als Klartextdateien gespeichert oder im Frontend-JavaScript offengelegt.
Rust-KI-Proxy
Alle LLM-API-Aufrufe werden über das Rust-Backend geleitet:
- Das Frontend sendet eine Anfrage über Tauri IPC an Rust
- Rust ruft den API-Schlüssel aus dem OS-Schlüsselbund ab
- Rust fügt Authentifizierungs-Header hinzu und leitet die Anfrage an den Anbieter weiter
- Die Antwort wird zurück an das Frontend gestreamt
Dies verhindert, dass API-Schlüssel in den Browser-Entwicklertools, der Netzwerkinspektion oder dem WebView-Speicher erscheinen.
Content Security Policy (CSP)
Die CSP-Konfiguration von Tauri schränkt ein, was der WebView laden und ausführen kann:
script-src 'self'— Nur Skripte aus dem Anwendungspaketconnect-src ipc:— Netzwerkanfragen nur über Tauri IPC
Dies verhindert Cross-Site-Scripting (XSS) und unautorisierte externe Verbindungen.
MCP-Sicherheit
MCP-Serverprozesse werden durch mehrere Schichten geschützt:
- Startbestätigung — Benutzerfreigabe erforderlich, bevor eine Verbindung zu neuen Servern hergestellt wird
- Befehlsvalidierung — Shell-Metazeichen werden abgelehnt, um Injection zu verhindern
- Zombie-Prozess-Bereinigung — Verwaiste MCP-Prozesse werden automatisch beendet
- Antwortpuffer-Limits — 64KB pro Zeile, maximal 1000 Iterationen
- Umgebungsvariablen-Filterung — Gefährliche Variablen (
LD_PRELOAD,DYLD_*, usw.) werden blockiert - Dynamischer Dienst-Code-Bestätigung — KI-generierter MCP-Code erfordert Benutzerfreigabe vor der Ausführung
Pfad-Traversal-Schutz
Dateioperationen validieren alle Pfade, um Directory-Traversal-Angriffe zu verhindern:
- Pfade werden vor dem Zugriff kanonisiert
- Traversal-Muster (
../) werden abgelehnt - Der Zugriff ist auf das Heimverzeichnis des Benutzers und konfigurierte Wissensdatenbank-Verzeichnisse beschränkt
HTML-Bereinigung
Benutzergenerierte und importierte HTML-Inhalte werden vor dem Rendering bereinigt:
- Script-Tags und Event-Handler-Attribute werden entfernt
- Iframes und eingebettete Objekte werden entfernt
- URL-Schemata werden validiert (nur
http:,https:,mailto:erlaubt) - Sicheres Rendering von eingefügten und importierten Markdown-Inhalten