PATHSCOPE 0.1.9 · Última actualización: 2026-10-17

Manual de uso de PathScope

Este manual recorre las pantallas en orden, desde encontrar con PathScope los puntos débiles de este equipo hasta comprobar por dónde conviene empezar a corregirlos. Las explicaciones de las pantallas evitan la jerga técnica en lo posible; los comandos están reunidos en el capítulo «Uso desde la línea de comandos».

1. Qué es PathScope

PathScope identifica las «rutas» por las que un usuario común de este equipo puede llegar a root (privilegios de administrador) o a datos sensibles, y muestra con prioridades dónde corregir es más eficaz. Está pensado para revisar equipos que usted administra y entornos de prueba.

El análisis es de solo lectura. No modifica ajustes ni archivos y tampoco aplica correcciones automáticamente. Se muestran ejemplos de comandos de corrección, pero usted decide si ejecutarlos.

Sistemas compatibles y dónde se incluye
Funciona en Mac (macOS 12 o posterior) y en Linux. En Mac viene incluido en el archivo de distribución de RoamSwitch (DMG); en Linux, en los paquetes de la versión cliente de RoamSwitch (.deb, .rpm, AUR), y se pueden usar tanto la ventana como el comando. Los paquetes de la versión servidor de RoamSwitch para Linux incluyen solo el comando (pathscope). PathScope es una aplicación independiente de RoamSwitch con licencia Apache License 2.0. No le es aplicable el contrato de licencia de RoamSwitch (EULA).

2. Instalación e inicio

PathScope se instala como una aplicación independiente con su propio icono. Así se inicia.

EntornoCómo iniciarlo
MacAbra PathScope.app desde el archivo de distribución (DMG) y pulse «Analizar».
LinuxAbra «PathScope» desde la lista de aplicaciones y pulse «Analizar». Desde un terminal, ejecute pathscope-gui. La ventana necesita WebKitGTK 4.1, que se instala automáticamente con deb y rpm. En Arch (AUR), instale webkit2gtk-4.1 como dependencia opcional.
Línea de comandosEjecute pathscope en un terminal. En Mac es PathScope.app/Contents/MacOS/pathscope.

Al iniciarse se abre una ventana con los botones «Analizar», «Historial», «Asistente LLM», «Explicar con LLM» y «Ajustes» en la parte superior. «Explicar con LLM» no se puede pulsar hasta que se muestre un resultado. PathScope no abre ningún puerto en escucha y su ventana no carga sitios externos.

3. Analizar y leer el resultado

Al pulsar «Analizar», PathScope reúne el estado de este equipo a partir del usuario actual y lo analiza. Puede tardar de unos segundos a varias decenas de segundos. Al terminar, el resultado se guarda automáticamente como una entrada del historial.

Pasos

  1. Pulse «Analizar».
  2. En «Diagrama de rutas» y «Lista de rutas», vea qué usuario llega a root o a datos sensibles y mediante qué pasos. Los círculos y cuadrados son usuarios y destinos, y cada línea es un paso que eleva los privilegios. El número sobre una línea corresponde al «motivo por el que el paso es posible» en la tabla situada bajo el diagrama.
  3. En «Puntos de corrección (en el orden en que conviene corregirlos)», compruebe dónde corregir tiene mayor efecto. Cada elemento muestra su prioridad (crítica, alta, media o baja, con una puntuación), el número de rutas afectadas, una corrección sugerida y la técnica de MITRE ATT&CK más cercana.
  4. Pulse «¿Y si corrijo este?» para volver a analizar, de forma hipotética, las rutas que quedarían si ese punto se corrigiera como se sugiere. «¿Y si corrijo todos?» hace lo mismo con todos los puntos mostrados. Ninguna de las dos opciones modifica este equipo.
  5. Lea la lista de las áreas que no se pudieron comprobar, mostrada bajo los puntos de corrección.
