PATHSCOPE 0.1.9 · Zuletzt aktualisiert: 2026-10-17

PathScope Bedienungshandbuch

Dieses Handbuch führt in der Reihenfolge der Bildschirme durch den Ablauf, vom Aufspüren der Schwachstellen dieses Geräts mit PathScope bis zur Klärung, wo man mit der Behebung beginnt. Bei den Bedienschritten wird Fachjargon weitgehend vermieden; die Befehle stehen gesammelt im Kapitel „Verwendung über die Kommandozeile“.

1. Was PathScope ist

PathScope findet die „Pfade“, über die ein normaler Benutzer auf diesem Gerät root (Administratorrechte) oder vertrauliche Daten erreichen kann, und zeigt mit Priorität an, wo eine Behebung am meisten bewirkt. Es ist für die Prüfung von Geräten gedacht, die Sie selbst verwalten, sowie von Testumgebungen.

Die Analyse ist schreibgeschützt. Einstellungen und Dateien werden nicht verändert, und Korrekturen werden nicht automatisch angewendet. Beispielbefehle zur Behebung werden angezeigt; ob Sie sie ausführen, entscheiden Sie selbst.

Unterstützte Systeme und Lieferumfang
Es läuft unter Mac (macOS 12 oder neuer) und Linux. Auf dem Mac ist es in der RoamSwitch-Distributionsdatei (DMG) enthalten, unter Linux in den Paketen der RoamSwitch-Clientversion (.deb, .rpm, AUR); sowohl die Oberfläche als auch der Befehl stehen zur Verfügung. Die Pakete der RoamSwitch-Linux-Serverversion enthalten nur den Befehl (pathscope). PathScope ist eine eigenständige App neben RoamSwitch und steht unter der Apache License 2.0. Die RoamSwitch-Lizenzvereinbarung (EULA) gilt dafür nicht.

2. Installation und Start

PathScope wird als eigenständige App mit eigenem Symbol installiert. So starten Sie es.

UmgebungSo starten Sie
MacÖffnen Sie PathScope.app aus der Distributionsdatei (DMG) und klicken Sie auf „Analysieren“.
LinuxÖffnen Sie „PathScope“ in der Anwendungsliste und klicken Sie auf „Analysieren“. Im Terminal lautet der Befehl pathscope-gui. Für die Darstellung wird WebKitGTK 4.1 benötigt; bei deb und rpm wird es automatisch installiert. Unter Arch (AUR) installieren Sie webkit2gtk-4.1 als optionale Abhängigkeit.
KommandozeileFühren Sie im Terminal pathscope aus. Auf dem Mac ist es PathScope.app/Contents/MacOS/pathscope.

Nach dem Start öffnet sich ein Fenster, an dessen oberem Rand die Schaltflächen „Analysieren“, „Verlauf“, „LLM-Unterstützung“, „Mit LLM erklären“ und „Einstellungen“ stehen. „Mit LLM erklären“ lässt sich erst drücken, wenn ein Ergebnis angezeigt wird. PathScope öffnet keinen lauschenden Port, und das Fenster lädt keine externen Seiten.

3. Analyse starten und Ergebnis lesen

Wenn Sie auf „Analysieren“ klicken, erfasst PathScope den Zustand dieses Geräts, ausgehend vom aktuellen Benutzer, und analysiert ihn. Das kann einige Sekunden bis einige zehn Sekunden dauern. Danach wird das Ergebnis automatisch als ein Eintrag im Verlauf gespeichert.

Vorgehen

  1. Klicken Sie auf „Analysieren“.
  2. In „Pfadgrafik“ und „Liste der Pfade“ sehen Sie, welcher Benutzer über welche Schritte root oder vertrauliche Daten erreicht. Kreise und Quadrate sind Benutzer und Ziele, jede Linie ist ein Schritt, der Rechte erhöht. Die Nummer an einer Linie entspricht dem „Grund, warum der Schritt möglich ist“ in der Tabelle unter der Grafik.
  3. Unter „Ansatzpunkte (in der Reihenfolge der Behebung)“ prüfen Sie, wo eine Behebung die größte Wirkung hat. Jeder Eintrag zeigt die Priorität (kritisch, hoch, mittel oder niedrig, mit Punktzahl), die Zahl der betroffenen Pfade, einen Korrekturvorschlag und die nächstliegende MITRE-ATT&CK-Technik.
  4. Mit „Was, wenn dies behoben wird?“ wird probehalber neu analysiert, wie die Pfade aussähen, wenn dieser Ansatzpunkt wie vorgeschlagen behoben würde. „Was, wenn alles behoben wird?“ tut dasselbe für alle angezeigten Ansatzpunkte. Beides verändert dieses Gerät nicht.
  5. Lesen Sie die Liste der Bereiche, die nicht geprüft werden konnten und unter den Ansatzpunkten angezeigt wird.
