seshan-arunagiri/AEGIS
GitHub: seshan-arunagiri/AEGIS
Aegis 是一款 AI Agent 安全中间件,通过实时检测和中和 MCP 工具响应中的投毒与提示词注入攻击,保护 LLM 代理的安全运行。
Stars: 0 | Forks: 0
# Aegis
**AI agent 的中间件安全层 — 通过 MCP 防御工具投毒和提示词注入攻击。**
基于 Next.js 14 (App Router)、TypeScript、Tailwind CSS 和 Shadcn UI 构建。
## 功能
- **实时威胁检测**:扫描 MCP 工具响应,覆盖 6 大类别的 34+ 种威胁模式
- **风险评分引擎**:采用收益递减机制的加权风险计算
- **内容过滤**:在保留功能性的前提下中和已检测到的威胁
- **GitHub 仓库扫描**:支持扫描公开仓库中多达 30 个文本文件
- **自动化 CI 安全门**:集成 GitHub Actions,阻止高风险代码合并
- **审计日志**:使用 SQLite/Postgres 存储,以支持合规要求和威胁分析
- **分析仪表板**:可视化威胁趋势和检测模式
## CI 安全门
Aegis 包含一个自动化 GitHub Actions 工作流,可扫描每次 push 和 pull request 以检测安全威胁。配置完成后,它将自动运行,无需人工干预。
### 设置(一次性配置)
1. **部署 Aegis** 到 Vercel 或 Render(请参阅下方的[部署选项](#deployment-options))
2. **生成 CI token**:
openssl rand -hex 32
3. **配置您部署的应用**:
- 将生成的 token 添加为环境变量 `AEGIS_CI_TOKEN`
- 重新部署以应用更改
4. **配置 GitHub 仓库 secrets**:
- 前往仓库的 **Settings > Secrets and variables > Actions**
- 添加两个 secrets:
- `AEGIS_API_URL`:您已部署的 Aegis URL(例如:`https://aegis.vercel.app`)
- `AEGIS_CI_TOKEN`:与第 2 步中相同的 token
### 工作原理
配置完成后,每次 push 和 pull request 都会自动:
1. 检测发生更改的文本文件(.md、.js、.ts、.json、.py 等)
2. 将文件内容发送到您部署的 Aegis 实例进行扫描
3. 在 PR 上发布评论,附带每个文件的风险评分
4. 如果任何文件的风险级别为 Medium 或 Critical,则**阻止合并**
5. 如果所有文件的风险级别均为 Safe 或 Low,则允许合并
该工作流可在几秒钟内完成运行,并且在初始设置之后无需任何手动步骤。
## 部署选项
Aegis 是一个全栈 Next.js 应用程序,可以完全部署在单一平台上:
- **Vercel**:可以无缝托管整个应用程序。UI 部署在全球边缘节点,而 `/api` 路由会自动部署为 serverless 函数。
- **Render**:可以将整个应用程序作为单一的 Node.js Web Service 托管(通过内置的 `render.yaml` 进行配置)。
有关详细的手动部署说明,请参阅 [DEPLOYMENT.md](DEPLOYMENT.md)。
标签:AI安全, Chat Copilot, CI/CD安全, DLL 劫持, Llama, TypeScript, 中间件, 大语言模型, 安全插件, 提示词注入防御, 文档安全, 自动化攻击