AgentSafeLabs/safelabs-eval
Red-teaming and evaluation framework for AI agents, built around an OWASP-inspired ASI01–ASI10 taxonomy
safelabs-eval – AI 代理的红队评估框架
它是什么 – safelabs-eval 是一个开源 Python 包,允许你自动测试 代理风格 LLM 应用(例如 LangChain 代理、CrewAI 团队、AutoGen 机器人等)的安全性。它附带一个包含 300 个精选对抗性提示 的库,涵盖十个安全类别(“ASI01-ASI10” 分类法,灵感来自 OWASP)。对于每个提示,框架将请求发送到你的代理(通过 HTTP 端点或直接的 Python 可调用对象),然后对响应运行一组 基于模式的检测器(纯 Python 正则表达式/启发式检查)。结果是一个结构化报告,将每次交互分类为 VULNERABLE、FAIL、UNCERTAIN 或 PASS,并可以输出为人类可读文本或 JSON 以用于 CI 管道。
为什么重要 – 现代 LLM 代理正在生产环境中部署,但缺乏系统性的对抗性安全测试工具。safelabs-eval 填补了这一空白,无需更改代理代码、额外的 LLM 调用或专有基础设施。它为开发者提供了一种快速、可重复的方式来揭示提示注入、数据泄露、工具使用安全、幻觉和其他代理特定风险。
主要特性
- 框架无关:适用于任何通过 HTTP 暴露的代理,或通过适配器支持流行的代理库(LangChain、CrewAI、AutoGen、LlamaIndex、OpenAI Agents SDK、Google ADK、Semantic Kernel)。仅需要核心包;适配器是可选的额外组件。
- 300 个对抗性提示:每个 ASI 类别 30 个提示,每个提示都标有难度等级(1-3 级)和元数据,如 MITRE ATLAS 技术 ID。
- 零 LLM 评分:检测器是纯 Python 模式匹配器,因此评估不会增加额外的模型成本。
- CLI 和 Python API:
safelabs run …用于快速命令行测试;run_eval()用于脚本或测试套件中的编程使用。 - 结构化输出:JSON 报告包括每个提示的判定、置信度分数和修复提示,使其适用于自动化 CI/CD 检查。
- 可扩展架构:检测器继承自
BaseDetector类;新检测器可以添加并注册到Scorer。
如何使用
- 安装包(Python 3.11+):
pip install safelabs-eval。 - CLI – 将其指向代理端点:
safelabs run --target http://localhost:8000/chat --category all --output json - Python – 包装任何接受字符串并返回字符串的可调用对象:
from safelabs import run_eval async def my_agent(prompt: str) -> str: … result = asyncio.run(run_eval(my_agent, categories=["ASI01", "ASI06"])) result.summary() - 检查生成的报告;任何
VULNERABLE或FAIL条目都应审查并缓解。
局限性 – 检测器依赖正则表达式/启发式模式,因此可能会遗漏微妙或新颖的攻击,并可能产生误报。提示集仅限英文且为单轮;多轮动态仅在单个提示内模拟。置信度分数是启发式证据级别,而非校准概率。
谁维护它 – 该项目由 Safe Labs AI Inc. 开发,并根据 Apache 2.0 许可证发布。它包括一个 DOI 链接的数据集(SafeAgent-300)和一个包含多篇预印本论文的研究轨道。
TL;DR – safelabs-eval 是一个纯 Python、框架无关的 LLM 代理红队测试套件,提供 300 个对抗性提示和基于模式的检测器,以在不增加模型成本的情况下揭示安全弱点。
相关
- 项目
- 项目
- 项目
- 项目
- 项目