Nicht geprüfte Bereiche sind nicht „sicher“
Das sind Bereiche, die wegen fehlender Rechte oder weil das Ziel nicht existiert, nicht geprüft werden konnten. Es heißt weder, dass „keine Gefahr“ festgestellt wurde, noch, dass Gefahr besteht. Einträge mit dem Hinweis „mit root-Rechten möglicherweise prüfbar“ lassen sich manchmal prüfen, wenn Sie als root ausführen.

Welche Pfade gefunden werden

Bekannte Schwachstellen werden anhand von Daten geprüft, die in der App mitgeliefert werden. Erfasst werden macOS sowie die Versionen von Debian, Ubuntu, RHEL-Familie, SUSE, Arch und Alpine, für die Daten vorliegen; alles andere (Debian 11 und älter, Fedora usw.) wird als „ungeprüft“ angezeigt. Es ist keine Funktion zur lückenlosen Untersuchung von Schwachstellen.

4. Verlauf, Export, laufende Prüfung

Analyseergebnisse werden automatisch als Verlauf auf diesem Gerät aufbewahrt. Mit „Verlauf“ öffnen Sie die Liste; dort können Sie einen Eintrag öffnen, mit einer Bezeichnung versehen (z. B. vor der Korrektur) oder löschen. Wählen Sie zwei Einträge und klicken Sie auf „Zwei ausgewählte Einträge vergleichen“, sehen Sie die verschwundenen und neu hinzugekommenen Pfade sowie die Änderungen bei den Ansatzpunkten. Nutzen Sie das, um die Lage vor und nach einer Korrektur zu vergleichen.

In einem anderen Gerät im JSON-Format gespeicherte Analyseergebnisse lassen sich mit „Analyseergebnisse importieren“ in den Verlauf übernehmen. Wählen Sie im Verlauf zwei oder mehr Einträge und klicken Sie auf „Ausgewählte Einträge auswerten“, sehen Sie die gefährdetsten Geräte in der Reihenfolge und die Schwachstellen, die mehrere Geräte gemeinsam haben.

Das angezeigte Analyseergebnis lässt sich als „Analyseergebnis (JSON)“, „Überwachungsziele (JSON)“ oder „auditd-Regeln (für die Linux-Überwachung)“ speichern. Den Speicherort wählen Sie im Speichern-Dialog. Es wird nur geschrieben; Einstellungen werden nicht angewendet und dieses Gerät wird nicht verändert.

Dabei wird eine Konfigurationsdatei geschrieben, die regelmäßig analysiert und benachrichtigt, wenn gegenüber dem letzten Mal mehr Pfade vorhanden sind.

  1. Lassen Sie ein Analyseergebnis anzeigen und klicken Sie auf „Als Vergleichsbasis speichern“.
  2. Legen Sie das „Intervall (Minuten)“ fest (von 5 bis 10080).
  3. Klicken Sie auf dem Mac auf „launchd-Konfiguration speichern …“, unter Linux auf „systemd-Konfiguration speichern …“ und wählen Sie den Speicherort.
  4. Prüfen Sie den geschriebenen Inhalt und registrieren Sie ihn dann selbst (z. B. mit launchctl load). PathScope registriert nichts.

5. Funktionen mit LLM (optional)

Standardmäßig aus
Die Funktionen mit LLM arbeiten erst, wenn Sie sie in den Einstellungen aktivieren. Sind sie aktiviert und in Gebrauch, wird ein Teil des Analyseinhalts an den Befehl des gewählten LLM und an den dahinterstehenden Dienst weitergegeben. Diese Kommunikation fällt nicht unter „Zero Telemetry“ von RoamSwitch. Bleibt die Funktion aus, sendet PathScope keinen Analyseinhalt aus diesem Gerät heraus.

