yingchen-coding/safety-harness

GitHub: yingchen-coding/safety-harness

一个将 Agentic LLM 的红队测试、回归测试、发布门控与事件重放串联为闭环的安全测试框架,解决 Agent 安全故障发现后缺乏持续工程化追踪的问题。

Stars: 0 | Forks: 0

# safety-harness [![CI](https://static.pigsec.cn/wp-content/uploads/repos/cas/ad/ad5834178f7599af9fdda11629d49cae07f2997beec49821b2920eff5bfd50e7.svg)](https://github.com/yingchen-coding/safety-harness/actions/workflows/ci.yml) [![License: CC BY-NC 4.0](https://img.shields.io/badge/license-CC%20BY--NC%204.0-lightgrey.svg)](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绕过, 软件测试, 逆向工具