PATHSCOPE 0.1.9 · Ultimo aggiornamento: 2026-10-17

Manuale d’uso di PathScope

Questo manuale segue le schermate in ordine, dal trovare con PathScope i punti deboli di questo dispositivo al capire da dove iniziare a correggerli. Le spiegazioni sulle schermate evitano per quanto possibile il gergo tecnico; i comandi sono raccolti nel capitolo «Uso della riga di comando».

1. Che cos’è PathScope

PathScope individua i «percorsi» con cui un utente comune di questo dispositivo può raggiungere root (privilegi di amministratore) o dati sensibili e mostra, con priorità, dove una correzione è più efficace. È pensato per controllare dispositivi che gestisci tu stesso e ambienti di prova.

L’analisi è in sola lettura. Non modifica impostazioni o file e non applica correzioni in automatico. Vengono mostrati esempi di comandi di correzione, ma sta a te decidere se eseguirli.

Sistemi supportati e dove è incluso
Funziona su Mac (macOS 12 o successivo) e su Linux. Su Mac è incluso nel file di distribuzione di RoamSwitch (DMG); su Linux è incluso nei pacchetti della versione client di RoamSwitch (.deb, .rpm, AUR) e sono disponibili sia la finestra sia il comando. I pacchetti della versione server Linux di RoamSwitch includono solo il comando (pathscope). PathScope è un’app separata da RoamSwitch con licenza Apache License 2.0. Non è soggetto al contratto di licenza di RoamSwitch (EULA).

2. Installazione e avvio

PathScope viene installato come app separata con una propria icona. Ecco come avviarlo.

AmbienteCome avviarlo
MacApri PathScope.app dal file di distribuzione (DMG) e fai clic su «Analizza».
LinuxApri «PathScope» dall’elenco delle applicazioni e fai clic su «Analizza». Da terminale esegui pathscope-gui. La finestra richiede WebKitGTK 4.1, che con deb e rpm viene installato automaticamente. Su Arch (AUR) installa webkit2gtk-4.1 come dipendenza facoltativa.
Riga di comandoEsegui pathscope in un terminale. Su Mac è PathScope.app/Contents/MacOS/pathscope.

All’avvio si apre una finestra con i pulsanti «Analizza», «Cronologia», «Assistente LLM», «Spiega con LLM» e «Impostazioni» in alto. «Spiega con LLM» non si può premere finché non viene mostrato un risultato. PathScope non apre porte in ascolto e la finestra non carica siti esterni.

3. Eseguire l’analisi e leggere il risultato

Quando fai clic su «Analizza», PathScope raccoglie lo stato di questo dispositivo a partire dall’utente corrente e lo analizza. Può richiedere da pochi secondi a qualche decina di secondi. Al termine, il risultato viene salvato automaticamente come una voce della cronologia.

Procedura

  1. Fai clic su «Analizza».
  2. In «Diagramma dei percorsi» ed «Elenco dei percorsi» vedi quale utente raggiunge root o dati sensibili e attraverso quali passaggi. Cerchi e quadrati sono utenti e destinazioni, e ogni linea è un passaggio che aumenta i privilegi. Il numero su una linea corrisponde al «motivo per cui il passaggio è possibile» nella tabella sotto il diagramma.
  3. In «Punti da correggere (in ordine di priorità)» controlla dove correggere ha l’effetto maggiore. Ogni voce mostra la priorità (critica, alta, media o bassa, con un punteggio), il numero di percorsi interessati, una correzione suggerita e la tecnica MITRE ATT&CK più vicina.
  4. Fai clic su «E se correggessi questo?» per rianalizzare, in via ipotetica, i percorsi che resterebbero se quel punto venisse corretto come suggerito. «E se correggessi tutto?» fa lo stesso per tutti i punti mostrati. Nessuna delle due modifica questo dispositivo.
  5. Leggi l’elenco delle aree che non è stato possibile verificare, mostrato sotto i punti da correggere.
Le aree non verificate non sono «sicure»
Sono aree che non è stato possibile verificare per mancanza di privilegi o perché la destinazione indicata non esiste. Non significa che sia stata confermata l’«assenza di pericolo» né che il pericolo ci sia. Le voci contrassegnate «potrebbe essere verificabile eseguendo con i privilegi di root» a volte si possono verificare eseguendo come root.