Einrichten

  1. Setzen Sie das Häkchen bei „LLM-Anbindung aktivieren“.
  2. Wählen Sie das „Zu verwendende LLM“. Zur Auswahl stehen die Befehle claude, opencode, codex und agy; verwendbar sind diejenigen, deren „Status“ „Installiert“ lautet. Steht dort „Nicht gefunden“, installieren Sie den Befehl zuerst.
  3. Wählen Sie den „Umfang der Daten, die beim Auslesen von Konfigurationen an das LLM gehen“ (siehe Tabelle unten).
  4. Klicken Sie auf „Speichern“.

In der Liste lassen sich „Modell“ und „Zeitlimit (Sekunden)“ für jedes LLM ändern. claude wird mit abgeschaltetem Ausführen von Befehlen und Lesen von Dateien gestartet. opencode, codex und agy gelten als nicht abschaltbar und lassen sich nur verwenden, wenn Sie „Mir ist bekannt, dass sich bei diesem LLM das Ausführen von Befehlen und das Lesen von Dateien nicht abschalten lassen“ ankreuzen. Ein nicht einschränkbares LLM kann zwischendurch nach eigenem Ermessen Dateien lesen, und deren Inhalt kann an den Dienst des LLM gesendet werden.

Mit LLM erklären

Ist ein Ergebnis angezeigt, lässt „Mit LLM erklären“ das LLM eine Gesamteinschätzung, die Reihenfolge und Gründe der Behebung, die Bedeutung der nicht geprüften Bereiche und Ähnliches schreiben. Übergeben wird nur eine Zusammenfassung der Pfade, Ansatzpunkte und nicht geprüften Bereiche; die erfassten Rohdaten (etwa Listen von Dateibesitzern und Berechtigungen) werden nicht übergeben. Die Zusammenfassung enthält allerdings die in den Pfaden vorkommenden Benutzernamen und Dateipfade. Die Antwort des LLM dient als Anhaltspunkt. Prüfen und Entscheiden übernimmt der Mensch; aufgrund der Antwort ändert sich nichts automatisch.

LLM-Unterstützung (Konfigurationsdateien auslesen)

Konfigurationsdateien wie sudoers, cron und Skripte sind sehr unterschiedlich geschrieben, und ein Programm allein kann sie manchmal nicht lesen. Die LLM-Unterstützung lässt ein LLM solche Dateien lesen und nach Angaben suchen, die root-Rechte betreffen.

  1. Klicken Sie auf „LLM-Unterstützung“. Die zu lesenden Kandidaten werden mit Begründung aufgelistet (zunächst sind alle ausgewählt). Kandidaten sind unter anderem sudoers, cron, die Konfigurationen von systemd und launchd sowie ausführbare Dateien, die von als root laufenden Diensten geladen werden. Entfernen Sie das Häkchen bei allem, was Sie nicht senden möchten.
  2. Klicken Sie auf „Ausgewählte Dateien an LLM senden (Anzahl: ○)“. Es erscheint eine Bestätigung dessen, was gesendet wird; lesen Sie sie und klicken Sie dann auf „Senden (bestätigt)“.
  3. Prüfen Sie im Ergebnis „Gefundene Einträge“, „Gelesene Dateien“ und „Nicht gelesene Dateien (bleiben ungeprüft)“.
  4. Mit „Übernehmen und erneut analysieren“ fließen die gefundenen Einträge in die Analyse ein. Möchten Sie sie nicht mehr verwenden, löschen Sie sie unter „Gespeichert“.

Verwendet werden nur die vom LLM genannten Einträge, bei denen bestätigt wurde, dass die Zeile tatsächlich in der Originaldatei steht. Nicht bestätigte Einträge erscheinen nur unter „Zur Information“ und fließen nicht in die Analyse ein. Die Bestätigung wird bei jeder Analyse wiederholt, sodass ein Eintrag, dessen Originalzeile verschwunden ist, nicht mehr verwendet wird.

