7P3ng/aegis

GitHub: 7P3ng/aegis

Aegis 是一个自动化 LLM 红队测试与评估平台,通过自适应攻击代理对目标模型进行对抗性测试,并以确定性方式量化分层防御的效果。

Stars: 0 | Forks: 0

# Aegis — 自动化红队测试平台 一个自适应攻击者**代理**针对目标模型进行红队测试,包含两个无害的代理威胁,并进行 **确定性**评分;分层防御随后能以可量化的程度降低攻击成功率(ASR)。 三项结果,均由测试框架产生,且可通过已提交的固定数据零成本复现: 统计学上显著的自适应提升、-28% 的分层防御削减率,以及显著的 **跨模型**鲁棒性差距(推理模型能更好地抵御攻击——直到被防御强化)。 **▶ 实时仪表盘:https://7p3ng.github.io/aegis/**

Aegis dashboard hero

## 核心结果 基准测试:**12 个场景**(6 个 canary + 6 个注入)× **12 种技术** × **n=2 次重复** 在 temperature 为 0.7、K=2 的条件下进行,攻击者 = `deepseek-chat`(已固定,因此我们比较的是*目标*的鲁棒性)。 两个目标,**一次线上运行,总计 $1.00**(`deepseek-v4-pro` $0.73 + `deepseek-chat` $0.27, 按 deepseek-chat 目录价格计算)。采用带种子的 95% bootstrap 置信区间;配对 McNemar 检验用于自适应分析; 双比例 z 检验用于跨模型分析。使用 `make eval-dry` 进行复现。 **1. 自适应提升(统计学上显著)。** 在主要目标 `deepseek-v4-pro` 上, 2 轮自适应攻击者将 ASR 从 **24.0%**(单轮,CI 19.1–28.8%)提升至 **29.9%** (CI 24.3–35.1%) —— **+5.9%**。试验按(场景、技术、重复)配对;McNemar 检验 在差异单元格上得出 **b=17, c=0, p≈0 —— 在** 0.05 水平上显著。(在最初的小规模 基准测试中,这个相同的效应只是一个单独的差异单元格,p=1.0;规模化才使其变得 可衡量 —— 详见报告。) **2. 防御削减。** 分层防御在主要目标上将自适应 ASR 削减了 **29.9% → 1.7% (-28.1%)**。 各层边际贡献:prompt-hardening -12.2%,input classifier -15.6%,output canary-scan -0.3%(该扫描值很小,因为 hardening + classifier 已经阻挡了大部分攻击; 相邻条件的 CI 存在重叠,因此应将边际值视为方向性参考)。 **3. 跨模型:推理模型的鲁棒性显著更强。** 相同的攻击者,两个 目标,自适应 + 无防御状态: | 指标 (adaptive) | `deepseek-v4-pro` | `deepseek-chat` | p (2-prop) | |---|---|---|---| | Injection ASR | **49.3%** | 68.1% | **0.0012** ✷ | | Canary ASR | **10.4%** | 21.5% | **0.010** ✷ | | Overall ASR | **29.9%** | 44.8% | **0.0002** ✷ | | 完整防御栈下的 ASR | 1.7% | 2.8% | 0.40 (n.s.) | 推理模型 (`v4-pro`) 在抵御 injection 和 canary 提取方面明显优于 非推理模型 (`deepseek-chat`) —— 但是**分层防御抹平了这一差距** (1.7% 对 2.8%,不显著)。这是一个真实的比较安全性发现,而不是三个充满噪声的列: 每个单元格 n=144–288。为了保持低成本,此处的跨模型目标仅限于 DeepSeek;当存在 API key 时,测试框架 支持 `--targets`(例如 `gpt-4o-mini`)。完整分析 + 效度威胁: [`docs/writeup.md`](docs/writeup.md)。 ## 架构

Aegis architecture

- **`redteam/`** — 场景(6 个带标签的 canary + injection),12 种技术分类, 自适应攻击者 agent,目标适配器(policy + untrusted-data framing), 确定性判定器,三层可堆叠防御,以及 gauntlet 运行器。 - **`evals/`** — ASR + 消融实验 + bootstrap CI;默认空运行、受成本控制的运行器,带有 降级运行保护;已提交的 fixtures + 结果。 - **`ui/`** — 静态 Next.js 仪表盘:ASR 核心展示、技术×场景热力图、各层 消融柱状图,以及可浏览的**攻击日志**(包含每一次真实对话记录及显示的阻挡 层)。 - **`core/`** — [Quorum](#credits) 内核:可 mock 的 `ModelClient` 接缝(Fake / Recorded / DeepSeek),SQLite 追踪,fan-out/retry 编排器,定价,以及带种子的 bootstrap CI。 ## 快速开始 ``` python -m venv .venv && source .venv/bin/activate pip install -e ".[dev]" make eval-dry # replays committed fixtures, reproduces the numbers above, $0 cost make test # ruff + mypy + pytest (incl. the reproduction test) # 仪表板 cd ui && npm install && npm run build && npx serve out # then open the printed URL ``` 线上运行(重新记录 fixtures,收费)是可选择加入且受成本控制的 —— 它需要 `AEGIS_LIVE=1`, 在进行第一次付费调用之前会打印 token/cost 估算,并拒绝超过 `AEGIS_MAX_USD` (默认 $1.00): ``` source /path/to/deepseek.env # sets OSSLLM_API_KEY / OSSLLM_MODEL / OSSLLM_URL AEGIS_LIVE=1 make eval-live ``` 跨模型目标(Claude / GPT)由操作员通过 `ANTHROPIC_API_KEY` / `OPENAI_API_KEY` 进行控制; 如果密钥缺失,它们将被忽略而不是被捏造。 ## 为什么这是值得信赖的 - **确定性评分。** Canary 泄露和 injection 劫持均可通过精确匹配进行检查;ASR 没有 评判模型的方差。LLM 仅用作*攻击者*和可选的*input classifier* —— 绝不用于决定是否成功。 - **可复现。** 一次线上运行会被记录(memoized,single-flight)到 fixtures 中; 空运行会确定性地重放它们,并且测试会断言已提交的数字能够复现。 - **没有捏造的数字。** 如果运行被 截断或为空,运行器将中止(从不写入 0% 的标题结果),并拒绝启动估算超过成本上限的线上运行。 ## 致谢 内核 (`core/`) 和评分辅助工具 (`evals/grade.py`) 引用并改编自 **Quorum**, 这是同一作者先前的制品 —— 底层基座在第二个项目中发挥作用也是该故事的 一部分。质量把控:`ruff` + `mypy` + `pytest` 通过,并且由 GitHub Actions CI 运行 lint / type / 测试 / 空运行复现 / UI 构建。 ## License MIT — 详见 [`LICENSE`](LICENSE)。
标签:AI安全, Chat Copilot, DLL 劫持, 人工智能, 大语言模型, 安全规则引擎, 提示注入防护, 用户模式Hook绕过, 自动化红队, 自动化评估, 逆向工具