使用说明
A Security Scanner for your agentic workflows!
View Demo · Documentation · Report Bug · Request Feature
Table of Contents
描述 📝
这个(或“该”) “Agentic Radar”可以翻译为“智能代理雷达”或“自主代理雷达”,具体翻译取决于上下文和应用场景。在这里,“Agent”通常指的是具有自主决策或行动能力的智能体或系统,“Radar”则指的是雷达技术或雷达系统。因此,“Agentic Radar”可以理解为一种具有自主智能或决策能力的雷达系统或技术 该工具旨在分析和评估智能代理系统,以提供安全性和操作性方面的见解。它帮助开发人员、研究人员和安全专业人员理解智能代理系统的工作原理,并识别潜在的漏洞。
它允许用户为代理系统创建安全报告,内容包括:
- 工作流程可视化 - 行为主体系统工作流程的图表✅
- 工具识别 - 系统使用的所有外部和自定义工具列表✅
- MCP服务器检测 - 系统代理所使用的所有MCP服务器列表✅
- 漏洞映射 - 一个将已识别工具与已知漏洞关联的表格,提供安全概览✅
该综合HTML报告汇总了所有发现,便于查看和分享。
“Agentic Radar”可以翻译为“代理雷达”或“智能代理雷达”,具体翻译取决于上下文和使用场景。在这里,“Agent”通常指的是具有自主行为或决策能力的实体或系统,而“Radar”则指的是用于探测、定位或跟踪目标的设备或技术。因此,“Agentic Radar”可能指的是利用智能代理技术来增强或实现雷达功能的系统或设备 包括将检测到的漏洞映射到知名的安全部署框架中🛡️。
代理可视化器 🎆
如果你只关心可视化,那就试试这个 代理可视化工具.
它是一个基于网络的工具,能够以用户友好的方式让您直观地看到代理工作流。
开始起步 🚀
先决条件
没有(额外的步骤)!只需确保您的机器上安装了Python(和pip)。
安装
pip install agentic-radar
# Check that it is installed
agentic-radar --version
某些功能可能需要额外安装,具体取决于目标代理框架。了解更多信息 在......下面.
高级安装
CrewAI 安装
在使用以下任一功能与CrewAI结合时,需要额外的CrewAI组件:
- 代理雷达测试
- 预定义工具的描述
你可以通过运行以下命令来安装带有额外CrewAI依赖的Agentic Radar:
pip install "agentic-radar[crewai]"
[!警告] 这将安装
crewai-tools该包仅支持 Python 3.10 及以上版本,但不支持 3.13 版本。 如果你使用的是不同版本的Python,工具描述可能会不够详细,或者完全缺失。
OpenAI智能体安装
在使用以下任一功能与OpenAI Agent结合时,需要OpenAI Agent的附加组件:
你可以通过运行以下命令来安装带有额外OpenAI Agent依赖项的Agentic Radar:
pip install "agentic-radar[openai-agents]"
使用方法
Agentic Radar 现在支持两个主要命令:
1. scan
扫描代理工作流的二维码并生成报告。
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
在代理工作流中测试针对各种漏洞的代理工具。 需要将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 Prompt Hardening”可以翻译为“代理提示加固”。这里,“Agentic”指的是与代理或智能体相关的,“Prompt”指的是提示或指令,“Hardening”则意味着加强或加固。因此,整个短语可以理解为增强或加固与代理或智能体相关的提示或指令的安全性或有效性
代理提示强化功能会自动优化您在代理工作流中检测到的系统提示,并在报告中展示这些优化后的提示。它将简单的代理指令转化为遵循最佳提示工程实践的高质量结构化系统提示。
[!NOTE](注:此标记通常用于指示以下内容为注意事项或重要提示)
当前支持的框架(未来还将增加更多):OpenAI Agents、CrewAI、Autogen
它的使用非常简单直接:
-
设置您的OPENAI_API_KEY环境变量,运行
export OPENAI_API_KEY=<api_key>。 -
运行代理雷达(或:启用代理雷达功能)
--harden-prompts例如,标志:
agentic-radar scan openai-agents --harden-prompts -i examples/openai-agents/
basic/lifecycle_example -o report.html
- 在生成的报告中检查加固后的系统提示:
🔍 测试代理工作流中的漏洞
Agentic Radar 现在支持测试您的代理工作流程 运行时 通过模拟对抗性输入来识别关键漏洞。
这包括对以下方面的自动化测试:
- 提示注入
- PII泄露
- 有害内容生成
- 假新闻生成
目前支持:
- OpenAI 代理 ✅(更多框架即将推出)
🛠 它的工作原理
`test` 命令启动您的代理工作流,并使用一套旨在模拟恶意或对抗性输入的测试套件。这些测试是基于与 OWASP LLM Top 10 对齐的真实世界攻击场景设计的。
[!NOTE](注:此符号通常用于表示注意事项或提醒,具体翻译可能根据上下文调整,但此处直接保留原样以体现其特殊性)
此功能需要将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"
该工具会自行注入到用户提供的代理工作流中,检测必要的信息,并运行预先准备的测试。
可配置测试
您可以通过创建一个具有以下结构的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 是要传递给代理的输入文本,以及 success_condition 这是对构成成功攻击的描述(它将被预言机大型语言模型(LLM)用来判断测试是通过还是失败)。
然后,您可以使用它来运行Agentic Radar测试 --config 指向您的YAML文件的选项:
agentic-radar test openai-agents --config custom_tests.yaml "examples/openai-agents/basic/lifecycle_example.py"
默认情况下,Agentic Radar 也会包含内置测试。您可以通过设置来禁用它们 include_default_tests to false 在你的YAML文件中。
📊 丰富的测试结果
所有测试结果均以视觉丰富的表格格式直接在终端中打印显示。 每一行显示:
- 代理名称
- 测试类型
- 注入输入
- 代理输出
- ✅ 测试是否通过
- 🛑 对结果的简短说明
这使得一眼就能发现漏洞——尤其是在多智能体系统中。
持续集成/持续交付(CI/CD)工作流
要将Agentic Radar集成到您的CI/CD(持续集成/持续交付)管道中,您可以使用 提供了GitHub Actions工作流示例只需将YAML粘贴到 .github/workflows 你仓库的目录。
此工作流程会在向仓库推送更改时,自动对您的代码库运行Agentic Radar扫描。生成的报告将作为GitHub Actions运行中的一个工件上传。
路线图 📈
这个矩阵展示了哪些代理框架支持所有代理雷达(Agentic Radar)功能。随着时间的推移,我们将努力确保所有现有功能都能覆盖到所有当前框架,同时还将引入新的框架以丰富我们的选择。
| 功能 | 扫描 | MCP(微控制处理器)检测 | 提示强化 | 代理测试 |
|---|---|---|---|---|
| OpenAI 代理 | ✅ | ✅ | ✅ | ✅ |
| CrewAI | ✅(支持) | ✅(支持) | ✅(支持) | ❌(不支持) |
| n8n | ✅(支持) | ✅(支持) | ❌(不支持) | ❌(不支持) |
| LangGraph | ✅ | ✅ | ❌ | ❌ |
| Autogen | ✅(支持) | ✅(支持) | ✅(支持) | ❌(不支持) |
有没有一些功能是你希望优先看到实现的?请匿名投票 在这里 或者 在GitHub上创建一个Issue。
博客和教程💡
- CrewAI(可译为“团队人工智能”或根据具体语境调整为更贴切的表述,如“团队智能系统”等,但“CrewAI”本身作为专有名词时,通常直接保留原样)
- n8n
- OpenAI智能体
- Autogen(自体凝血)
- MCP服务器检测
- 代理提示强化
社区🤝
我们欢迎人工智能和安全领域的社区贡献!加入我们的 Discord社区 或者 Slack社区 与其他开发者建立联系,讨论功能,获取支持并做出贡献 “Agentic Radar”可以翻译为“代理雷达”或“智能代理雷达”,具体取决于上下文和语境。在这里,“Agentic”指的是具有代理性质或智能代理的含义,而“Radar”则是雷达的意思。因此,整个词组可以理解为一种具有智能代理功能的雷达系统或技术 🚀 表情符号“🚀”通常表示火箭、快速上升或加速。在中文中,它可以直接用作表情符号,无需翻译。所以,“🚀”翻译成中文仍然是“🚀”。
如果你喜欢你所看到的,请给我们一个星标!这激励我们不断改进和创新,也有助于其他人发现这个项目🌟
常见问题解答 ❓
问:我的源代码会被共享吗,还是所有操作都在本地运行?
A: 主要功能(静态工作流分析和漏洞映射)完全在本地运行,因此您的代码不会被共享到任何地方。对于可选的高级功能,可能会使用大型语言模型(LLM)。例如,在使用 提示强化(或提示硬化,根据上下文,“Prompt Hardening”可能指增强提示的鲁棒性、安全性或特定效果的过程,具体翻译需结合语境)检测到的系统提示可以发送给大型语言模型(LLM)进行分析。