Geiger 今日发布
AI 智能体的盖革计数器
项目简介
Geiger 是一款开源安全盘点工具,用一条命令帮助用户全面了解本机运行了哪些 AI 智能体、MCP 服务器、插件和 AI 扩展,并清晰标注每个组件的权限范围。它能执行代码吗?它持有凭证吗?它能访问哪些文件和网络资源?这些信息以普通语言直白呈现,让任何人都能回答「这台机器上到底在跑什么」这个问题。
核心功能
-
一键全机盘点:运行 npx geiger-scan 即可扫描整个系统,涵盖 Claude Code、Cursor、Windsurf、VS Code(用户级+项目级)、Cline、Roo Code、Continue、Zed 等主流编辑器插件,以及 Codex CLI、Gemini CLI、Kilo CLI、Grok Build、Aider、OpenCode、Qwen Code、DeepSeek Harness、GitHub Copilot CLI、Goose、JetBrains Junie、Open Interpreter、LM Studio、Ollama 等全局 CLI 工具。
-
权限标注而非判断:每个发现项标注 EXECUTES(可执行代码)、HOLDS-SECRETS(持有凭证)、BROAD-FILESYSTEM(宽泛文件系统访问)、BROAD-WEB(网络访问)四个维度,告诉你「能做什么」,不替你判断「是否恶意」。
-
凭证按形检测:当在配置文件中发现形似密钥的值时,只报告密钥名、文件路径和密钥类型,从不输出任何真实值;所有输出均经过脱敏测试套件强制验证。
-
只读设计:除用户显式命名的 --json 输出文件外,Geiger 不写入任何内容;不连接任何远端,不发送任何遥测数据。
-
支持 HTML/JSON 报告:--html report.html 生成含修复指引的单文件 HTML 报告,--json out.json 输出机器可读的 JSON 格式,便于后续自动化处理。
-
漂移告警:配合 --strict --diff baseline.json 可将扫描加入定时任务或 CI 流程,当新增可执行代码或持有凭证的组件时退出码为 2,持续正常时静默通过,类比软件包管理的 lockfile 机制。
-
多路径扫描:支持 --path 指定额外目录扫描项目级智能体配置,--home 指定其他用户根目录,还可用于分析挂载的系统镜像。
技术实现
Geiger 的核心逻辑是读取各生态系统的已知配置文件路径,解析后按预定义规则分类标注。它支持读取的生态系统包括:
- Claude Code:全局及项目级 MCP 服务器、hooks、插件、skills、子智能体、apiKeyHelper 配置
- MCP 主机:Claude Desktop、Cursor、Windsurf、VS Code(用户+项目)、Cline、Roo Code、Continue、Zed
- 其他智能体 CLI:Codex CLI、Gemini CLI 等 20+ 种主流智能体
- 编辑器扩展:VS Code/Insiders/Cursor 中的 AI 扩展
- JetBrains IDE:各产品的 AI Assistant/MCP 设置(Geiger 指向正确设置界面)
- 全局 npm 包:直接读取 npm 全局根目录下的智能体包(不执行 npm 命令)
- 浏览器扩展:Chrome/Edge/Brave/Firefox 中的 AI 扩展及权限信息
项目使用 TypeScript 开发,检测器数据驱动且刻意保持轻量,便于社区贡献新增检测规则。对于 TOML 等部分可解析格式,采用按形检测并降级置信度标注,而非跳过不检。
快速上手
- 直接运行(无需安装):npx geiger-scan
- 生成 HTML 报告:npx geiger-scan --html report.html,打开报告查看每个发现项的「What to do」修复指引
- 建立基线:npx geiger-scan --json baseline.json,将当前机器状态存档
- 定期漂移检测:将 npx geiger-scan --strict --diff baseline.json 加入 crontab,发现新变化时退出码为 2
- 多机器场景:对每台机器运行一次并保存各自的 JSON 文件,IT 团队可集中对比分析
适用人群
- 企业 IT/MSP 团队:批量盘点团队成员工作站上的 AI 工具安装情况
- 安全工程师:了解 AI 智能体在系统中的实际权限边界,支持后续安全审计
- 开发者:了解自己机器上各种 AI 工具的配置状态,防止配置漂移
- 企业安全合规团队:确保 AI 工具的使用符合内部安全策略
评论与建议
登录 后参与评论或提建议