yingchen-coding/safety-harness
GitHub: yingchen-coding/safety-harness
一个将 Agentic LLM 的红队测试、回归测试、发布门控与事件重放串联为闭环的安全测试框架,解决 Agent 安全故障发现后缺乏持续工程化追踪的问题。
Stars: 0 | Forks: 0
# safety-harness
[](https://github.com/yingchen-coding/safety-harness/actions/workflows/ci.yml)
[](LICENSE)
一个**用于 Agentic LLM 的闭环安全测试框架** —— 发现故障,将其锁定为回归测试,对发布进行门控,并重放真实事件。
每个阶段都是一个独立的模块;它们共同构成了一个闭环:
```
┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ stress- │──▶│ regression- │──▶│ release- │──▶│ incident- │
│ testing │ │ suite │ │ gate │ │ lab │
└──────────────┘ └──────────────┘ └──────────────┘ └──────────────┘
surface slow- pin failures as block a release replay & root-
burn failures regression tests that regresses cause incidents
▲ │
└────────────────── feeds new cases back ◀───────────────┘
```
……所有这些都针对**模拟器**(一个可控的被测 Agent)执行,并由端到端的
**demo** 编排器驱动。
## 核心理念验证
此代码仓库支持这样一个公开的核心理念声明:安全发现应该转化为回归测试、发布门控和事件重放产物,而不是一次性的报告。
- **问题:** 红队发现、回归测试、发布决策和事件通常存在于独立的系统中。
- **方法:** 该测试框架将压力测试、回归生成、发布门控和事件重放连接成一个闭环。
- **结果:** `make demo` 会在 `demo/artifacts/` 下生成审查者可见的产物,包括压力测试故障、回归测试、门控报告和事件重放输出。
- **审查者路径:** 运行 `cd demo && make demo`,打开 `demo/artifacts/gate_report.html`,然后检查 `demo/artifacts/incident_replay.json`。
- **设计说明:** [面向 Agentic AI 的生产就绪](docs/production-readiness.md) 解释了为什么安全应该被视为一个工程闭环,而不是最终的审查步骤。
## 为什么这很重要
Agent 的安全故障很少仅仅局限于一个单一的领域。红队的发现需要转化为回归测试;回归测试需要阻止发布;事件需要增加新的场景。safety-harness 将这些步骤紧密连接起来,使得安全工作不会因为一份一次性的报告而终止。
当你需要以下内容的可运行骨架时,请使用它:
- 发现缓慢演变的 Agent 故障
- 将故障转化为回归用例
- 在安全指标发生回归时阻止发布
- 将事件重放为根因图
- 在一个 demo 中展示整个闭环
## 阶段
| 阶段 | 作用 |
|---|---|
| [`stress-testing/`](stress-testing/) | 静态 + 自适应的红队测试,用于揭示*延迟性*(缓慢演变)的安全故障,包含攻击变异器、模板目录和统计功效分析。 |
| [`regression-suite/`](regression-suite/) | 通过可插拔的评估适配器(滥用、红队测试、流量),将发现的故障转化为确定性的回归测试套件。 |
| [`release-gate/`](release-gate/) | 一个生产级的评估 pipeline,用于计算安全预算,并在安全指标发生回归时**阻止发布**。 |
| [`incident-lab/`](incident-lab/) | 可复现的事件重放 + 因果图根因分析,带有能够集成其他各个阶段的适配器。 |
| [`simulator/`](simulator/) | 一个可控的 Agent(规划器 / 内存 / 工具 / 执行器),用作被测系统。 |
| [`demo/`](demo/) | 整个闭环的一次端到端运行:压力测试 → 回归测试 → 发布门控 → 事件重放。 |
## 运行
每个阶段都可以独立运行和测试。在某个阶段目录下:
```
cd stress-testing
pip install -r requirements.txt # if present
PYTHONPATH=. python -m pytest -q # run that stage's tests
```
`demo/` 阶段负责端到端编排整个 pipeline。
## 快速开始
```
git clone https://github.com/yingchen-coding/safety-harness
cd safety-harness/demo
pip install -r requirements.txt
make demo
```
## License
CC BY-NC 4.0 — 见 [LICENSE](LICENSE)。
标签:AI安全, Chat Copilot, DLL 劫持, LLM治理, pocsuite3, 人工智能, 多模态安全, 大语言模型, 开源框架, 持续集成, 用户模式Hook绕过, 软件测试, 逆向工具