UmfangInhalt
StandardPasswort- oder schlüsselähnliche Werte werden vor dem Senden durch „[REDACTED]“ ersetzt. Dateien wie private Schlüssel werden nicht gesendet. Von einer großen Datei werden nur die Zeilen mit Pfaden oder Befehlen gesendet.
UneingeschränktEine Einstellung für Fälle, in denen der Inhalt Ihr Gerät nicht verlässt, etwa bei einem lokalen LLM (auf eigene Verantwortung). Auch Passwort-Hashes und Ähnliches werden gesendet.
Was in keinem der beiden Modi gesendet wird
Eine Datei, die einen privaten Schlüssel enthält, wird auch bei abweichendem Namen nicht gesendet. Schlüssel in bekannten Formaten sowie Werte, deren Name auf ein Geheimnis hindeutet (etwa Passwort oder Token), werden unabhängig von der Einstellung ersetzt und dann gesendet. Da sie anhand von Name und Form gefunden werden, sollten Sie bedenken, dass manche Geheimnisse unentdeckt bleiben können.

6. Verwendung über die Kommandozeile

Dieselbe Analyse wie im Fenster lässt sich auch mit dem Befehl pathscope ausführen. Ohne Optionen analysiert er die Pfade vom aktuellen Benutzer zu root. Die Erfassung ist schreibgeschützt und verändert den Zustand des Geräts nicht.

pathscope
pathscope --json-out=report.json
pathscope --what-if-fix=all
pathscope --baseline=base.json --fail-on=new --notify
pathscope --print-schedule=systemd --interval-min=60
pathscope --export-watch=watch.json --export-auditd=pathscope.rules
pathscope --plain
pathscope --version
pathscope --lang=en
OptionInhalt
--json-out=<file>Speichert das Ergebnis als JSON.
--what-if-fix=allAnalysiert probehalber neu, wie die Pfade aussähen, wenn alles wie vorgeschlagen behoben würde. Mit einer Nummer nur dieser Ansatzpunkt.
--baseline=<file> --fail-on=newVergleicht mit einer früheren JSON-Datei und beendet sich mit Exitcode 1, wenn Pfade hinzugekommen sind. Mit --notify erscheint zusätzlich eine Desktop-Benachrichtigung (nur die Anzahl).
--fail-on=any|new|critical|high|mediumany beendet mit Exitcode 1, sobald es mindestens einen Pfad gibt; critical, high und medium tun das, wenn es einen Ansatzpunkt mit dieser oder höherer Priorität gibt.
--print-schedule=launchd|systemdGibt ein Beispiel für eine Konfiguration zur regelmäßigen Ausführung aus. Sie wird nicht registriert. Mit --interval-min legen Sie das Intervall in Minuten fest.
--plainGibt statt Markdown die ältere Textdarstellung aus. Die Annahmen der Analyse gehen dann an die Standardfehlerausgabe, statt im Ergebnis zu stehen.
--help / --version--help (-h) zeigt die Beschreibung aller Optionen, die Exitcodes und Beispiele. --version (-V) zeigt die Version.

Die Ausgabe ist Markdown. Nach dem Titel folgen nacheinander eine Übersichtstabelle, die Pfade, die Ansatzpunkte (eine Tabelle mit Priorität, Schritt, Grund und betroffenen Pfaden, danach je Nummer ein Detailabschnitt mit der ATT&CK-Zuordnung, den Befehlen zur Behebung und einem Hinweis), der Erfassungsumfang und die Annahmen der Analyse. Die Ansatzpunkte erscheinen nur, wenn Pfade gefunden wurden, die Annahmen nur, wenn es etwas zu nennen gibt. Mit --what-if-* folgt eine Liste der hypothetischen Analyse, mit --baseline eine Liste der Änderungen gegenüber dem vorherigen Lauf. Sie lässt sich direkt in eine Notiz oder ein Ticket einfügen. Die ältere Textdarstellung erhalten Sie mit --plain.

Der Exitcode ist 0 bei normalem Ende, 1 wenn eine --fail-on-Bedingung erfüllt war und 2 bei einem Fehler in der Bedienung oder bei Ein-/Ausgabe. Als root ausgeführt, erfasst der Befehl auch die Listener, auf die root lauscht, direkt. Mit der LLM-Unterstützung gespeicherte Leseergebnisse fließen ebenfalls in die Analyse des Befehls ein.

7. Speicherorte und Updates