Quali percorsi individua

Le vulnerabilità note vengono verificate con dati inclusi nell’app. Sono coperti macOS e le versioni di Debian, Ubuntu, famiglia RHEL, SUSE, Arch e Alpine per cui esistono dati; tutto il resto (Debian 11 e precedenti, Fedora e così via) viene mostrato come «non verificato». Non è una funzione per esaminare le vulnerabilità in modo esaustivo.

4. Cronologia, esportazione, controllo periodico

I risultati dell’analisi vengono conservati automaticamente come cronologia su questo dispositivo. Fai clic su «Cronologia» per aprire l’elenco, dove puoi aprire una voce, assegnarle un’etichetta (ad esempio prima della correzione) o eliminarla. Seleziona due voci e fai clic su «Confronta i 2 elementi selezionati» per vedere i percorsi scomparsi e quelli comparsi, oltre alle variazioni dei punti da correggere. Usalo per confrontare la situazione prima e dopo una correzione.

I risultati dell’analisi salvati in formato JSON su un altro dispositivo possono essere portati nella cronologia con «Importa risultati di analisi». Seleziona due o più voci nella cronologia e fai clic su «Riepiloga la cronologia selezionata» per vedere i dispositivi più a rischio in ordine e le debolezze comuni a più dispositivi.

Il risultato mostrato può essere salvato come «Risultato dell’analisi (JSON)», «Elementi da monitorare (JSON)» o «Regole auditd (per l’audit di Linux)». La destinazione si sceglie nella finestra di salvataggio. Vengono solo scritti file: non viene applicata alcuna impostazione e questo dispositivo non viene modificato.

Scrive un file di configurazione che analizza periodicamente e avvisa quando i percorsi sono aumentati rispetto all’ultima volta.

  1. Mostra un risultato di analisi e fai clic su «Salva come riferimento».
  2. Imposta l’«Intervallo (minuti)» (da 5 a 10080).
  3. Su Mac fai clic su «Salva configurazione launchd…», su Linux su «Salva configurazione systemd…», e scegli dove salvare.
  4. Controlla il contenuto scritto e poi registralo tu stesso (ad esempio con launchctl load). PathScope non lo registra.

5. Funzioni che usano un LLM (facoltativo)

Disattivato per impostazione predefinita
Le funzioni che usano un LLM non funzionano finché non le attivi nelle impostazioni. Una volta attivate e usate, parte del contenuto dell’analisi viene passata al comando dell’LLM scelto e al servizio che sta dietro. Questa comunicazione non rientra nello «Zero Telemetry» di RoamSwitch. Se la lasci disattivata, PathScope non invia alcun contenuto dell’analisi fuori da questo dispositivo.

Configurazione

  1. Seleziona «Attiva l’integrazione LLM».
  2. Scegli l’«LLM da usare». Le scelte sono i comandi claude, opencode, codex e agy, e si possono usare quelli il cui «Stato» è «Installato». Se compare «Non trovato», installa prima quel comando.
  3. Scegli «Contenuto inviato all’LLM per la lettura delle impostazioni» (vedi la tabella sotto).
  4. Fai clic su «Salva».

Nell’elenco, «Modello» e «Timeout (secondi)» si possono cambiare per ciascun LLM. claude viene avviato con l’esecuzione di comandi e la lettura di file disattivate. opencode, codex e agy sono trattati come non disattivabili e non si possono usare se non selezioni «Capisco che per questo LLM non si possono disattivare l’esecuzione di comandi e la lettura di file». Un LLM che non si può limitare può leggere file di propria iniziativa lungo il percorso, e il contenuto può essere inviato al servizio dell’LLM.

Spiega con LLM

Con un risultato mostrato, fai clic su «Spiega con LLM» per far scrivere all’LLM una valutazione complessiva, l’ordine e i motivi delle correzioni, il significato delle aree non verificate e simili. Viene passato solo un riepilogo di percorsi, punti da correggere e aree non verificate; le informazioni grezze raccolte (come gli elenchi di proprietari e permessi dei file) non vengono passate. Il riepilogo contiene però i nomi utente e i percorsi di file che compaiono nei percorsi. La risposta dell’LLM è indicativa. Verifica e decisione spettano alle persone, e nulla cambia automaticamente in base alla risposta.

