PathScope

PathScope

提權路徑分析工具

在本裝置上找出一般使用者可以到達 root(管理員權限)或機敏資料的「提權路徑」,並依優先度顯示從哪裡修補效果最大。分析是唯讀的,不會自動變更設定或執行修補。

提權路徑分析

從屬於 docker 群組、以 root 權限執行的執行檔(SUID)、以 root 身分執行的服務中可被改寫的執行檔、免密碼的 sudo、cron、macOS 的隱私權限(TCC)等,以圖表與清單顯示可到達 root 或機敏資料的提權路徑。

修補點與修正方案

依優先度顯示先修補效果較大的地方(修補點),並附上修正命令範例與對應的 MITRE ATT&CK。命令不會自動執行。使用「修好這裡會如何?」,可以模擬分析修好之後的提權路徑(不會變更本裝置)。

歷史紀錄與比較

分析結果會以歷史紀錄保存在本裝置中,可以與上一次比較差異。也支援匯出定期執行的設定,以及彙總多台裝置的結果。

以 LLM 解說與讀取設定(選用,預設關閉)

啟用後,可以讓 LLM 撰寫分析結果的解說,或讓它讀取 sudoers、cron、指令碼等寫法不一、程式難以解析的設定檔,找出與 root 權限有關的內容。找到的內容,會先確認該行確實存在於原始檔案中,才用於分析。

支援 10 種語言

介面支援日本語、English、한국어、简体中文、繁體中文、Deutsch、Français、Español、Italiano、Português 共 10 種語言,會自動配合 OS 的語言,也可以在設定中重新選擇。命令列支援日文與英文。

命令列

與介面相同的分析,也可以用 pathscope 命令執行。例如與上一次相比提權路徑增加時,以結束代碼 1 通知,可用於定期執行與自動化。

畫面範例

PathScope results: a diagram of the paths from a user to root and to sensitive data, and the fix points in priority order
PathScope: the result of "If I fix them all?", showing which paths disappear after applying every suggested fix
PathScope LLM assist: items found in config files, items that could not be confirmed, files read and files that could not be read

所示畫面中的資料(使用者名稱、檔案路徑等)均為虛構。LLM 的回覆來自一個回傳固定答覆的替代命令。

啟動方法

Mac:開啟「應用程式」資料夾中的「PathScope」(與 RoamSwitch 不同的圖示),然後按下「開始分析」。

命令列:使用 PathScope.app/Contents/MacOS/pathscope 也能進行同樣的分析。可加上 --what-if-fix=all(全部修好後會如何)、--baseline=上次.json --fail-on=new(路徑比上次增加時結束代碼為 1)等選項。

隱私與範圍

PathScope 的分析全部在本裝置內完成。它是唯讀的,不會變更設定或檔案。不會開放監聽連接埠,介面也不會載入外部網站。分析結果的歷史紀錄與設定僅儲存在本裝置。分析結果包含本裝置組態的機敏資訊(使用者名稱、檔案路徑、權限),請限定其保管與分享的範圍。

RoamSwitch 的「Zero Telemetry」(不向外部傳送通訊內容與日誌)是針對 RoamSwitch 本體的說明。啟用 PathScope 的 LLM 連動後產生的通訊不在其範圍內。若保持 LLM 連動關閉,PathScope 不會將分析的內容傳送到裝置之外。

授權

PathScope 採用 Apache License 2.0 授權,不適用 RoamSwitch 的使用授權合約(EULA)。授權文件、NOTICE 以及隨附的第三方軟體清單,位於應用程式內部(PathScope.app/Contents/Resources)。

執行環境與更新

macOS 12 或更新版本。只有在應用程式的「更新」中按下「檢查更新」時,才會連線 lafine.net 取得最新版本的資訊(不會傳送本裝置或分析結果的任何資訊)。下載的更新會先驗證簽章,僅替換驗證通過的檔案。