AISecurityLab/hackagent
HackAgent is an open-source security toolkit to detect vulnerabilities of your AI Agents
HackAgent – AI 代理安全红队工具包
它是什么 – HackAgent 是一个 Python SDK 和命令行工具,让您可以探测 AI 代理(聊天机器人、自主助手等)的安全性。它捆绑了一个已知攻击技术库(提示注入、越狱、目标劫持、工具滥用)以及一个用于生成对抗性提示、针对目标代理运行并判断代理安全防护是否被绕过的小型框架。
为什么重要 – 随着基于 LLM 的代理变得越来越自主,传统的软件测试工具无法发现那些操纵模型推理或利用其工具使用能力的攻击。HackAgent 提供了一个现成的、基于研究的管道,让安全研究人员和 AI 安全工程师无需构建自己的攻击工具即可评估这些风险。
核心组件
| 组件 | 角色 |
|---|---|
| 攻击引擎 | 执行攻击目录(AdvPrefix, AutoDAN‑Turbo, PAIR, TAP, FlipAttack, BoN, h4rm3l, CipherChat, PAP, Static Template)。 |
| 生成器 | 为给定目标制作对抗性提示的 LLM。 |
| 判断器 | 决定攻击是否成功(即目标是否违反其安全策略)的 LLM。 |
| 目标代理 | 您想要测试的 AI 代理 – 任何使用支持的 SDK 构建的代理。 |
| 数据集 | 内置基准测试集,并支持加载自定义 JSON、HuggingFace 或基于 URL 的数据集。 |
支持的 AI 框架
- Google ADK
- OpenAI SDK
- LiteLLM
- LangChain
任何基于这些框架构建的代理都可以通过最少的配置接入该管道。
安装与运行
# Typical Python install
python3 -m venv .venv && source .venv/bin/activate
pip install hackagent
本地使用无需 API 密钥。
还发布了适用于 Linux、macOS 和 Windows 的自包含二进制文件,因此您可以在没有 Python 运行时的情况下运行 hackagent。(唯一的外部要求是 hackagent web 命令所需的 Playwright 浏览器。)
典型工作流程 (CLI 示例)
# 1. Choose a target (e.g., an OpenAI‑based chatbot)
export OPENAI_API_KEY=…
# 2. Run a suite of attacks against it
hackagent run --target openai --attacks all --dataset default
# 3. View results locally
hackagent report --format html > report.html
# 4. Optional: launch the interactive dashboard
hackagent web
CLI 显示带有实时进度的 TUI,并将结果存储在本地 SQLite 文件中。如果您为 HackAgent 云服务配置了 API 密钥,则可以将相同的数据同步到远程仪表板。
报告与负责任的使用
- 本地模式 – SQLite 数据库,仅限离线。
- 云端模式 – 同步到 HackAgent SaaS 平台(API 密钥永远不会离开 CLI 进程)。
- 该项目包含一份 负责任披露 指南和明确的政策,规定测试必须经过授权。
项目健康状况 (如 README 所示)
- 需要 Python 3.10+,Apache‑2.0 许可证。
- CI 徽章、测试覆盖率徽章和自动化格式化工具(Ruff, uv, Commitizen)表明这是一个积极维护的代码库。
- 提供社区讨论和安全政策。
总结
HackAgent 是一个专门构建的开源工具包,用于对基于 LLM 的代理进行红队风格的安全测试。它提供了一个经过验证的攻击目录、生成/判断循环以及与主要 LLM SDK 的集成,所有这些都封装在一个 Python 包和跨平台 CLI 中。
相关
- 项目
- 项目
- 项目
- 项目
- 项目