InhaltSpeicherort
Verlauf der AnalyseergebnisseAuf dem Mac ~/Library/Application Support/net.lafine.pathscope/history.sqlite3, unter Linux ~/.local/share/net.lafine.pathscope/history.sqlite3
LLM-Einstellungen~/.config/pathscope/settings.json (so gespeichert, dass nur Sie sie lesen und schreiben können)
Mit der LLM-Unterstützung gespeicherte Inhalte~/.local/share/pathscope/facts.json
Die „Vergleichsbasis“ der laufenden Prüfung~/.local/share/pathscope/baseline.json

Den Verlauf können Sie im Verlaufsfenster mit „Alle löschen“ entfernen. Analyseergebnisse enthalten vertrauliche Angaben zur Konfiguration dieses Geräts (Benutzernamen, Dateipfade, Berechtigungen); beschränken Sie daher, wo sie aufbewahrt und mit wem sie geteilt werden. Möchten Sie einen Befehl verwenden, der nicht in der LLM-Liste steht, ergänzen Sie ihn von Hand unter profiles in der Einstellungsdatei. Über das Fenster lässt sich das nicht ändern.

App aktualisieren

PathScope auf dem Mac aktualisiert sich unabhängig von RoamSwitch selbst. Nur wenn Sie auf „Nach Updates suchen“ klicken, verbindet es sich mit lafine.net, um die Informationen zur neuesten Version abzurufen (Angaben zu diesem Gerät oder zu Analyseergebnissen werden nicht gesendet). Gibt es eine neue Version, klicken Sie auf „v○○ installieren“ und danach auf „Neu starten und anwenden“. Ein heruntergeladenes Update wird erst eingespielt, nachdem seine Signatur geprüft wurde und bestätigt, dass es nicht manipuliert wurde.

Unter Linux ist es Teil des RoamSwitch-Pakets und wird daher mit der Aktualisierung dieses Pakets aktualisiert. Der Tab „Updates“ weist ebenfalls darauf hin.

Die für die Analyse genutzten Daten, etwa zu bekannten Schwachstellen, werden mit der App mitgeliefert. Was danach entdeckt wurde, wird erst geprüft, wenn Sie PathScope aktualisieren. Sind die mitgelieferten Daten veraltet, weist das Analyseergebnis darauf hin.

8. Was nicht möglich ist

9. Wenn etwas nicht klappt

SymptomAbhilfe
Auf dem Mac erscheint „Datenschutz-Daten (TCC.db)“ unter den nicht geprüften BereichenKlicken Sie im Tab „Berechtigungen“ unter „Einstellungen“ auf „Einstellungen für ‚Festplattenvollzugriff‘ öffnen“, schalten Sie PathScope in den Systemeinstellungen ein, starten Sie PathScope neu und analysieren Sie erneut. Die übrigen Analysen funktionieren auch ohne diese Erlaubnis.
„Das LLM ist nicht verwendbar“ erscheint, oder die Einstellungen lassen sich nicht speichernAktivieren Sie es in den „Einstellungen“ unter „LLM-Anbindung“ und wählen Sie das zu verwendende LLM. Steht in der Liste „Nicht gefunden“, installieren Sie den Befehl. Bei opencode, codex oder agy ist zusätzlich das Bestätigungskästchen nötig.
Ein LLM bricht mit „Zeitüberschreitung“ abErhöhen Sie in der Liste unter „LLM-Anbindung“ in den „Einstellungen“ das „Zeitlimit (Sekunden)“ dieses LLM (von 1 bis 900) und speichern Sie.
„Was, wenn dies behoben wird?“ lässt sich nicht verwendenBei einem aus dem Verlauf geöffneten Ergebnis ist es nicht verfügbar. Klicken Sie erneut auf „Analysieren“ und verwenden Sie es dann.
Die Aktualisierung in der App ist nicht verfügbarWenn Sie es unter Linux aus einem RoamSwitch-Paket installiert haben, aktualisieren Sie es über das Paket. Wurde es nicht aus einem Paket (.deb, .rpm oder AppImage) installiert, ist die Aktualisierung in der App nicht verfügbar; installieren Sie dann bitte das bereitgestellte Paket neu.
← PathScope-Produktseite Bedienungshandbuch für Linux →