Las áreas no comprobadas no son «seguras»
Son áreas que no se pudieron comprobar por falta de privilegios o porque el destino referenciado no existe. No significa que se haya comprobado que «no hay peligro», ni tampoco que lo haya. Los elementos marcados «podría comprobarse al ejecutar con privilegios de root» a veces se pueden comprobar ejecutando como root.

Qué rutas encuentra

Las vulnerabilidades conocidas se comprueban con datos incluidos en la aplicación. Se cubren macOS y las versiones de Debian, Ubuntu, la familia RHEL, SUSE, Arch y Alpine para las que hay datos; lo demás (Debian 11 y anteriores, Fedora, etc.) se muestra como «sin comprobar». No es una función para examinar vulnerabilidades de forma exhaustiva.

4. Historial, exportación y comprobación periódica

Los resultados del análisis se conservan automáticamente como historial en este equipo. Pulse «Historial» para abrir la lista, donde puede abrir una entrada, ponerle una etiqueta (por ejemplo, antes de corregir) o eliminarla. Seleccione dos entradas y pulse «Comparar los dos seleccionados» para ver las rutas que desaparecieron y las que aparecieron, además de los cambios en los puntos de corrección. Úselo para comparar la situación antes y después de una corrección.

Los resultados guardados en formato JSON en otro equipo se pueden traer al historial con «Importar resultados de análisis». Seleccione dos o más entradas del historial y pulse «Resumir los seleccionados» para ver los equipos más expuestos por orden y los puntos débiles comunes a varios equipos.

El resultado mostrado se puede guardar como «Resultado del análisis (JSON)», «Elementos a vigilar (JSON)» o «Reglas de auditd (para la función de auditoría de Linux)». El destino se elige en el cuadro de diálogo de guardado. Solo se escriben archivos; no se aplica ninguna configuración ni se modifica este equipo.

Esto escribe un archivo de configuración que analiza periódicamente y avisa cuando hay más rutas que la vez anterior.

  1. Muestre un resultado de análisis y pulse «Guardar como referencia».
  2. Indique el «Intervalo (minutos)» (de 5 a 10080).
  3. En Mac pulse «Guardar configuración de launchd…», en Linux «Guardar configuración de systemd…», y elija dónde guardar.
  4. Compruebe el contenido escrito y regístrelo usted mismo (por ejemplo, con launchctl load). PathScope no lo registra.

5. Funciones que usan un LLM (opcional)

Desactivado de forma predeterminada
Las funciones que usan un LLM no se ejecutan hasta que las active en los ajustes. Una vez activadas y usadas, parte del contenido del análisis se pasa al comando del LLM elegido y al servicio que hay detrás. Esta comunicación no está incluida en el «Zero Telemetry» de RoamSwitch. Si la deja desactivada, PathScope no envía contenido del análisis fuera de este equipo.

Puesta en marcha

  1. Marque «Activar la integración con LLM».
  2. Elija el «LLM que se usará». Las opciones son los comandos claude, opencode, codex y agy, y se pueden usar aquellos cuyo «Estado» es «Instalado». Si indica «No encontrado», instale primero ese comando.
  3. Elija «Qué se envía al LLM al leer la configuración» (vea la tabla de abajo).
  4. Pulse «Guardar».

En la lista, el «Modelo» y el «Tiempo de espera (segundos)» se pueden cambiar para cada LLM. claude se inicia con la ejecución de comandos y la lectura de archivos desactivadas. opencode, codex y agy se tratan como no restringibles y no se pueden usar si no marca «Entiendo que a este LLM no se le puede impedir ejecutar comandos ni leer archivos». Un LLM que no se puede restringir puede leer archivos por su cuenta durante el proceso, y su contenido puede enviarse al servicio del LLM.

Explicar con LLM

Con un resultado mostrado, pulse «Explicar con LLM» para que el LLM redacte una valoración general, el orden y los motivos de las correcciones, el significado de las áreas no comprobadas y otros puntos. Solo se pasa un resumen de las rutas, los puntos de corrección y las áreas no comprobadas; la información en bruto recopilada (como las listas de propietarios y permisos de archivos) no se pasa. Eso sí, el resumen contiene los nombres de usuario y las rutas de archivo que aparecen en las rutas. La respuesta del LLM es orientativa. Las personas comprueban y deciden qué hacer, y nada cambia automáticamente a partir de la respuesta.

