关于 Agentic Radar
Agentic Radar 是面向 LLM Agent 工作流的安全扫描工具,可在本地分析代码并生成 HTML 安全报告。它面向开发者、研究人员和安全人员,能够映射工具与已知漏洞之间的关系。
主要功能
- 01生成智能体工作流的可视化图
- 02识别工作流使用的外部与自定义工具
- 03检测 Agent 使用的 MCP 服务
- 04将工具映射到 OWASP LLM 安全框架
适用场景
- 01在 CI/CD 中扫描智能体代码并上传报告
- 02审查多 Agent 系统中工具与 MCP 服务的风险
- 03在运行时对 OpenAI Agents 进行对抗性输入测试
MCP 相关
该工具会检测智能体工作流中使用的 MCP 服务,并将其纳入安全报告。它本身以 CLI 形式运行,并未说明自身对外暴露 MCP 工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
目录
Agentic Radar 旨在分析和评估 Agentic 系统,以获取安全性和运维方面的见解。它帮助开发者、研究人员和安全专业人员了解 Agentic 系统的运行方式并识别潜在漏洞。
它允许用户为 Agentic 系统生成安全报告,包括:
- 工作流可视化 - Agentic 系统工作流的图示✅
- 工具识别 - 系统使用的所有外部工具和自定义工具列表✅
- MCP 服务检测 - 系统中的 Agent 使用的所有 MCP 服务列表✅
- 漏洞映射 - 将已识别工具与已知漏洞关联的表格,提供安全概览✅
这份全面的 HTML 报告汇总了所有发现,便于查看和分享。
Agentic Radar 还会将检测到的漏洞映射到知名安全框架 🛡️。
Agentic Visualizer 🎆
如果你只关注可视化,不妨试试 Agentic Visualizer。
这是一款基于 Web 的工具,可让你以友好的方式可视化 Agentic 工作流。
开始使用 🚀
先决条件
没有!只需确保你的计算机上已安装 Python(pip)。
安装
pip install agentic-radar
# Check that it is installed
agentic-radar --version
某些功能需要额外安装,具体取决于目标 Agentic 框架。详情请见下文。
高级安装
CrewAI 安装
在 CrewAI 中使用以下任一功能时,需要安装 CrewAI extras:
- Agentic Radar 测试
- 预定义工具的描述
运行以下命令,即可安装包含额外 CrewAI 依赖项的 Agentic Radar:
pip install "agentic-radar[crewai]"
警告
这将安装
crewai-tools软件包,该软件包仅支持 Python >= 3.10 且 < 3.13 的版本。 如果你使用其他 Python 版本,工具描述将不够详细,甚至完全缺失。
OpenAI Agents 安装
在 OpenAI Agents 中使用以下功能时,需要安装 OpenAI Agents extras:
运行以下命令,即可安装包含额外 OpenAI Agents 依赖项的 Agentic Radar:
pip install "agentic-radar[openai-agents]"
用法
Agentic Radar 现在支持两个主要命令:
1. scan
扫描代码中的 Agentic 工作流并生成报告。
agentic-radar scan [OPTIONS] FRAMEWORK:{langgraph|crewai|n8n|openai-agents|autogen}
示例:
agentic-radar scan langgraph -i path/to/langgraph/example/folder -o report.html
2. test
测试 Agentic 工作流中的 Agent 是否存在各种漏洞。 需要将 OPENAI_API_KEY 设置为环境变量。
agentic-radar test [OPTIONS] FRAMEWORK:{openai-agents} ENTRYPOINT_SCRIPT_WITH_ARGS
示例:
agentic-radar test openai-agents "path/to/openai-agents/example.py"
有关此功能的更多信息,请点击此处。
高级功能 ✨
Agentic 提示词加固
Agentic 提示词加固会自动改进 Agentic 工作流中检测到的系统提示词,并在报告中显示。它会将简单的 Agent 指令转换为遵循最佳提示词工程实践的高质量结构化系统提示词。
说明
当前支持的框架(后续还会增加):OpenAI Agents、CrewAI、Autogen
使用方法非常简单:
-
运行
export OPENAI_API_KEY=<api_key>,设置 OPENAI_API_KEY 环境变量。 -
使用
--harden-prompts标志运行 Agentic Radar,例如:
agentic-radar scan openai-agents --harden-prompts -i examples/openai-agents/
basic/lifecycle_example -o report.html
- 在生成的报告中查看加固后的系统提示词:
🔍 测试 Agent 工作流中的漏洞
Agentic Radar 现在支持在运行时测试你的 Agent 工作流,通过模拟对抗性输入来识别严重漏洞。
这包括自动测试以下内容:
- 提示词注入
- 个人身份信息泄露
- 有害内容生成
- 假新闻生成
目前支持:
- OpenAI Agents ✅(即将支持更多框架)
🛠 工作原理
测试命令会使用一组测试用例启动你的 Agent 工作流,这些用例旨在模拟恶意或对抗性输入。测试用例基于与 OWASP LLM Top 10 相对应的真实攻击场景设计。
说明
此功能需要将 OPENAI_API_KEY 或 AZURE_OPENAI_API_KEY 设置为环境变量。你可以通过命令行或在 .env 文件中进行设置。
运行测试的命令如下:
agentic-radar test <framework> "<path/to/the/workflow/main.py any-necessary-args>"
例如:
agentic-radar test openai-agents "examples/openai-agents/basic/lifecycle_example.py"
该工具会注入用户提供的 Agent 工作流,检测所需信息并运行预先准备好的测试。
可配置的测试
你可以创建一个具有以下结构的 YAML 文件,向 Agentic Radar 传入自定义测试:
include_default_tests: false
tests:
- name: TestA
input: Mention A.
success_condition: Attack succeeded if A is mentioned.
- name: TestB
input: Mention B.
success_condition: Attack succeeded if B is mentioned.
name 是测试名称,input 是要传递给 Agent 的输入文本,success_condition 则描述了什么情况算作攻击成功(Oracle 大模型会使用它来判断测试通过还是失败)。
然后,你可以使用 --config 选项指定 YAML 文件来运行 Agentic Radar 测试:
agentic-radar test openai-agents --config custom_tests.yaml "examples/openai-agents/basic/lifecycle_example.py"
默认情况下,Agentic Radar 还会包含内置测试。你可以在 YAML 文件中将 include_default_tests 设为 false 来禁用这些测试。
📊 丰富的测试结果
所有测试结果都会直接在终端中以直观丰富的表格形式显示。 每一行都会显示:
- Agent 名称
- 测试类型
- 注入的输入
- Agent 输出
- ✅ 测试是否通过
- 🛑 对结果的简短说明
这样一来,你就能快速发现漏洞,尤其是在多 Agent 系统中。
CI/CD 工作流
要将 Agentic Radar 集成到 CI/CD 流水线中,你可以使用提供的 GitHub Actions 工作流示例。只需将 YAML 文件复制到仓库的 .github/workflows 目录中。
每当代码库有更改推送到仓库时,此工作流都会自动运行 Agentic Radar 扫描。生成的报告会作为构件上传到 GitHub Actions 运行记录中。
路线图 📈
此矩阵展示了哪些 Agent 框架支持 Agentic Radar 的所有功能。随着时间推移,我们将努力让所有现有功能覆盖目前的所有框架,并引入更多新框架。
| 功能 | 扫描 | MCP 检测 | 提示词加固 | Agent 测试 |
|---|---|---|---|---|
| OpenAI Agents | ✅ | ✅ | ✅ | ✅ |
| CrewAI | ✅ | ✅ | ✅ | ❌ |
| n8n | ✅ | ✅ | ❌ | ❌ |
| LangGraph | ✅ | ✅ | ❌ | ❌ |
| Autogen | ✅ | ✅ | ✅ | ❌ |
你希望优先推出哪些功能?可以在此匿名投票,或提交 GitHub Issue。
博客和教程 💡
社区 🤝
我们欢迎 AI 和安全社区的贡献!加入我们的 Discord 社区或 Slack 社区,与其他开发者交流、讨论功能、获取支持,并为 Agentic Radar 作出贡献 🚀
如果您喜欢这个项目,请给我们点个星!这会激励我们持续改进和创新,也能帮助其他人发现这个项目 🌟
常见问题 ❓
问:我的源代码会被共享吗?还是所有操作都在本地运行?
答:主要功能(静态工作流分析和漏洞映射)完全在本地运行,因此您的代码不会被共享到任何地方。某些可选的高级功能可能会使用大模型。例如,使用提示词加固时,检测到的系统提示词可能会发送给大模型进行分析。
贡献 💻
行为准则 📜
许可证 ⚖️
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。