
用于你的 LLM 智能体工作流的安全扫描器
Agentic Radar 旨在分析和评估智能体系统的安全性与运行状况。它帮助开发者、研究人员和安全专业人员理解智能体系统的工作方式,并识别潜在漏洞。
它允许用户为智能体系统创建安全报告,包括:
全面的 HTML 报告汇总了所有发现,便于轻松审阅和分享。
Agentic Radar 包含将检测到的漏洞映射到知名安全框架的功能 🛡️。
如果你只关心可视化,可以试试 Agentic Visualizer。
它是一个基于 Web 的工具,可以以用户友好的方式可视化智能体工作流。
没有任何要求!只需确保你的机器上安装了 Python(pip)即可。
pip install agentic-radar
# Check that it is installed
agentic-radar --version
某些功能需要额外安装,具体取决于目标智能体框架。更多信息请参见下文。
在将以下功能与 CrewAI 结合使用时,需要安装 CrewAI 额外依赖:
你可以通过运行以下命令来安装带有 CrewAI 额外依赖的 Agentic Radar:
pip install "agentic-radar[crewai]"
[!WARNING] 这将安装
crewai-tools包,该包仅支持 Python 版本 >= 3.10 且 < 3.13。 如果你使用的是其他 Python 版本,工具描述将不够详细,甚至完全缺失。
在将以下功能与 OpenAI Agents 结合使用时,需要安装 OpenAI Agents 额外依赖:
你可以通过运行以下命令来安装带有 OpenAI Agents 额外依赖的 Agentic Radar:
pip install "agentic-radar[openai-agents]"
Agentic Radar 现在支持两个主要命令:
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
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 加固会自动改进你在智能体工作流中检测到的系统提示词,并将其显示在报告中。它可将简单的智能体指令转换为遵循最佳提示词工程实践的高质量结构化系统提示词。
[!NOTE]
目前支持的框架(后续会越来越多):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
Agentic Radar 现在支持在运行时测试你的智能体工作流,通过模拟对抗性输入来识别关键漏洞。
这包括以下自动化测试:
目前支持:
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 是对何种情况构成成功攻击的描述(将由一个 oracle LLM 以此判定测试是通过还是失败)。
然后,你可以使用指向你的 YAML 文件的 --config 选项运行 Agentic Radar 测试:
agentic-radar test openai-agents --config custom_tests.yaml "examples/openai-agents/basic/lifecycle_example.py"