Asistente LLM (lectura de archivos de configuración)

Los archivos de configuración como sudoers, cron y los scripts se escriben de formas muy variadas, y un programa por sí solo a veces no puede leerlos. El asistente LLM hace que un LLM lea esos archivos y busque descripciones relacionadas con los privilegios de root.

  1. Pulse «Asistente LLM». Los archivos candidatos a leer aparecen en una lista con el motivo de cada uno (al principio están todos seleccionados). Son candidatos sudoers, cron, la configuración de systemd y launchd y los ejecutables que cargan los servicios que corren como root, entre otros. Desmarque los que no quiera enviar.
  2. Pulse «Enviar al LLM los ○ seleccionados». Aparece una confirmación de lo que se enviará; léala y pulse «Enviar (confirmado)».
  3. Revise en el resultado «Elementos encontrados», «Archivos leídos» y «Archivos no leídos (siguen sin comprobar)».
  4. Pulse «Aplicar y volver a analizar» para añadir los elementos encontrados al análisis. Si ya no quiere usarlos, elimínelos desde «Guardado».

Solo se usan los elementos indicados por el LLM cuya línea se ha confirmado que existe realmente en el archivo original. Los que no se pudieron confirmar aparecen únicamente en «Solo como referencia» y no se usan en el análisis. La comprobación se repite en cada análisis, por lo que un elemento cuya línea original ha desaparecido deja de usarse.

Qué se envíaDetalle
EstándarLos valores que parecen contraseñas o claves se sustituyen por «[REDACTED]» antes de enviarlos. No se envían archivos como claves privadas. De un archivo grande solo se envían las líneas que contienen rutas o comandos.
Sin restriccionesUn ajuste para los casos en que el contenido no sale de su equipo, como con un LLM local (bajo su responsabilidad). También se envían los hashes de contraseñas y similares.
Lo que no se envía en ningún caso
Un archivo que contiene una clave privada no se envía aunque tenga otro nombre. Las claves de formatos conocidos y los valores cuyo nombre indica un secreto, como una contraseña o un token, se sustituyen y luego se envían sea cual sea el ajuste. Como se detectan por el nombre y la forma, tenga presente que algunos secretos pueden no encontrarse.

6. Uso desde la línea de comandos

El mismo análisis de la ventana se puede ejecutar con el comando pathscope. Sin opciones, analiza las rutas del usuario actual a root. La recopilación es de solo lectura y no modifica el estado del equipo.

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
OpciónDetalle
--json-out=<file>Guarda el resultado como JSON.
--what-if-fix=allVuelve a analizar, de forma hipotética, las rutas que quedarían si todo se corrigiera como se sugiere. Con un número, solo ese punto de corrección.
--baseline=<file> --fail-on=newCompara con un JSON anterior y termina con el código 1 si han aumentado las rutas. Con --notify también se muestra una notificación de escritorio (solo el número).
--fail-on=any|new|critical|high|mediumany termina con el código 1 si hay al menos una ruta; critical, high y medium lo hacen cuando hay un punto de corrección de esa prioridad o superior.
--print-schedule=launchd|systemdMuestra un ejemplo de configuración de ejecución periódica. No la registra. Con --interval-min se indica el intervalo en minutos.
--plainMuestra la presentación anterior en texto sencillo en lugar de Markdown. Las suposiciones del análisis se envían entonces a la salida de error en lugar de incluirse en el resultado.
--help / --version--help (-h) muestra la descripción de todas las opciones, los códigos de salida y ejemplos. --version (-V) muestra la versión.

