PersonalSOC

PersonalSOC

パーソナル・セキュリティ運用センター

この端末のログと防御の状況を集約し、異常を見逃さず把握できるレポートにします。専任の担当者がいない個人が、自分の端末の状況を、根拠つきで理解して次の行動を決められることを目指した、小さなセキュリティ運用センター(SOC)です。

RoamSwitch のインストーラに同梱されますが、RoamSwitch とは別のアプリ(別のアイコン)です。RoamSwitch が入っていなくても使えます。

ボタン1つで状況確認

「状況を確認する」を押すだけで、この端末のログ(OS ごとに、SSH 認証・auditd・Web・DNS・macOS 統合ログ)と MCP の設定、RoamSwitch の検知履歴を、読み取り専用で確認します。権限は上げず、読めないログは「読めない」と報告します。

ダッシュボード

総合リスク(目安)、深刻度別の件数、分類ごとの発生件数、発生の推移、MITRE ATT&CK の技術を、図で一目で把握できます。

報告書

収集元、分類別の検出事項、IOC(無害化表記)を、Markdown の報告書にまとめます。時刻は、この端末のローカル時間で、読みやすい形に整えます。

LLM による自律調査(任意・既定はオフ)

有効にすると、確認のあと LLM が自律的に調査し、監査官として報告書を書きます。PersonalSOC が LLM に渡すのは、許可された読み取り専用のツールだけで、シェルやファイルは渡しません。

定期実行(任意)

Mac は launchd、Linux は systemd のユーザー権限で登録し、前回になかった検出があるときだけ通知します(通知は件数のみ)。root は使いません。

10言語対応

日本語、English、Deutsch、Español、Français、Italiano、한국어、Português、簡体字・繁体字中国語。OS の言語に自動で合わせます。

RoamSwitch の MCP 連携

RoamSwitch が入っている端末では、RoamSwitch の MCP サーバー(読み取り専用)から、未解決の検知と、設定診断の不合格項目を取り込み、ログの検出事項と一緒に1つの報告書にまとめます。同じ検知は1件にまとめ、件数と最新時刻を付けます。LLM の調査でも、呼べるのは RoamSwitch の読み取り専用のツールだけで、run_* のような実行系は拒否します。RoamSwitch が無いときは、この収集元を飛ばして動きます。設定で、連携のオン・オフも選べます。

画面の例

PersonalSOC dashboard: overall risk gauge, severity donut, occurrences by category, hourly trend and MITRE ATT&CK counts
PersonalSOC report tab: current status summary, status by category and trend tables
PersonalSOC settings: automatic status check sources, scheduled runs, LLM integration and display language

掲載している画面のデータ(IP アドレスなど)は、すべて架空です。

報告書の出力例

報告書の例です(LLM 連携を有効にした場合)。Markdown でコピーして、そのまま共有できます。

掲載している IP アドレスやログは、すべて架空です。報告書は表示言語(10言語)で出力できます。

起動のしかた

Mac: アプリケーションフォルダの「PersonalSOC」(RoamSwitch とは別のアイコン)を開きます。

Linux: アプリの一覧から「PersonalSOC」(独自のアイコン)を開きます。ターミナルからは personalsoc-app です。

コマンドライン: personalsoc scan --report(報告書)、personalsoc scan --llm <LLM名>(LLM が自律調査)。

プライバシーと範囲

PersonalSOC は、ログの解析をすべてこの端末の中で行います。待受ポートを開かず、画面は外部のサイトを読み込みません。

LLM 連携は既定でオフです。有効にすると、選んだ LLM のコマンド(opencode、claude、codex、agy など)を起動し、検知の内容や根拠のログの行(鍵・トークンなどの秘密は伏せ字)を渡します。そのコマンドの設定によっては、内容が外部のサービスに送られます。送信先と扱いは、選んだ LLM とその提供者の規約に従います。

RoamSwitch の「Zero-Telemetry」(通信内容・ログを外部に送信しない)は、RoamSwitch 本体についての説明です。PersonalSOC の LLM 連携を有効にした場合の通信は、これに含まれません。LLM 連携をオフのままなら、PersonalSOC がログの内容を端末の外へ送ることはありません。

ライセンス

PersonalSOC は Apache License 2.0 でライセンスされ、RoamSwitch の使用許諾契約(EULA)の対象ではありません。ライセンス文、NOTICE、同梱する第三者ソフトウェアの一覧は、Mac ではアプリの中(PersonalSOC.app/Contents/Resources)に、Linux では /usr/share/licenses/personalsoc/ に入っています。

動作環境と更新

macOS 12 以降。Linux は WebKitGTK 4.1(libwebkit2gtk-4.1)が必要で、deb / rpm では自動で入ります。Arch(AUR)では webkit2gtk-4.1 を任意の依存として入れてください。Mac では、設定の「アップデート」から、アプリの中で更新できます。通信は、ボタンを押したときだけで、ダウンロードしたファイルは、署名を検証してからインストールします。Linux では RoamSwitch のパッケージの更新に含まれます。