AccessScope
アクセスログの診断ツール
サーバのログから、攻撃の試みを根拠つきで見つける診断ツールです。RoamSwitch に同梱される別ツール(Mac / Linux)です。
できること
- ログから攻撃の試みを見つけ、根拠の行を示します
- この端末のログを、自動で探します
- 総合リスクと検知の一覧を、報告書にまとめます
- 除外ルールと前回との比較で、見る件数を絞れます
読めるログ
ApachenginxCaddyTraefikHAProxyAWS ALB・CloudFrontSSH・sudo・PAMメールデータベースfail2banDockermacOS 統合ログ
Docker のコンテナのログも、読み取りだけで調べられます(使うときは確認画面が出ます)
結果の使い方
- 報告書は、Markdown・JSON・SARIF・CSV で書き出せます
- 検知した IP の遮断リストを書き出せます(書き出すだけで、遮断はしません)
- 自社の IP などは、理由をつけて除外できます
- 前回の診断と比べて、新しい検知だけを知らせます
安全設計
- 待ち受けポートを開きません。ログは読むだけで、書き換えません
- 権限は上げず、いま読める範囲だけを読みます
- ログの中の文字列は、画面にテキストとしてだけ表示します
- 通信するのは、選んだ LLM と、押したときだけの Mac のアップデート確認です
限界
- ログに残った事実だけが根拠です。検知がないことは、安全の証明ではありません
- 検知は試みがあったという意味で、攻撃が成功した証拠ではありません。User-Agent などは偽装できます
- 複数のログにまたがる連鎖と、ふだんとの違いは経験則で、見逃しも誤検知もあります
コマンドで使う
accessscope scan --auto --since 7d --report report.md
見つけるもの
- Web の攻撃
- SQL インジェクションパストラバーサルXSSコマンド注入既知の脆弱性(CVE)SSRF
- ログインの総当たり
- Web のログインSSHメールデータベース多数の IP からの試行
- 探索・スキャン
- .env などの探索攻撃ツール存在しないパスの連続
- Web シェル・成功の疑い
- Web シェルらしいアクセス失敗が続いたあとの成功
- 複数のログにまたがる連鎖
- 同じアドレスが Web と SSH に出現偵察から攻撃への流れ
- ふだんとの違い
- 見慣れない接続元のログイン新しい User-Agent新しいパス
- そのほか
- 大量のリクエスト・転送クローラの偽装ログに仕込まれた AI への指示
自前の試験データでの実測です。攻撃の検知は約 99%、正常な通信で中以上の検知が出たのは約 2% でした。実際のサーバでの保証ではありません。
画面の例



実際の画面に、見本のデータを入れて表示しています。IP アドレスなどはすべて架空です。
LLM による分析(任意・既定はオフ)
- 渡すのは、要約と根拠のログ行(1 件あたり数行)だけです。生ログは渡しません
- 秘密(キー・トークン・パスワードなど)は伏せ字にします。送る前に、内容の全文を確認できます
- 「LLM でログを探す」では、ファイルの名前や場所だけを渡し、中身は渡しません
- 有効にすると、内容は選んだ LLM のサービスに送られます。RoamSwitch の「Zero Telemetry」の説明に、この機能は含まれません
- オフのままなら、診断の内容が端末の外へ出ることはありません。root でも LLM を実行できますが、LLM は root の権限で動くので、権限のない一般ユーザーでの実行をお勧めします(画面アプリは、root で動いている間、設定に注意を出します)
入手
- Mac は、RoamSwitch の DMG に入っています(画面とコマンド。macOS 12 以降)
- Linux は、RoamSwitch の deb / rpm / tarball に入っています(Server Edition はコマンドだけ)
- Mac のアプリ内アップデートは、押したときだけ lafine.net に接続し、署名を確かめてから入れます
- RoamSwitch とは別のツールで、ライセンスは Apache License 2.0 です(RoamSwitch の EULA の対象外)
端末に保存するのは、見つけたログの一覧(discovered.json)、前回との比較に使う状態ファイル、除外ルール(suppress.toml)です。外部には送りません。詳しくはプライバシーポリシーをご覧ください。