Aegis
antropos17/Aegis加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
你正在用 Claude Code 写代码,它读取了 .env 文件中你的 API Key,然后向一个陌生的服务器发起了连接——这条连接通向哪里,你知道吗?
2025 年 2 月,Hudson Rock 披露了一个真实的攻击路径:信息窃取木马正在专门扫描 AI 代理的配置目录。Claude Code 的 memory 文件夹、Copilot 的配置、Cursor 的项目索引——这些目录里存放着你的 API Key、Session Token、云凭证,以及你所有项目的访问权限。攻击者不需要入侵你的代码库,只需要扫描这些目录。
AEGIS(Advanced Guard for Intelligent Systems)就是在这个背景下诞生的。这是一个开源的本地 AI 代理监控工具,独立于被监控的代理运行在操作系统层面,实时追踪进程活动、文件访问、网络连接和行为异常——不依赖任何代理侧的插件,也不要求代理"配合"。
市面上的 AI 安全产品(Lasso Security、PromptArmor、Prompt Security、Nightfall AI)有一个共同的盲区:它们监控的是人类发送给 AI 的内容,而不是 AI 在本地机器上实际做了什么。Agent Governance 工具需要代理主动注册才能生效。这些方案的局限在于:一个不以任何特殊方式启动的代理(比如直接运行 python autogpt.py),对它们是完全隐形的。
AEGIS 采用了完全不同的思路。它是摄像头,而不是保安——它从操作系统外部观测进程、文件和网络的活动,不依赖代理的配合,也不修改代理的行为。Hook 类工具与 AEGIS 是互补关系:前者深入代理内部,后者覆盖整台机器。
想象你把一辆自动驾驶汽车交给代驾司机,然后你的车自己动了——你会希望车里有个摄像头记录一切:它去了哪里、开了哪些门、动了什么东西。AEGIS 就是 AI 代理的行车记录仪,只不过它记录的不是视频,而是进程、文件和网络的每一个动作。
AEGIS 内置了一个代理签名数据库(src/shared/agent-database.json),包含 94 种已知 AI 代理的特征。扫描方式是通过 Windows 的 tasklist /FO CSV /NH 实时获取进程列表,与签名库逐一匹配。它还能解析父子进程链,判断一个代理是否运行在某个 IDE 内部(比如 VS Code 里的 Copilot、JetBrains 里的 AI Assistant),并标注 "via VS Code" 等信息。
代理分类涵盖:
文件监控基于两个机制:chokidar 实时监控和 PowerShell handle 扫描。chokidar 负责监听敏感目录的文件变化事件;handle 扫描则定期查询每个进程当前打开了哪些文件。
AEGIS 重点监控的敏感目录包括:
.ssh/、.gnupg/、.aws/、.azure/、.gcloud/.env*、.npmrc、.pypirc、.docker/config.json、.git-credentials文件访问事件会经过 70+ 敏感模式规则分类,按严重程度分为 info/low/medium/high/critical。批量读取敏感文件也会触发告警。
AEGIS Shield 仪表盘:实时展示所有检测到的 AI 代理、风险评分和连接状态
AEGIS 通过 PowerShell 的 Get-NetTCPConnection 获取所有 TCP 连接,过滤出非本地回环的已建立连接。每个连接会经过反向 DNS 解析(5 分钟缓存),判断目标域名是否属于已知的安全 AI API 端点(如 OpenAI、Anthropic、Google 等)。
分类结果为:已知安全(绿色)、未知域名(标记为可疑)、危险域名(触发告警)。所有连接记录都会与代理 PID 关联,形成完整的"哪个代理连接了哪里"的追溯链。
AEGIS 为每个代理维护滚动 10 会话基线,基于 5 个加权检测因子计算异常评分(0-100):
异常评分带有时间衰减机制,最近的事件权重更高。信任等级从 A+ 到 F,通过风险评分和基线偏差综合计算,在界面上以颜色环和信任条直观呈现。
AEGIS Activity Feed:实时展示文件访问、网络连接和异常告警事件流
用户可以主动触发 Anthropic Claude API 对当前会话进行结构化威胁评估。Claude 会综合进程活动、文件访问和网络连接的元数据,输出:执行摘要、具体发现、风险评级和可操作的建议。这需要用户手动提供 API Key,没有后台自动调用,隐私完全可控。
AEGIS 将所有事件以 JSONL 格式追加写入每日日志文件,7 种事件类型:file-access、network-connection、anomaly-alert、permission-deny、agent-enter、agent-exit、config-access。日志保留 30 天后自动清理。支持导出为 JSON、CSV、HTML 和可打印格式的合规报告。
AEGIS 基于 Electron 33 构建,前端使用 Svelte 5(含 $state/$derived/$effect runes)和 Vite。监控引擎是纯 JavaScript(ES modules / CommonJS),TypeScript 用于渲染进程和共享类型定义。
核心监控模块(src/main/):
process-scanner.js:代理检测,调用 tasklist 并匹配 94 种签名file-watcher.js:chokidar + handle 扫描,文件事件分类network-monitor.js:TCP 连接扫描 + 反向 DNS + 域名分类baselines.js:行为基线和异常评分引擎ai-analysis.js:Anthropic API 集成,结构化威胁评估audit-logger.js:JSONL 追加写入,缓冲机制(每 5 秒或 50 条事件刷新一次)高级功能模块还包括:action-mcp.js(MCP 工具集成)、static-analysis.js(代码静态分析)、sequence-engine.js(序列证据链)、token-tracker.js(LLM Token 消耗追踪)、inventory-snapshot.js(系统快照与差异对比)。
安装难度:低(Windows)。AEGIS 主要面向 Windows 用户,提供预编译的 .exe 安装包,下载后直接安装即可。macOS 和 Linux 为实验性支持,功能不完整。
上手难度:中。首次启动后会自动扫描当前运行的 AI 代理,界面直观。高级功能(如自定义敏感目录规则、MCP 工具集成、AI 威胁分析)需要一定的配置知识。
CLI 支持通过 npm run start 或 npm run dev 启动 Electron 应用,也有部分 CLI 工具(如快照对比、静态分析导入)。
主要局限:不阻断,只观测。当前版本 AEGIS 只监控和记录,不会主动阻断代理行为。权限状态(允许/监控/阻止)目前仅影响 UI 显示,不触发 OS 层面的实际阻止。真正的进程阻断需要 Windows Minifilter 或 Linux eBPF 内核级钩子,相关功能在路线图上但尚未实现。
平台局限:Windows 为主。进程扫描依赖 Windows 的 tasklist 命令,macOS 和 Linux 支持虽然有计划,但当前版本的跨平台能力相当有限。
文件归属问题:chokidar 能检测到文件变化,但无法将文件访问归属到特定进程。Handle 扫描虽然提供按进程的归属信息,但它是轮询而非实时,存在一定的时间窗口。
检测绕过:理论上,被监控的代理可以通过进程名伪装(如将自己的进程名改成 explorer.exe)来规避检测。AEGIS 在路线图中规划了 WMI/ETW 级别的深层检测,但当前版本对这类绕过没有防护。
随着 AI 代理从实验走向生产,它们会越来越多地接触真实系统和敏感数据——SSH 密钥、数据库凭证、云服务配置。在这种背景下,AEGIS 填补了一个关键空白:面向个人开发者和小型团队的开源、免费、AI 代理监控工具。它代表了 AI 安全领域从"监控 AI 的输入"向"监控 AI 的行为"的范式转移。
707 个测试全部通过、0 失败,以及活跃的代码贡献和路线图规划,显示出项目处于健康的活跃状态。其 MCP 工具集成和策略控制执行功能正在将监控工具逐步扩展为可干预的管控平台,这是未来 AI Agent 安全工具的发展方向。