La salida es Markdown. Después del título aparecen, por este orden, una tabla de resumen, las rutas, los puntos de corrección (una tabla con la prioridad, el paso, el motivo y las rutas afectadas y, después, para cada número, un detalle con la correspondencia ATT&CK, los comandos de corrección y una advertencia), el alcance de la recopilación y las suposiciones del análisis. Los puntos de corrección solo aparecen si se encontraron rutas, y las suposiciones solo si hay algo que indicar. Con --what-if-* sigue una lista del análisis hipotético y, con --baseline, una lista de los cambios desde la ejecución anterior. Se puede pegar tal cual en una nota o en un ticket. Para obtener la presentación anterior en texto sencillo, añada --plain.

El código de salida es 0 si todo va bien, 1 cuando se cumple una condición de --fail-on y 2 si hay un error de uso o de entrada/salida. Al ejecutarlo como root, también recopila directamente los procesos en escucha de root. Los resultados de lectura guardados con el asistente LLM también se incorporan al análisis del comando.

7. Dónde se guardan los datos y actualizaciones

ElementoUbicación
Historial de resultados del análisisEn Mac, ~/Library/Application Support/net.lafine.pathscope/history.sqlite3; en Linux, ~/.local/share/net.lafine.pathscope/history.sqlite3
Configuración del LLM~/.config/pathscope/settings.json (se guarda con permisos que solo le permiten a usted leerlo y escribirlo)
Contenido guardado por el asistente LLM~/.local/share/pathscope/facts.json
La «referencia» de la comprobación periódica~/.local/share/pathscope/baseline.json

El historial se puede borrar con «Eliminar todo» en la pantalla del historial. Los resultados del análisis contienen información sensible sobre la configuración de este equipo (nombres de usuario, rutas de archivos, permisos), así que limite dónde se guardan y con quién se comparten. Para usar un comando que no está en la lista de LLM, añádalo a mano en profiles del archivo de configuración. No se puede cambiar desde la ventana.

Actualizar la aplicación

PathScope en Mac se actualiza solo, de forma independiente de RoamSwitch. Únicamente cuando pulsa «Buscar actualizaciones» se conecta a lafine.net para obtener la información de la última versión (no se envía información de este equipo ni de los resultados del análisis). Si hay una versión nueva, pulse «Instalar v○○» y, al terminar, «Reiniciar para aplicar». Una actualización descargada solo se instala tras verificar su firma y confirmar que no ha sido alterada.

En Linux forma parte del paquete de RoamSwitch, así que se actualiza al actualizar ese paquete. La pestaña «Actualizaciones» también lo indica.

Los datos que se usan en el análisis, como los de vulnerabilidades conocidas, vienen incluidos en la aplicación. Lo que se descubra después no se comprueba hasta que actualice PathScope. Cuando los datos incluidos se han quedado antiguos, el resultado del análisis lo indica.

8. Lo que no hace

9. Si algo no funciona

SíntomaQué hacer
En Mac, «Datos de ajustes de privacidad (TCC.db)» aparece entre las áreas no comprobadasEn la pestaña «Permisos» de «Ajustes», pulse «Abrir los ajustes de Acceso total al disco», active PathScope en Ajustes del Sistema, reinicie PathScope y vuelva a analizar. Los demás análisis funcionan aunque no lo permita.
Aparece «No se puede usar el LLM» o no se puede guardarActívelo en «Integración con LLM» dentro de «Ajustes» y elija el LLM que se usará. Si la lista indica «No encontrado», instale el comando. Con opencode, codex o agy también hace falta marcar la casilla de confirmación.
Un LLM se detiene con «Tiempo de espera agotado»En la lista de «Integración con LLM» dentro de «Ajustes», aumente el «Tiempo de espera (segundos)» de ese LLM (de 1 a 900) y guarde.
«¿Y si corrijo este?» no se puede usarNo se puede usar con un resultado abierto desde el historial. Pulse «Analizar» de nuevo y úselo después.
No se puede usar la actualización dentro de la aplicaciónSi lo instaló en Linux desde un paquete de RoamSwitch, actualícelo actualizando el paquete. Si no lo instaló desde un paquete (.deb, .rpm o AppImage), la actualización dentro de la aplicación no se puede usar, así que reinstale el paquete distribuido.
← Página del producto PathScope Manual de uso para Linux →