Abhi-mishra998/aegis
GitHub: Abhi-mishra998/aegis
Aegis 是面向自主 AI agent 的运行时安全与治理控制平面,在每次工具调用前执行策略决策并生成加密可验证的审计追踪。
Stars: 3 | Forks: 2
# Aegis
面向自主 agent 的 runtime 安全控制平面。它位于每次 agent 工具调用之前,应用 policy pipeline,并生成加密可验证的审计追踪。
* License: Apache 2.0
* Runtime: Python 3.11, FastAPI, PostgreSQL, Redis, OPA
* 部署目标: AWS (ap-south-1 参考部署) / 任意 Linux + Docker 主机
* 状态: 生产环境 (单租户 prod-ha + 多租户就绪)
## 最新动态 (2026-06-24)
单一域名整合 —— 废弃了 `ha.aegisagent.in` 别名,全面启用标准域名 `aegisagent.in`。现在,每次创建 demo 工作区时都会自动为整个侧边栏填充数据:5 个指定的 agent(db-copilot、support-bot、devops-agent、finance-bot、sales-research-agent),跨越 14 天的 60 个审计事件,2 个安全事件,2 个影子策略,10 个身份图谱节点,8 个边 —— 这样一来,首次体验的用户在点击“生成 demo 工作区”后几秒钟内就能看到一个内容丰富的 UI。框架 SDK 已被重新锁定到当前发布的版本(`aegis-anthropic` 1.1.2、`aegis-openai` 1.1.2、`aegis-langchain` 1.1.3、`aegis-bedrock` 1.1.3、`aegis-aevf` 1.1.0),以便新安装的环境能自动采用单域名默认配置。对 WAF Bot Control 进行了重新调整,以实现有利于监控的响应 —— 合法的审计探针不再会被 bot-block 规则静默返回 403 错误,操作更改为计数并打标。
## 网关在每次请求中执行的操作
```
client upstream tool
| ^
| POST /execute ───────────────────────────────────────────────────── |
| |
+-> 0. Kill switch tenant-wide blockade |
1. Auth JWT/API-key + jti revocation |
2. Rate limit per-token / per-agent / per-tenant |
3. Inference prompt-injection + tool-shape risk score |
4. Canonical normalise tool args to action shape |
5. Policy OPA (slow) / local action semantics (fast) |
6. Behavior per-minute window + cumulative risk pipeline |
7. Decision allow | monitor | escalate | deny | quarantine |
8. Enforce pass-through or return 403 + structured findings |
9. Filter redact secrets from response body |
10. Audit chained ed25519-signed receipt to Redis stream |
```
## 快速开始 (本地 Docker 栈,约 3 分钟)
```
# 本地开发 — 这些 URL 仅能在开发者自己的机器上解析。
# 生产流量始终使用 https://aegisagent.in。
git clone https://github.com/Abhi-mishra998/aegis.git
cd aegis
cp .env.example infra/.env # fill in JWT_SECRET_KEY, INTERNAL_SECRET
cd infra
docker compose -f docker-compose.yml up -d
docker compose ps # 20+ services, expect all "healthy"
# UI 位于 http://localhost:8080
# 管理员登录:admin@acp.local / admin1234
# (由 scripts/utils/seed_admin.py 初始化;在暴露 stack 之前进行轮换)
```
## SDK 快速开始
```
pip install 'aegis-anthropic==1.1.2' 'aegis-openai==1.1.2' \
'aegis-langchain==1.1.3' 'aegis-bedrock==1.1.3'
```
封装你现有的 SDK 客户端 —— 每次工具调用在到达提供商之前都会通过 Aegis 路由。SDK 默认使用 `https://aegisagent.in`,因此在标准部署中 `aegis_url=` 是可选的:
```
from aegis_anthropic import AegisAnthropic
client = AegisAnthropic(
aegis_key="acp_…",
aegis_url="https://aegisagent.in", # default; override for self-host
tenant_id="…",
agent_id="…",
api_key="sk-ant-…", # your Anthropic key
)
resp = client.messages.create(model="claude-sonnet-4-5", tools=[…], messages=[…])
```
`aegis-openai`、`aegis-langchain` 和 `aegis-bedrock` 的结构相同。详见
[`docs/integrations/sdk-wrappers.md`](docs/integrations/sdk-wrappers.md)。
## 验证证据包 (离线,无需 Aegis 账户)
审计链格式作为开放规范 **AEVF (Aegis Evidence Verification Format) `aevf/0.1.0`** 发布。审计员可以下载 Aegis 导出的任何证据包,并在不联系我们的基础设施的情况下进行验证:
```
pip install 'aegis-aevf==1.1.0'
aegis-verify --bundle bundle.json
```
验证器运行六项独立检查 (V1–V6)。规范、审计员清单和确定性参考包详见:
[`docs/AEVF/`](docs/AEVF/)。
## 文档
根目录下的标准参考:
| 文件 | 范围 |
|---|---|
| [`agies-bussiness.md`](agies-bussiness.md) | Aegis 是什么、不是什么、实时证据、差距 —— 背景简报 v1.3.0 |
| [`ARCHITECTURE.md`](ARCHITECTURE.md) | 服务映射、请求 pipeline、数据模型 |
| [`API.md`](API.md) | HTTP 接口 —— auth、/execute、/storylines、/iag、/remediation、/threat-intel |
| [`SECURITY.md`](SECURITY.md) | 威胁模型、加密、密钥处理、漏洞报告 |
| [`docs/operations/deployment.md`](docs/operations/deployment.md) | AWS 参考部署 + 本地 Docker |
| [`CONTRIBUTING.md`](CONTRIBUTING.md) | 开发设置、分支模型、测试门禁 |
| [`CHANGELOG.md`](CHANGELOG.md) | 版本变更记录 |
更多深入参考请见 [`docs/`](docs/) (GitBook 布局;目录请见
[`docs/SUMMARY.md`](docs/SUMMARY.md))。
### 采购与审计文档
面向 CISO、首席安全架构师及客户隐私顾问:
| 文件 | 范围 |
|---|---|
| [`docs/security/threat-model.md`](docs/security/threat-model.md) | 正式的基于资产的 STRIDE 模型,包含 file:line 缓解措施引用的前 10 大威胁排名 |
| [`docs/security/dpa-template.md`](docs/security/dpa-template.md) | 数据处理协议模板 (工程起草,待法律审查) |
| [`docs/security/baa-template.md`](docs/security/baa-template.md) | HIPAA 业务伙伴协议模板 (工程起草,待法律审查) |
| [`docs/operations/incident-response.md`](docs/operations/incident-response.md) | Sev-0..3 级别分类,72 小时客户通知 SLO,14 天事后总结 SLA |
| [`docs/operations/retention-policy.md`](docs/operations/retention-policy.md) | 10 年审计 / 90 天操作日志 / 24 个月 PII / 30 天离职处理时间窗口 |
| [`docs/operations/disaster-recovery.md`](docs/operations/disaster-recovery.md) | 面向客户的 RTO 4 小时 / RPO 15 分钟态势 + 演练日志 |
## 仓库布局
```
services/ 12 FastAPI microservices (gateway is the entry point)
sdk/ shared internal Python helpers
integrations/ aegis-anthropic / aegis-openai / aegis-langchain / aegis-bedrock SDKs
tools/ aegis_verify (publishes as aegis-aevf on PyPI)
ui/ React + Vite admin console (served by nginx)
voice-agent/ LiveKit-based voice guide (separate deployment)
infra/ docker-compose + terraform (modules + environments/{dev,prod-ha})
tests/ pytest suites — security/, policy/, eval/, integration/
docs/ GitBook reference documentation
```
## 生产环境参考部署
已发布的参考实现位于 [`infra/terraform/environments/prod-ha/`](infra/terraform/environments/prod-ha/):
* 区域: `ap-south-1` (孟买)
* 多可用区 ALB 后的 ASG 中有 2× `m6g.medium` EC2
* RDS PostgreSQL `db.t3.small` 多可用区
* ElastiCache Redis (2 个节点,已启用自动故障转移)
* NAT 网关,S3 + DynamoDB VPC 网关 endpoint
* CloudTrail 多区域追踪,S3 默认加密
* AWS Secrets Manager 用于 runtime 凭证
* AWS KMS 客户密钥用于收据签名信封加密
本地构建/部署使用 `docker compose`,prod-ha 推送使用 Terraform + SSM。详见 [`docs/operations/deployment.md`](docs/operations/deployment.md)。
## License
Apache 2.0。详见 [LICENSE](LICENSE)。
安全披露:[SECURITY.md](SECURITY.md)。
标签:AI安全, Chat Copilot, LLMOps, Streamlit, 审计日志, 授权网关, 控制平面, 搜索引擎查询, 测试用例, 漏洞利用检测, 访问控制, 请求拦截, 逆向工具