Aegis Audit

{"answer":"针对 AI 智能体技能与 MCP 工具的深度行为安全审计。执行确定性静态分析(AST + Semgrep + 15 种专用扫描器)、加密锁文件生成及可选 LLM 意图分析。适用于安装、审查或批准任何技能、工具、插件或 MCP 服务器,尤其是首次使用前。以完整的 CWE 映射、OWASP 标记及行号引用安全报告取代基础安全摘要。"}

安装

概览

Aegis Audit 是一款专为 AI 智能体技能与 MCP(Model Context Protocol)工具设计的行为安全审计工具,旨在帮助用户在使用第三方技能或插件前进行深度安全评估。它通过确定性静态分析技术,结合抽象语法树(AST)解析、Semgrep 规则引擎以及 15 种专用扫描器,对代码进行全面检测,确保每次扫描结果一致且可复现。与传统基础安全检查不同,Aegis 不仅识别潜在风险模式,还能精确映射到 CWE(通用弱点列表)和 OWASP Top 10 标准,并提供带行号引用的详细安全报告,取代简单的“高风险/低风险”摘要。 该工具的核心优势在于其防御性定位:不执行任何攻击行为,而是主动识别恶意代码特征,如文件访问、网络请求、敏感信息泄露等具体能力边界。扫描完成后,Aegis 可生成基于 Ed25519 数字签名的加密锁文件(aegis.lock),利用 Merkle 树结构实现篡改检测,确保代码在发布后未被修改。此外,用户可选择启用 LLM 辅助分析功能(需配置 API 密钥),获取更深入的意图解读,但该功能默认关闭以保护隐私。整个流程完全离线运行,无需联网或上传数据,适合在敏感环境中使用。 Aegis 支持命令行接口(CLI)和 MCP 服务器模式,可集成至 Cursor、Claude Desktop 等开发环境。其主要命令包括 `scan`(执行完整扫描)、`lock`(生成签名锁文件)、`verify`(验证代码一致性)及 `badge`(生成 Shields.io 状态徽章)。对于技能开发者而言,建议在发布前本地运行 Aegis 并修复 PROHIBITED 级别的问题,同时提交 aegis.lock 文件以增强社区信任。整体架构模块化清晰,涵盖 AST 解析、污点追踪、组合攻击链分析等多个子系统,覆盖 Python、JavaScript、Dockerfile 等多种语言与配置文件类型。

核心功能特点

  1. 确定性静态分析:基于 AST 解析与 Semgrep 规则,结合 15+ 专用扫描器,确保相同代码始终输出一致的安全报告
  2. 精准能力边界识别:不仅判断是否访问文件系统,还可明确指出具体文件路径、目标 URL、主机端口等细粒度权限范围
  3. CWE/OWASP 标准映射:所有发现项均关联 CWE 编号与 OWASP 威胁分类,并按严重程度分级(PROHIBITED / RESTRICTED / INFO)
  4. 加密锁文件机制:生成 Ed25519 签名的 aegis.lock 文件,附带 Merkle 树根哈希,防止代码被篡改且支持版本追溯
  5. 可选 LLM 意图分析:集成 Gemini、Claude、OpenAI 等主流大模型,提供 AI 驱动的第二意见(默认禁用,需手动配置 API 密钥)
  6. 完全离线运行:默认不连接网络,不传输任何数据,保障本地隐私与安全;仅在使用 LLM 分析时才向指定服务商发送代码片段

适用场景

Aegis Audit 特别适用于需要严格管控外部依赖的 AI 智能体生态场景。例如,在企业内部部署自定义 MCP 服务器或 Agent 技能库时,管理员可在首次安装任何新技能前执行全面扫描,快速识别是否存在隐蔽的数据外泄通道、反向 shell 后门或未声明的敏感操作权限。这种‘预认证’机制类似于软件供应链中的 SSL 证书,为技能提供可信度背书,降低因误装恶意组件导致系统沦陷的风险。 另一个典型应用场景是开源社区的技能审核流程。当开发者提交一个新功能模块(如 GitHub Action、VS Code 扩展或 LangChain 工具包)时,可通过运行 `aegis scan –no-llm` 并公开生成的风险评分与安全报告,让维护者快速判断其安全性等级。若发现 PROHIBITED 类问题(如硬编码密钥、任意命令执行),则必须修复后方可合并;对于 RESTRICTED 权限(如读取特定目录),应在文档中明确说明用途。此举有助于建立透明、可审计的信任体系,避免类似 npm 包投毒事件重演。 对于 CI/CD 流水线集成,Aegis 提供了 `–json` 输出格式,便于自动化脚本解析关键指标(如 `risk_score_static <= 50`)。团队可将扫描结果作为门禁条件,阻止高风险代码进入生产环境。同时,结合 `aegis lock` 生成的签名锁文件,后续构建过程可通过 `verify` 命令确认源码完整性,防止中间人攻击或构建污染。无论是个人开发者还是大型组织,都能借助 Aegis 构建起多层次的软件资产治理框架。