
マシン上のAIエージェント、MCPサーバー、プラグイン、拡張機能をインベントリし、その機能と露出を平易な言葉による修復手順とともに報告する読み取り専用CLI。
AIエージェントのためのガイガーカウンター。
マシン上のすべてのAIエージェント、ハーネス、MCPサーバー、プラグイン、AI拡張機能を一覧化する、読み取り専用の単一コマンド — そして、それぞれが何にアクセスできるのかを平易な言葉で教えてくれます。
npx geiger-scan
インストール不要。アカウント不要。テレメトリなし。設定とディレクトリを読み取るだけで、何も書き込みません(--json yourfile.json を指定した場合を除く)。
2026年8月、あるオープンソースのエージェントハーネスが3週間でGitHubスター0から20万以上へと急増しました。そのプラグインエコシステムも同じ期間に13,000リポジトリを超えました。ローンチ当日にはワンクリックのデスクトップクライアントが登場しました。今ではInstagramのカルーセル投稿が、オフィスワーカーにそのすべてをインストールする方法を教えています。
そうしたインストールの一つひとつが、コマンドを実行し、ファイルを読み取り、認証情報を保持できるプログラムであり、誰も二度見しないドットファイルで設定されています。このツールが答える問いを自分自身に投げかけてみてください:このマシンで実際に何が動いていて、何にアクセスできるのか? ほとんどの人はそれに答えられません。今やそれは1つのコマンドで済みます。
GEIGER · a Geiger counter for AI agents
machine dev-laptop · 2026-09-06 12:24 UTC · read-only · no telemetry
──────────────────────────────────────────────────────────────
9 findings across 3 ecosystems · 7 can execute code · 1 credential in config files
claude-code (6)
Claude Code agent
[EXECUTES] [BROAD-FILESYSTEM] [NETWORK]
origin: registry · @anthropic-ai/claude-code
magic (Claude Code · global) MCP server
[EXECUTES] [HOLDS-SECRETS] [BROAD-FILESYSTEM]
origin: registry · @21st-dev/magic@latest
credential: "API_KEY" — opaque value under a credential-named key · ~/.claude.json
note: wrapped by a policy agent (domainguard-agent.exe) — enforcement layer in front of the server
hooks: UserPromptSubmit, PreToolUse hook
[EXECUTES]
note: hooks execute without a prompt each time their event fires
...
実際のマシンからの実際の出力(値は伏字 — 以下を参照)。
| エコシステム | geiger が読み取るもの |
|---|---|
| Claude Code | グローバル + プロジェクトごとの MCP サーバー、フック、プラグイン、スキル、サブエージェント、apiKeyHelper |
| MCP ホスト | Claude Desktop、Cursor、Windsurf、VS Code(ユーザー + プロジェクト)、Cline、Roo Code、Continue、Zed で設定された MCP サーバー |
| AI アプリ & IDE | Cursor、Windsurf、Zed、Claude Desktop、ChatGPT Desktop、Codex デスクトップアプリ — 存在によって報告されるため、MCP サーバーがゼロのインストール済みクライアントでも表示される |
| その他のエージェント | Codex CLI、Gemini CLI、Kilo CLI、Grok Build、Aider、OpenCode、Qwen Code、DeepSeek Harness、Continue、GitHub Copilot CLI、Goose、JetBrains Junie、Open Interpreter、LM Studio、Ollama |
| フック | Claude Code(設定)、Cursor(hooks.json)、Codex(config.toml の notify)、Gemini CLI(設定) — フックはプロンプトなしで実行されるため、コマンドが一覧表示される |
| Git フック | .git/hooks 内のライブフック(サンプルは無視)、core.hooksPath リダイレクト、マージドライバー — git 自身がこれらを実行し、エージェントツールがここに自身をインストールする |
| スキル & サブエージェントのテキスト | スキルが実際に何を言っているか:その説明、エージェントを上書きしたり作業を隠そうとする指示テキスト、敵対的な形状のコマンド、認証情報の形状 — ディレクトリ一覧の名前だけでは何もわからない |
| エディタ拡張機能 | VS Code / Insiders / Cursor の AI 拡張機能 |
| JetBrains IDE | 製品ごとの AI Assistant / MCP 設定の存在(設定は IDE 内に存在する — geiger は適切な画面を案内する) |
| グローバル CLI | グローバル npm ルート内のエージェントパッケージ(直接読み取り — npm は決して実行されない) |
| AI ブラウザ | Comet、Dia、ChatGPT Atlas — ブラウザ自体がエージェントであるため、その存在が検出結果となる |
| ブラウザ拡張機能 | Chrome / Edge / Brave / Vivaldi / Arc / Comet / Dia / Atlas / Firefox プロファイル内の AI 拡張機能と、付与された権限 |
すべての検出結果には以下が付く:それが何か、どこから来たか(レジストリ、ストア、git、ローカルスクリプト、リモートサーバー — または UNKNOWN-ORIGIN)、何ができるか(EXECUTES、HOLDS-SECRETS、BROAD-FILESYSTEM、BROAD-WEB、NETWORK)、そして手動で検証できる証拠パス。
Geiger はまた ポリシーラッパー(MCP サーバーの前に強制レイヤーを置くエージェント)も認識し、実際のサーバーをラッパーの背後に隠すのではなく、両方のレイヤーを報告する。
--json ファイルである。Node.js 18 以降。それだけ。 Node には npm と npx が同梱されており、geiger は依存関係がゼロなので、他には何もインストールされない。グローバルインストール不要、管理者権限不要、アカウント不要。
Node がまだマシンにない場合、すでにお持ちのパッケージマネージャーで1コマンドで済む — その後、npx がパスに通るよう新しいターミナルを開く:
winget install OpenJS.NodeJS.LTS # Windows
brew install node # macOS (Homebrew)
sudo apt install nodejs npm # Debian / Ubuntu
その他のプラットフォームとバージョンマネージャー(nvm、fnm):https://nodejs.org/en/download
npx geiger-scan scan, print the report
npx geiger-scan --html report.html self-contained HTML report with per-finding
"what to do" remediation guidance
npx geiger-scan --json out.json machine-readable findings (schemaVersion 1)
npx geiger-scan --path D:\repo1 --path E:\repo2
also scan these project directories for
project-level agent and MCP configs
npx geiger-scan --home C:\Users\other scan a different home root (another user
profile, a mounted image)
npx geiger-scan --strict exit 2 if anything can execute code or
holds secrets
npx geiger-scan --diff baseline.json compare against an earlier --json
snapshot: what appeared, disappeared,
or escalated since then
ドリフトアラーム: マシンを一度レビューしたら、ベースラインを保存し
(--json baseline.json)、geiger-scan --strict --diff baseline.json を
cron または CI に設定します。終了コード 2 を返すのは、新たにコードを実行したり
シークレットを保持したりできるものが現れたときだけです — 既存のレビュー済み
インベントリは静かなままです。ロックファイルと同じ考え方です。存在するものは受け入れ、
変化があればアラームを出します。
レジストリがブロックされている、または未リリースの main を使いたい場合は?
npx github:Atomburstofficial/geiger はこのリポジトリから直接実行できます(Node は
引き続き必要です — Requirements を参照)。
何かを実行する前に、何が得られるかを正確に確認できます。 サンプル HTML レポートと サンプル JSON 出力がこのリポジトリにあり、テスト フィクスチャから生成されています — 合成データ、汎用的なパス、認証情報は(いつも通り) 形状のみで表示されます。HTML レポートはこちらです:

対応が必要なすべての検出結果には、平易な言葉での修復手順が付きます —
ターミナルでは fix: 行として、HTML レポートでは「What to do」ブロックとして表示されます。
フリートパターン(MSP、IT 向け): スケジュールに従って各マシンで --json を付けて実行し
(RMM タスクやログインスクリプトで %COMPUTERNAME%.json を共有フォルダに書き出す)、
各マシンのベースラインを保持し、--diff でマシンごとのドリフトをレポートさせます。
スキーマはバージョン管理されており安定しています。Geiger は決して外部に通信しません —
JSON ファイルはあなたが置いた場所にのみ移動します。
先に明言しておきます。過信されるスキャナーは、スキャナーがないよりも悪いからです: