面向 AI 代理的盖革计数器。
一条只读命令,即可清点机器上的每一个 AI 代理、运行框架、MCP 服务器、插件和 AI 扩展——并用通俗的语言告诉你,每一个都能触及什么。
npx geiger-scan
无需安装。无需账户。无遥测。只读取配置和目录,不写入任何内容(除非你指定 --json yourfile.json)。
2026 年 8 月,一个开源代理运行框架在三周内从零飙升至 20 万+ GitHub 星标。其插件生态系统在同一时间段内突破了 13,000 个仓库。一键式桌面客户端在其发布当天就出现了。Instagram 轮播图现在正在教办公室职员安装这一切。
每一次安装都是一个可以执行命令、读取文件并持有凭据的程序——配置在没人会多看一眼的 dotfiles 中。问问自己这个工具所回答的问题:这台机器上实际运行着什么,它能触及什么? 大多数人都答不上来。现在只需一条命令。
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
...
来自真实机器的真实输出(值已脱敏——见下文)。
每个发现项都会标明:它是什么、来自哪里(registry、store、git、本地脚本、远程服务器——或 UNKNOWN-ORIGIN)、它能做什么(EXECUTES、HOLDS-SECRETS、BROAD-FILESYSTEM、BROAD-WEB、NETWORK),以及证据路径,以便你手动核实。
Geiger 还能识别 策略包装器(在 MCP 服务器前面放置执行层的代理),并同时报告两层,而不是将真实服务器隐藏在包装器之后。
--json 文件。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 退出——已审查过的现有清单保持静默。与 lockfile 的心智模型相同:接受现有内容,变更时报警。
没有 npm?npx github:Atomburstofficial/geiger 直接从仓库运行。
在运行任何东西之前,先看看你会得到什么:本仓库中有一份示例 HTML 报告和一份示例 JSON 输出,由测试夹具生成——合成数据、通用路径、凭据仅按形态显示(一如既往)。HTML 报告:

每个需要采取行动的发现项都带有通俗语言的修复建议——终端中显示为 fix: 行,HTML 报告中显示为“What to do”块。
机群模式(MSP、IT):按计划在每台机器上以 --json 运行(一个 RMM 任务或登录脚本,将 %COMPUTERNAME%.json 写入共享目录),保留每台机器的基线,让 --diff 报告每台机器的漂移。该 schema 已版本化且稳定。Geiger 从不回传数据——JSON 文件只去你放置它们的地方。
提前说明,因为一个被过度信任的扫描器比没有扫描器更糟:
这是一次安全审计吗? 不是。它是一份带有诚实暴露标签的清单——是你在任何审计有意义之前所需要的东西。
我为什么要信任一家安全公司的免费扫描器? 读一读它。它是几百行无依赖的 JavaScript,发布的内容就是运行的内容——发布通过 GitHub Actions 使用 npm provenance 进行,因此 npm 页面带有一个签名链接,指向每个版本构建自的确切公开提交。
对于它发现的东西我该怎么办? 就个人而言:删除你不认识的东西,轮换不应留在配置中的凭据。在公司层面:那是策略执行,属于另一个产品——DomainGuard 是组织在这个表面之前放置策略层的方式。无论如何,Geiger 保持免费且独立。
| 生态系统 | geiger 读取的内容 |
|---|
| Claude Code | 全局 + 按项目的 MCP 服务器、hooks、插件、skills、subagents、apiKeyHelper |
| MCP 宿主 | Claude Desktop、Cursor、Windsurf、VS Code(用户 + 项目)、Cline、Roo Code、Continue、Zed |
| 其他代理 | Codex CLI、Gemini CLI、Aider、OpenCode、Qwen Code、DeepSeek Harness、Continue、GitHub Copilot CLI、Goose、Open Interpreter、LM Studio、Ollama |
| 编辑器扩展 | VS Code / Insiders / Cursor 中的 AI 扩展 |
| 全局 CLI | 全局 npm 根目录中的代理包(直接读取——从不执行 npm) |
| 浏览器扩展 | Chrome / Edge / Brave 配置文件中的 AI 扩展,及其 manifest 权限 |