Assistente LLM (lettura dei file di configurazione)

I file di configurazione come sudoers, cron e gli script sono scritti nei modi più vari e un programma da solo a volte non riesce a leggerli. L’assistente LLM fa leggere questi file a un LLM per cercare le descrizioni legate ai privilegi di root.

  1. Fai clic su «Assistente LLM». I file candidati alla lettura sono elencati con il motivo di ciascuno (all’inizio sono tutti selezionati). Sono candidati sudoers, cron, le impostazioni di systemd e launchd e gli eseguibili caricati dai servizi che girano come root, tra gli altri. Deseleziona quelli che non vuoi inviare.
  2. Fai clic su «Invia all’LLM gli elementi selezionati (○)». Compare una conferma di ciò che verrà inviato; leggila e poi fai clic su «Invia (confermato)».
  3. Nel risultato controlla «Elementi trovati», «File letti» e «File non letti (restano non verificati)».
  4. Fai clic su «Applica e rianalizza» per aggiungere gli elementi trovati all’analisi. Se non vuoi più usarli, eliminali da «Salvati».

Vengono usati solo gli elementi indicati dall’LLM per cui è stato confermato che la riga esiste davvero nel file originale. Quelli non confermati compaiono solo in «Solo per riferimento» e non vengono usati nell’analisi. La verifica si ripete a ogni analisi, quindi un elemento la cui riga originale è scomparsa non viene più usato.

Cosa viene inviatoDettagli
StandardI valori che sembrano password o chiavi vengono sostituiti con «[REDACTED]» prima dell’invio. I file come le chiavi private non vengono inviati. Di un file grande vengono inviate solo le righe che contengono percorsi o comandi.
Nessun limiteUn’impostazione per i casi in cui il contenuto non esce dal tuo dispositivo, come con un LLM locale (a tuo rischio). Vengono inviati anche gli hash delle password e simili.
Cosa non viene mai inviato in nessuno dei due casi
Un file che contiene una chiave privata non viene inviato anche se ha un nome diverso. Le chiavi in formati noti e i valori il cui nome indica un segreto, come una password o un token, vengono sostituiti e poi inviati a prescindere dall’impostazione. Poiché vengono individuati in base al nome e alla forma, tieni presente che alcuni segreti potrebbero non essere trovati.

6. Uso della riga di comando

La stessa analisi della finestra può essere eseguita con il comando pathscope. Senza opzioni analizza i percorsi dall’utente corrente a root. La raccolta è in sola lettura e non modifica lo stato del dispositivo.

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
OpzioneDettagli
--json-out=<file>Salva il risultato come JSON.
--what-if-fix=allRianalizza, in via ipotetica, i percorsi che resterebbero se tutto fosse corretto come suggerito. Con un numero, solo quel punto da correggere.
--baseline=<file> --fail-on=newConfronta con un JSON precedente e termina con codice 1 se i percorsi sono aumentati. Con --notify viene mostrata anche una notifica sul desktop (solo il numero).
--fail-on=any|new|critical|high|mediumany termina con codice 1 se esiste almeno un percorso; critical, high e medium lo fanno quando esiste un punto da correggere con quella priorità o superiore.
--print-schedule=launchd|systemdMostra un esempio di configurazione per l’esecuzione periodica. Non la registra. Con --interval-min si indica l’intervallo in minuti.
--plainMostra la vecchia presentazione in testo semplice invece del Markdown. I presupposti dell’analisi vanno allora sullo standard error invece di comparire nel risultato.
--help / --version--help (-h) mostra la descrizione di tutte le opzioni, i codici di uscita e alcuni esempi. --version (-V) mostra la versione.

L’output è in Markdown. Dopo il titolo compaiono, nell’ordine, una tabella di riepilogo, i percorsi, i punti da correggere (una tabella con priorità, passaggio, motivo e percorsi interessati e poi, per ogni numero, un dettaglio con la corrispondenza ATT&CK, i comandi di correzione e un’avvertenza), l’ambito della raccolta e i presupposti dell’analisi. I punti da correggere compaiono solo se sono stati trovati dei percorsi, i presupposti solo se c’è qualcosa da indicare. Con --what-if-* segue un elenco dell’analisi ipotetica e, con --baseline, un elenco delle modifiche rispetto all’esecuzione precedente. Si può incollare così com’è in una nota o in un ticket. Per ottenere la vecchia presentazione in testo semplice, aggiungi --plain.

Il codice di uscita è 0 se tutto va bene, 1 quando una condizione di --fail-on è soddisfatta e 2 per un errore di utilizzo o di input/output. Se eseguito come root, raccoglie direttamente anche i listener su cui root è in ascolto. Anche i risultati di lettura salvati con l’assistente LLM vengono inclusi nell’analisi del comando.

7. Dove vengono salvati i dati e aggiornamenti

ElementoPosizione
Cronologia dei risultati di analisiSu Mac, ~/Library/Application Support/net.lafine.pathscope/history.sqlite3; su Linux, ~/.local/share/net.lafine.pathscope/history.sqlite3
Impostazioni LLM~/.config/pathscope/settings.json (salvato con permessi che consentono solo a te di leggerlo e scriverlo)
Contenuto salvato dall’assistente LLM~/.local/share/pathscope/facts.json
Il «riferimento» del controllo periodico~/.local/share/pathscope/baseline.json

La cronologia si può cancellare con «Elimina tutto» nella schermata della cronologia. I risultati dell’analisi contengono informazioni sensibili sulla configurazione di questo dispositivo (nomi utente, percorsi di file, permessi), quindi limita dove vengono conservati e con chi vengono condivisi. Per usare un comando che non è nell’elenco degli LLM, aggiungilo a mano in profiles nel file di impostazioni. Dalla finestra non si può modificare.

Aggiornare l’app

PathScope su Mac si aggiorna da solo, in modo indipendente da RoamSwitch. Si connette a lafine.net, per ottenere le informazioni sull’ultima versione, solo quando fai clic su «Cerca aggiornamenti» (non vengono inviate informazioni su questo dispositivo né sui risultati dell’analisi). Se c’è una versione nuova, fai clic su «Installa v○○» e, a operazione conclusa, su «Riavvia e applica». Un aggiornamento scaricato viene installato solo dopo aver verificato la firma, che conferma che non è stato manomesso.

Su Linux fa parte del pacchetto RoamSwitch, quindi si aggiorna aggiornando quel pacchetto. Lo indica anche la scheda «Aggiornamenti».

I dati usati per l’analisi, come quelli sulle vulnerabilità note, sono inclusi nell’app. Ciò che viene scoperto dopo non viene verificato finché non aggiorni PathScope. Quando i dati inclusi sono diventati vecchi, il risultato dell’analisi lo segnala.

8. Cosa non fa

9. Se qualcosa non funziona

SintomoCosa fare
Su Mac, «Dati delle impostazioni di privacy (TCC.db)» compare tra le aree non verificateNella scheda «Permessi» di «Impostazioni», fai clic su «Apri le impostazioni di Accesso completo al disco», attiva PathScope in Impostazioni di Sistema, poi riavvia PathScope e analizza di nuovo. Le altre analisi funzionano anche senza questo permesso.
Compare «Impossibile usare l’LLM» oppure non si riesce a salvareAttivalo in «Integrazione LLM» nelle «Impostazioni» e scegli l’LLM da usare. Se nell’elenco compare «Non trovato», installa il comando. Con opencode, codex o agy serve anche la casella di conferma.
Un LLM si ferma con «Timeout»Nell’elenco di «Integrazione LLM» in «Impostazioni», aumenta il «Timeout (secondi)» di quell’LLM (da 1 a 900) e salva.
«E se correggessi questo?» non si può usareNon si può usare su un risultato aperto dalla cronologia. Fai di nuovo clic su «Analizza» e poi usalo.
L’aggiornamento dall’interno dell’app non è utilizzabileSe lo hai installato su Linux da un pacchetto RoamSwitch, aggiornalo aggiornando il pacchetto. Se non l’hai installato da un pacchetto (.deb, .rpm o AppImage), l’aggiornamento dall’interno dell’app non è utilizzabile, quindi reinstalla il pacchetto distribuito.
← Pagina del prodotto PathScope Manuale d’uso per Linux →