osTicket MCP Server: Sicherheit
Sicherheit des osTicket MCP Servers: Speicherort und Übertragung des API-Keys, TLS, Zugriff auf lokale Dateien, Logging, Berechtigungen und Verhalten bei Fehlern und Eingaben.
osTicket MCP Server: Sicherheit
Diese Dokumentation bezieht sich immer auf die aktuellste veröffentlichte Version.
Diese Seite beschreibt, was der Server mit Zugangsdaten und Dateien macht und was du selbst absichern musst.
API-Key
| Thema | Verhalten |
|---|---|
| Speicherort | Im Klartext in der Datei .env oder in den Umgebungsvariablen, die der MCP-Client dem Prozess mitgibt. Der Server setzt keine Dateirechte |
| Übertragung | Als Header X-API-Key bei jeder Anfrage |
| Ausgabe | Der Startbericht auf stderr zeigt [SET] statt des Keys. Die URL und die Standardwerte erscheinen im Klartext |
| Eingabeprüfung | Ein Key mit Zeilenumbruch wird abgelehnt, damit niemand Header einschleusen kann |
Die .env steht in der .gitignore des Projekts. Beschränke zusätzlich die Dateirechte, zum Beispiel mit chmod 600 ~/.claude/mcp-servers/osticket/.env.
Verbindung zu osTicket
- Die URL muss
https://nutzen.http://wird nur akzeptiert, wennALLOW_HTTP=truegesetzt ist. Nutze das nicht außerhalb einer lokalen Entwicklungsumgebung, weil der Key sonst unverschlüsselt läuft. - Das TLS-Zertifikat wird geprüft, solange
OSTICKET_API_REJECT_UNAUTHORIZEDgenautrueist. Jeder andere Wert, auchTRUEoder1, schaltet die Prüfung ab und lässt Angriffe auf die Verbindung zu. Der Server warnt dann beim Start. - Jede Anfrage hat ein Timeout von 10 Sekunden, Antworten über 10 MB werden abgebrochen.
Berechtigungen des API-Keys
Der Key bestimmt, was Claude in osTicket tun darf. Gib ihm nur die Berechtigungen, die du brauchst.
| Ziel | Berechtigungen |
|---|---|
| Nur lesen | can_read_tickets (deckt auch Suche, Statistik und Statusliste ab) |
| Tickets erstellen | Create-Berechtigung des Keys in osTicket |
| Tickets ändern | can_update_tickets |
| Tickets löschen | can_delete_tickets. Im Plugin standardmäßig aus, aktiviere sie nur bewusst |
| Subtickets | can_manage_subtickets |
Das Tool osticket_delete_ticket löscht endgültig und kann nicht rückgängig gemacht werden. Fehlt die Berechtigung, lehnt das Plugin den Aufruf ab.
Der Endpunkt
/api/wildcard/tickets.json, den das Erstellen nutzt, prüft den API-Key im Plugin API Key Wildcard. Die ErstellungsroutePOST /api/tickets.jsondes Plugins API Endpoints prüft Key und Berechtigung dagegen nicht selbst. Der Server nutzt diese Route nicht.
Zugriff auf lokale Dateien
Die Anhänge lädt der Server von beliebigen Pfaden, die als Parameter ankommen. Es gibt keine Liste erlaubter Verzeichnisse. Wer den Tool-Aufruf steuert, kann jede Datei, die der Prozess lesen darf und die kleiner als 10 MB ist, an ein Ticket hängen.
Das ist wichtig, wenn Claude Ticket-Inhalte liest, die jemand anders geschrieben hat: Ein Ticket kann Anweisungen enthalten, die das Modell zu einem Tool-Aufruf verleiten. Bestätige Tool-Aufrufe mit Anhängen im MCP-Client, statt sie pauschal freizugeben.
Beim Herunterladen schreibt der Server die Datei in das temporäre Verzeichnis des Betriebssystems. Der Dateiname wird bereinigt und bekommt ein zufälliges Präfix, damit nichts überschrieben wird. Die Dateien bleiben liegen, bis du sie löschst.
Eingaben
- Ticketnummern bestehen nur aus Ziffern, maximal 20, und werden vor dem Einsetzen in die URL kodiert.
- Alle Tool-Parameter werden mit Zod geprüft, zum Beispiel auf Länge, Zahlenbereich und Datumsformat.
projectContextwird von Zeilenumbrüchen und Tabs befreit, bevor er in die Nachricht kommt.
Fehler und Logs
- Timeout, Verbindungsfehler, nicht auflösbarer Host und TLS-Fehler bekommen jeweils einen eigenen allgemeinen Satz, damit keine Hostnamen, IP-Adressen oder Ports in der Antwort stehen. Nur Fehler außerhalb dieser Gruppen (zum Beispiel Datei- und Schemafehler oder ein Name statt einer ID) werden durch
Unexpected error occurredersetzt. - Fehlermeldungen von osTicket erscheinen im Klartext, außer bei
401,403,404und501. Eine Nicht-JSON-Antwort wird auf 500 Zeichen gekürzt. - Die Log-Datei
~/.claude/mcp-servers/osticket/logs/server.logenthält Start- und Stoppmeldungen, Warnungen und die Meldungen fehlgeschlagener Wiederholungen. Der Code schreibt keine Ticket-Inhalte hinein. Sie wird beim Start rotiert, wenn sie größer als 10 MB ist.
Daten im Modellkontext
Alles, was ein Tool zurückgibt, also Tickets, Nachrichten und Absender-Adressen, landet im Kontext des Modells deines MCP-Clients. Überlege vorher, ob die Ticket-Inhalte dort verarbeitet werden dürfen.