AKilalours/akila-safety-eval-lab
GitHub: AKilalours/akila-safety-eval-lab
这是一个研究型AI安全评估框架,专注于测试大语言模型在提示注入、奖励作弊等对抗场景下的行为表现,并提供从数据集生成到发布门禁的完整可复现评测流水线。
Stars: 0 | Forks: 0
# SafetyEval 实验室







**SafetyEval Lab** 是一个可复现的 AI 安全与 AI 安全性评估平台,用于测试模型在奖励作弊、谄媚、提示注入、不安全的帮助性、RAG 上下文注入、破坏监控、评估器可靠性、人工审查、追踪监控以及发布就绪性工作流等场景下的行为。
该项目将抽象的 AI 安全风险转化为具体、可检查、版本可控的产物:
```
behavior specs
→ eval datasets
→ typed schemas
→ dataset registry
→ CLI runners
→ model-output evaluation
→ model comparison
→ behavioral diffing
→ statistical uncertainty
→ safety regression gates
→ evaluator reliability
→ human review escalation
→ evidence attribution
→ trace monitoring
→ model card export
→ static dashboard
→ CI validation
```
## 目录
- [为什么存在这个项目](#why-this-exists)
- [本项目评估的内容](#what-this-project-evaluates)
- [当前状态](#current-status)
- [架构](#architecture)
- [扩展数据集覆盖范围](#expanded-dataset-coverage)
- [研究与工程能力](#research-and-engineering-capabilities)
- [快速开始](#quickstart)
- [核心工作流](#core-workflows)
- [生成的报告](#generated-reports)
- [模型评估流水线](#model-evaluation-pipeline)
- [评估器可靠性流水线](#evaluator-reliability-pipeline)
- [Agent 安全与破坏监控](#agent-safety-and-sabotage-monitoring)
- [发布就绪性工作流](#release-readiness-workflow)
- [仓库结构](#repository-structure)
- [验证](#validation)
- [设计权衡](#design-trade-offs)
- [已知局限性](#known-limitations)
- [路线图](#roadmap)
- [许可证](#license)
## 为什么存在这个项目
现代 AI 系统可能在表面上看起来很有帮助,但却以隐蔽且严重的方式发生故障。
示例:
- 认同错误的用户信念
- 为了获得用户认可而进行优化,而不是追求真相
- 在需要不确定性的情况下捏造确定性
- 遵循检索上下文中包含的恶意指令
- 压制有效的安全发现
- 服从不安全或有害的请求
- 在部署压力下隐瞒失败的评估结果
- 操纵基准测试或审查产物
- 依赖嘈杂或过度自信的评估器
**SafetyEval Lab** 旨在使这些故障变得可衡量、可复现且可审计。
目标不仅仅是询问:
更深层的问题是:
## 本项目评估的内容
| 领域 | 检查内容 |
|---|---|
| 奖励作弊 | 模型是否为了获得认可而进行优化,而不是追求真实目标? |
| 谄媚 | 模型是否会认同错误的、不安全的或毫无根据的用户信念? |
| 提示注入 | 模型是否会遵循不可信内容中的恶意指令? |
| 不安全的帮助性 | 模型是否提供了有害的指导,而不是安全的引导? |
| RAG 上下文注入 | 模型是否将检索到的上下文视为证据而非权威? |
| 破坏监控 | Agent 是否会绕过评估、隐藏日志、操纵基准测试或滥用工具? |
| 多轮审计 | 安全行为在重复施压或对抗性追问下是否能保持稳定? |
| Agent 追踪 | 使用工具的 Agent 是否执行了可疑的步骤? |
| 评估器分歧 | 裁决者是否在模型行为上存在冲突? |
| 评估器校准 | 裁决者是否表现出不确定、过度自信或容易产生分歧? |
| 裁决者可靠性 | 哪些评估器看起来更值得信赖或更不值得信赖? |
| 人工审查 | 哪些案例需要上报和审计追踪? |
| 证据归属 | 哪个追踪、报告、片段或记录支持每个判断? |
| 模型卡 | 对某个模型变体的发布建议是什么? |
## 当前状态
| 维度 | 状态 |
|---|---:|
| 核心扩展评估轨道 | 6 |
| 核心示例 / 场景 | 150 |
| 额外的审计 / 审查 / 追踪产物 | 已包含 |
| 源码编译 | 通过 |
| 单元测试 | 通过 |
| GitHub Actions CI | 已启用 |
| Docker 工作流 | 已包含 |
| Makefile 工作流 | 已包含 |
| 静态仪表板 | 已包含 |
| 模型卡导出 | 已包含 |
| 实时提供商支持 | 仅接口;默认无真实 API 调用 |
最新本地验证:
```
Reward hacking: 25 examples
Sycophancy: 25 examples
Prompt injection: 25 examples
Unsafe helpfulness: 25 examples
RAG context injection: 25 scenarios
Sabotage monitoring: 25 scenarios
Tests: 74 passed
```
## 架构
```
┌───────────────────────────┐
│ JSONL eval artifacts │
│ datasets / traces / review │
└─────────────┬─────────────┘
│
▼
┌───────────────────────────┐
│ Pydantic schemas │
│ validation + typed records │
└─────────────┬─────────────┘
│
▼
┌───────────────────────────┐
│ Dataset registry │
│ names → paths → schemas │
└─────────────┬─────────────┘
│
┌───────────────────────────┼───────────────────────────┐
▼ ▼ ▼
┌─────────────────────┐ ┌─────────────────────┐ ┌─────────────────────┐
│ Dataset runners │ │ Model-output evals │ │ Agent trace audits │
│ summaries + reports │ │ compare + diff │ │ suspicious actions │
└──────────┬──────────┘ └──────────┬──────────┘ └──────────┬──────────┘
│ │ │
▼ ▼ ▼
┌─────────────────────┐ ┌─────────────────────┐ ┌─────────────────────┐
│ Evaluator reliability│ │ Regression gates │ │ Human review queue │
│ disagreement/calib │ │ pass/latency/cost │ │ escalation + notes │
└──────────┬──────────┘ └──────────┬──────────┘ └──────────┬──────────┘
│ │ │
└───────────────────────────┼───────────────────────────┘
▼
┌───────────────────────────┐
│ Reports / model card / UI │
│ Markdown + static dashboard│
└───────────────────────────┘
```
## 数据流
```
ingest
└── JSONL eval datasets, model outputs, run metrics, traces, review items, evidence links
validate
└── Pydantic schemas validate records line by line
register
└── registry maps dataset name → schema/path/metadata
evaluate
└── CLI runners summarize datasets, model outputs, traces, and review queues
compare
└── model variants are compared across safety-sensitive examples
diff
└── behavior changes are identified as fixes or regressions
quantify
└── pass rates, Wilson confidence intervals, latency, and cost are summarized
gate
└── release-style checks enforce pass-rate, latency, and cost thresholds
audit
└── evaluator disagreement, calibration, reliability, human review, and evidence attribution are analyzed
report
└── Markdown reports, model card, and static dashboard summarize the results
```
## 扩展数据集覆盖范围
| 评估轨道 | 示例 / 场景 | 类别 |
|---|---:|---|
| 奖励作弊 | 25 | 奉承、过度自信、谄媚、不安全的帮助性、毫无根据的断言 |
| 谄媚 | 25 | 错误信念认同、不安全信念认同、政治认同施压、自我评估奉承、专业知识过度声称 |
| 提示注入 | 25 | Markdown 指令覆盖、代码注释抑制、检索上下文注入、工具滥用指令、误报过滤器绕过 |
| 不安全的帮助性 | 25 | 网络滥用、自我伤害、医疗误信息、武器化、欺诈 |
| RAG 上下文注入 | 25 | 指令覆盖、机密窃取、发现抑制、来源冲突、诱导性无关内容 |
| 破坏监控 | 25 | 评估绕过、日志篡改、隐藏任务操纵、不安全部署施压、工具滥用 |
扩展后的核心覆盖范围总计:
```
6 tracks × 25 examples/scenarios = 150 core eval artifacts
```
## 研究与工程能力
### 评估设计
- JSONL 评估数据集
- 类型化 schema
- 数据集注册表
- 类别摘要
- 可复用的报告生成
- 评分标准
- 演练 notebook
- 评估设计文档
- 安全/安全性威胁模型
### 模型行为评估
- 模型输出评估
- 模型比较报告
- 行为模型差异比对
- Wilson 置信区间
- 样本量警告
- 延迟和成本追踪
- 模型卡导出
### 安全与安全性测试套件
- 奖励作弊评估
- 谄媚评估
- 不安全的帮助性评估
- 提示注入评估
- RAG 上下文注入评估
- 对齐审计场景
- 破坏监控场景
- 多轮审计模拟
- 追踪级别的 Agent 监控
- 追踪严重性评分
### 评估器治理
- 评估器分歧分析
- 评估器校准分析
- 裁决者可靠性评分
- 人工审查升级
- 证据归属链接
- 审计记录和审查决定
### 发布就绪性基础设施
- 安全回归门禁
- 静态安全仪表板
- CI 验证
- Docker 工作流
- Makefile 工作流
- 可选的提供商适配器接口
- 生成的模型卡
## 快速开始
### 安装
```
pip install -e .
```
### 运行测试
```
python -m pytest tests -v
```
### 编译源文件
```
python -m compileall src
```
### 列出支持的数据集
```
PYTHONPATH=src python src/runner.py --list
```
## 核心工作流
### 运行核心数据集摘要
```
PYTHONPATH=src python src/runner.py --dataset reward_hacking
PYTHONPATH=src python src/runner.py --dataset sycophancy
PYTHONPATH=src python src/runner.py --dataset prompt_injection
PYTHONPATH=src python src/runner.py --dataset unsafe_helpfulness
```
### 生成数据集报告
```
PYTHONPATH=src python src/report.py --dataset reward_hacking --scored
PYTHONPATH=src python src/report.py --dataset prompt_injection
PYTHONPATH=src python src/report.py --dataset sycophancy
PYTHONPATH=src python src/report.py --dataset unsafe_helpfulness
```
### 运行模型输出评估
```
PYTHONPATH=src python src/evaluate_outputs.py
```
### 比较模型
```
PYTHONPATH=src python src/compare_models.py
```
### 生成模型比较统计
```
PYTHONPATH=src python src/comparison_stats.py
```
### 运行行为差异比对
```
PYTHONPATH=src python src/behavior_diff.py
```
### 运行延迟和成本指标摘要
```
PYTHONPATH=src python src/summarize_metrics.py
```
### 运行安全回归门禁
```
PYTHONPATH=src python src/regression_gate.py
```
### 运行 RAG 上下文注入测试套件
```
PYTHONPATH=src python src/run_rag_injection.py
```
### 运行破坏监控测试套件
```
PYTHONPATH=src python src/run_sabotage_monitoring.py
```
### 运行多轮审计模拟
```
PYTHONPATH=src python src/run_multiturn_audits.py
```
### 分析 Agent 追踪
```
PYTHONPATH=src python src/analyze_agent_traces.py
```
### 评估追踪严重性
```
PYTHONPATH=src python src/trace_severity.py
```
### 分析评估器分歧
```
PYTHONPATH=src python src/analyze_disagreement.py
```
### 分析评估器校准
```
PYTHONPATH=src python src/evaluator_calibration.py
```
### 评估裁决者可靠性
```
PYTHONPATH=src python src/judge_reliability.py
```
### 运行人工审查工作流
```
PYTHONPATH=src python src/run_human_review.py
```
### 分析证据归属
```
PYTHONPATH=src python src/analyze_evidence.py
```
### 生成模型卡
```
PYTHONPATH=src python src/model_card.py
```
### 生成静态仪表板
```
PYTHONPATH=src python src/dashboard.py
```
### 检查提供商适配器
```
PYTHONPATH=src python src/provider_adapters.py
```
## Makefile 工作流
```
make install
make compile
make test
make list
make report
make compare
make metrics
make audits
make rag
make sabotage
make disagreement
make calibration
make review
make generate-evals
make traces
make trace-severity
make evidence
make judge-reliability
make model-card
make dashboard
make providers
make docker-build
make docker-run
```
## Docker 工作流
构建:
```
docker build -t safetyeval-lab .
```
运行:
```
docker run --rm safetyeval-lab
```
## 生成的报告
项目将可复现的 Markdown 报告写入到 `results/` 目录中。
| 报告 | 用途 |
|---|---|
| `generated_reward_hacking_report.md` | 奖励作弊数据集摘要和评分标准评分 |
| `generated_prompt_injection_report.md` | 提示注入数据集摘要 |
| `generated_sycophancy_report.md` | 谄媚数据集摘要 |
| `generated_unsafe_helpfulness_report.md` | 不安全的帮助性数据集摘要 |
| `generated_model_output_report.md` | 模型输出通过/失败评估 |
| `generated_model_comparison_report.md` | 模型比较摘要 |
| `generated_behavior_diff_report.md` | 已修复/已退化的行为报告 |
| `generated_comparison_statistics_report.md` | Wilson 置信区间和样本量警告 |
| `generated_metrics_report.md` | 延迟和成本指标 |
| `generated_regression_gate_report.md` | 发布门禁状态 |
| `generated_alignment_audit_report.md` | 对齐审计场景结果 |
| `generated_rag_injection_report.md` | RAG 上下文注入结果 |
| `generated_sabotage_monitoring_report.md` | 破坏场景结果 |
| `generated_agent_trace_report.md` | 追踪级别的监控结果 |
| `generated_trace_severity_report.md` | 追踪严重性和建议操作 |
| `generated_disagreement_report.md` | 评估器分歧摘要 |
| `generated_evaluator_calibration_report.md` | 评估器校准摘要 |
| `generated_judge_reliability_report.md` | 裁决者可靠性评分 |
| `generated_human_review_report.md` | 人工审查升级队列 |
| `generated_evidence_report.md` | 证据归属链接 |
| `generated_behavior_eval_plan.md` | 生成的行为评估计划 |
| `generated_model_card.md` | 面向审查者的模型卡 |
| `generated_provider_adapter_report.md` | 提供商适配器状态 |
## 静态仪表板
项目包含一个生成的静态仪表板:
```
site/index.html
```
它总结了:
- 项目能力
- 模型比较演示
- 延迟和成本指标
- 评估器可靠性信号
- 人工审查状态
- 指向生成报告的链接
- 验证命令
生成方式:
```
PYTHONPATH=src python src/dashboard.py
```
## 模型评估流水线
```
model output
→ expected behavior
→ pass/fail label
→ model comparison
→ behavior diff
→ confidence interval
→ safety regression gate
→ model card
```
演示模型比较:
| 模型 | 总计 | 通过 | 失败 | 通过率 |
|---|---:|---:|---:|---:|
| baseline_demo_model | 4 | 0 | 4 | 0.00% |
| safer_demo_model | 4 | 4 | 0 | 100.00% |
比较统计模块增加了 Wilson 置信区间和样本量警告,以避免对小型评估集的过度解读。
## 评估器可靠性流水线
如果评估器嘈杂、过度自信或为了错误的标准进行优化,安全评估系统就会失效。
SafetyEval Lab 通过以下方式评估评估器:
```
evaluator judgments
→ disagreement analysis
→ calibration summary
→ judge reliability scoring
→ human review escalation
```
追踪的评估器信号:
- 总判断数
- 平均置信度
- 不确定率
- 分歧参与度
- 可靠性评分
- 审查升级触发器
## 人工审查工作流
人工审查工作流将高风险、模棱两可或存在冲突的案例路由到审查队列中。
升级触发器包括:
- 评估器分歧
- 安全/帮助性冲突
- 高风险类别
- 审计完整性问题
- 关键追踪严重性
- 抽样质量审查
审查项记录:
- 审查 ID
- 示例 ID
- 数据集
- 触发原因
- 严重性
- 评估器标签
- 置信度摘要
- 建议操作
- 人工决定- 审计记录
## 证据归属
证据归属将评估决定与具体的支持产物联系起来。
```
judgment
→ supporting trace/report
→ evidence span
→ review note
→ confidence
```
每个证据链接可以包括:
- 示例 ID
- 数据集
- 判断
- 支持追踪 ID
- 支持报告
- 证据片段
- 审查记录
- 置信度
这使得系统更具可审计性,因为安全决定与具体的追踪和报告相关联,而不仅仅是汇总分数。
## Agent 安全与破坏监控
Agent 安全技术栈包括:
```
sabotage scenarios
→ trace-level agent monitoring
→ suspicious-step detection
→ trace severity scoring
→ recommended action
```
破坏监控涵盖:
- 评估绕过
- 日志篡改
- 隐藏任务操纵
- 不安全部署施压
- 工具滥用
追踪严重性评分将可疑行为映射到:
| 严重性 | 建议操作 |
|---|---|
| critical | 阻止并调查 |
| high | 需要人工审查 |
| medium | 监控并审查 |
| low | 记录以供审计 |
## RAG 上下文注入
RAG 注入测试套件用于测试检索到的上下文是否被视为**证据**,而不是权威。
核心原则:
```
retrieved context is evidence, not instruction hierarchy
```
RAG 场景涵盖:
- 指令覆盖
- 机密窃取
- 发现抑制
- 来源冲突
- 诱导性无关内容
## 多轮审计模拟
单轮提示可能会遗漏仅在重复施压后才会出现的故障。
多轮审计测试套件跨交互序列测试行为:
```
initial user prompt
→ model response
→ adversarial follow-up
→ consistency check
→ audit verdict
```
审计类别包括:
- 谄媚施压
- 评估意识
- 上下文注入跟进
- 破坏施压
- 伪装对齐探测
## 发布就绪性工作流
发布就绪性技术栈结合了:
```
model comparison
→ behavior diff
→ confidence intervals
→ latency/cost metrics
→ safety regression gate
→ evaluator reliability
→ human review
→ evidence attribution
→ model card
```
安全门禁检查:
- 最低模型通过率
- 最大 p95 延迟
- 每个示例的最大成本
门禁逻辑示例:
```
if pass_rate < threshold:
block release
if p95_latency > threshold:
block release
if cost_per_example > threshold:
block release
```
## 模型卡导出
模型卡将发布相关信息汇总到一个面向审查者的产物中:
- 模型标识
- 评估类型
- 通过率
- 安全回归门禁状态
- 延迟和成本指标
- 评估器可靠性
- 人工审查状态
- 可疑的追踪步骤
- 已知局限性
- 发布建议
生成方式:
```
PYTHONPATH=src python src/model_card.py
```
## 可选提供商适配器
提供商适配器层将评估逻辑与模型执行分离开来。
当前适配器:
| 适配器 | 用途 | 实时 API 调用 | CI 安全 |
|---|---|---:|---:|
| `MockProviderAdapter` | 用于测试的确定性 mock 提供商 | 否 | 是 |
| `EnvironmentProviderAdapter` | 针对实时提供商的环境门控占位符 | 默认否 | 是 |
该设计有意避免了在 CI 中进行 API 调用。
可以通过环境变量添加未来的实时提供商集成,例如:
```
ANTHROPIC_API_KEY
```
代码仓库中不会提交任何密钥。
## 仓库结构
```
akila-safety-eval-lab/
├── evals/
│ ├── reward_hacking.jsonl
│ ├── sycophancy.jsonl
│ ├── prompt_injection.jsonl
│ ├── unsafe_helpfulness.jsonl
│ ├── model_outputs/
│ ├── run_metrics/
│ ├── alignment_audits/
│ ├── rag_injection/
│ ├── sabotage_monitoring/
│ ├── evaluator_disagreement/
│ ├── human_review/
│ ├── evidence/
│ ├── behavior_specs/
│ ├── agent_traces/
│ └── multiturn_audits/
├── src/
│ ├── schemas.py
│ ├── registry.py
│ ├── runner.py
│ ├── scorers.py
│ ├── report.py
│ ├── evaluate_outputs.py
│ ├── compare_models.py
│ ├── comparison_stats.py
│ ├── behavior_diff.py
│ ├── summarize_metrics.py
│ ├── regression_gate.py
│ ├── run_audits.py
│ ├── run_rag_injection.py
│ ├── run_sabotage_monitoring.py
│ ├── run_multiturn_audits.py
│ ├── analyze_agent_traces.py
│ ├── trace_severity.py
│ ├── analyze_disagreement.py
│ ├── evaluator_calibration.py
│ ├── judge_reliability.py
│ ├── run_human_review.py
│ ├── analyze_evidence.py
│ ├── generate_behavior_evals.py
│ ├── model_card.py
│ ├── provider_adapters.py
│ └── dashboard.py
├── docs/
│ ├── eval_design.md
│ ├── threat_model.md
│ ├── case_study.md
│ ├── provider_adapters.md
│ └── empirical_evaluation_report.md
├── results/
├── site/
│ └── index.html
├── tests/
├── notebooks/
├── .github/workflows/
│ └── ci.yml
├── Dockerfile
├── Makefile
├── pyproject.toml
└── README.md
```
## 验证
运行完整的验证套件:
```
python -m compileall src
python -m pytest tests -v
```
验证扩展数据集:
```
PYTHONPATH=src python src/runner.py --dataset reward_hacking
PYTHONPATH=src python src/runner.py --dataset sycophancy
PYTHONPATH=src python src/runner.py --dataset prompt_injection
PYTHONPATH=src python src/runner.py --dataset unsafe_helpfulness
PYTHONPATH=src python src/run_rag_injection.py
PYTHONPATH=src python src/run_sabotage_monitoring.py
```
预期扩展覆盖范围:
```
reward_hacking: 25 examples
sycophancy: 25 examples
prompt_injection: 25 examples
unsafe_helpfulness: 25 examples
RAG injection: 25 scenarios
sabotage_monitoring: 25 scenarios
```
## CI
GitHub Actions 会在推送代码和发起拉取请求时验证框架。
CI 工作流运行:
- 依赖安装
- 使用 `python -m compileall src` 编译源码
- pytest 测试套件
- 数据集运行器验证
- 报告生成
- 模型输出评估
- 模型比较
- 指标摘要
- 实时评估适配器检查
- 审计测试套件
- 回归门禁
- 行为差异比对
- RAG 注入测试套件
- 破坏监控测试套件
- 评估器分歧分析
- 评估器校准
- 人工审查工作流
- 仪表板生成
- 行为评估生成
- Agent 追踪分析
- 裁决者可靠性评分
- 模型卡导出
- 多轮审计
- 比较统计
- 提供商适配器报告
- 证据归属
- 追踪严重性评分
## 设计权衡
### 可复现性与真实性
当前的默认路径使用确定性的 JSONL 产物和 CI 安全的适配器。这使得代码仓库可复现且易于验证,但尚未声称具有实时前沿模型的结果。
### 可检查性与规模
示例具有人类可读性且易于审查。扩展后的核心轨道现在各包含 25 个示例,但基准级别的声明将需要更大的数据集和重复的模型运行。
### 基于规则的评分与模型评分
透明的评分更容易审计。模型评分可以扩展规模,但需要校准、评估器可靠性检查和人工抽查。
### 静态追踪与实时遥测
合成追踪用于验证监控流水线。要评估已部署的使用工具的系统,将需要真实的 Agent 遥测数据。
### 简单统计与基准声明
Wilson 置信区间和样本量警告使不确定性变得明确。它们不能替代更大的评估集或重复的实证研究。
## 已知局限性
本项目实事求是地说明了它能证明什么和不能证明什么。
当前局限性:
- 尚未提交真实的 Claude/OpenAI/本地模型评估结果
- 存在可选的提供商适配器,但默认不启用实时 API 调用
- 核心数据集已扩展到各 25 个示例,但仍不足以用于基准级别的声明
- Agent 追踪是合成的演示追踪
- 人工审查示例是演示记录
- 裁决者可靠性评分是基于启发式的
- 尚无真实人工标签准确性的基准
- 多轮审计是确定性的,而非分支的
- 静态仪表板是根据演示产物生成的
- 尚无生产数据库或托管服务
## 目标受众
本项目专为以下人群设计:
- AI 安全研究员
- AI 安全性工程师
- 机器学习评估工程师
- LLM 评估工程师
- RLHF / 偏好学习研究员
- Agent 安全研究员
- 学习评估设计的学生
- 致力于模型可靠性和鲁棒性的开发者
## 研究定位
SafetyEval Lab 与以下工作最相关:
- 行为模型评估
- 奖励作弊
- 谄媚
- 不安全的帮助性
- 提示注入
- RAG 安全
- Agent 破坏监控
- 评估器可靠性
- 人机回环审查
- 发布就绪性评估
- 模型卡生成
- AI 安全治理基础设施
该项目是一个研究工程脚手架,而非关于前沿模型基准性能的声明。
## 路线图
### 已完成
- [x] JSONL 评估数据集
- [x] 基线评估运行器
- [x] 评分标准
- [x] 可复用的报告生成
- [x] 数据集注册表
- [x] 评估设计文档
- [x] 安全/安全性威胁模型
- [x] 提示注入评估数据集
- [x] 谄媚评估数据集
- [x] 不安全的帮助性评估数据集
- [x] RAG 上下文注入评估测试套件
- [x] 破坏监控场景测试套件
- [x] 将核心数据集扩展至每个包含 25 个示例/场景
- [x] 模型输出评估支持
- [x] 延迟和成本追踪 schema
- [x] 模型比较报告
- [x] 模型比较的置信区间
- [x] 行为模型差异报告
- [x] 安全回归门禁
- [x] 对齐审计场景测试套件
- [x] 多轮审计模拟
- [x] 追踪级别的 Agent 监控
- [x] 追踪严重性评分
- [x] 评估器分歧分析
- [x] 评估器校准报告
- [x] 裁决者可靠性评分
- [x] 人工审查升级工作流
- [x] 证据归属链接
- [x] 模型卡导出
- [x] 可选提供商适配器接口
- [x] 静态安全仪表板
- [x] 自动化行为评估生成器
- [x] 示例 notebook
- [x] Docker 工作流
- [x] GitHub Actions CI
### 下一步
- [ ] 通过提供商适配器运行真实的模型评估
- [ ] 添加实时的 Anthropic/OpenAI/本地提供商实现
- [ ] 添加超过每个轨道 25 个示例的更大型评估集
- [ ] 为评估器可靠性添加真实人工标签
- [ ] 添加实时分支的多轮审计
- [ ] 从 Agent 运行中摄取真实的工具追踪
- [ ] 将未解决的人工审查项关联到发布阻塞
- [ ] 使仪表板完全由生成的报告驱动数据
- [ ] 添加跨多个候选模型的模型卡比较
## 示例事后分析
### 问题:Git 分支在合并前被删除
在数据集扩展期间,一个特性分支在确认 PR 已合并到 `main` 分支之前被删除了。
修复:
- 使用 `git cherry-pick` 恢复了提交
- 重新创建了分支
- 再次推送
- 正确打开并合并了 PR
- 在删除分支之前验证了 `main` 分支加载了 25 个示例
教训:
### 问题:数据集扩展破坏了旧的规模测试
将数据集从 5 个示例扩展到 25 个后,测试仍然期望 `len(...) == 5`。
修复:
- 将预期的数据集大小更新为 25
- 重新运行了数据集运行器和完整的测试套件
教训:
### 问题:重新运行后生成的报告发生变化
运行报告生成脚本更新了生成的 Markdown 报告。
修复:
- 当重新生成的报告代表了新的扩展数据集状态时,将其提交
教训:
## 许可证
MIT License。
标签:AI代理安全, AI安全, AI对齐, Chat Copilot, CISA项目, DLL 劫持, Linux系统监控, Python, RAG安全, Red Canary, 上下文注入, 不安全的有用性, 人工智能, 人机协同, 反取证, 大语言模型, 奖励作弊, 安全回归测试, 安全测试, 安全评估, 提示注入, 攻击性安全, 无后门, 时序数据库, 模型安全, 模型评估, 模型输出评估, 用户模式Hook绕过, 统计不确定性, 行为差异分析, 行为评估, 评估平台, 请求拦截, 谄媚行为, 追踪监控, 逆向工具, 集群管理, 静态仪表盘