Adrian
开源的 AI Agent 运行时安全引擎,实时监控 Agent 的动作与推理,在恶意工具调用、提示注入和越权行为落地之前拦截。
按维度查看评分与理由
证据显示Claude Code插件按策略驱动判定(policy_m0–m4逐条对应allow/block/ask),并有HITL人工确认模式与超时策略,值得肯定;但核心拦截逻辑的默认fail-open(测试注明FAIL_OPEN默认为真)会削弱安全控制价值,且后端、SDK主体源码未在证据中,最小权限实现、敏感数据(推理轨迹、transcript内容上传云端)流向、回滚机制均只能按README自述计为薄弱。
SDK lint与发布CI完整(tag与pyproject版本一致性校验、twine check、OIDC可信发布),LangChain版本兼容范围带具体验证日期,超时/错误/未知verdict分支均有测试覆盖;扣分在于测试仅为静态阅读,未验证实际失败消息质量,且部分测试在无后端时跳过。
README明确目标场景(电商/投资代理出格行为)、自托管硬件限制(需NVIDIA GPU、CPU慢)、框架支持与路线图,触发精度由逐策略单元测试支撑;扣分在于能力边界多依赖文档自述,跨平台(Windows等)环境适配未提及。
Apache-2.0全文与SPDX头齐全,安装说明分层清晰(托管/自托管/插件),带版本验证日期,SECURITY.md含响应时限与范围;扣分在于证据中无CHANGELOG、无README之外的SDK源码与CONTRIBUTING正文可核对,贡献文件仅被引用。
两行SDK接入、Claude Code零代码接入降低成本,运行时行为+推理双层检测相较静态分析有差异化价值;扣分在于检测有效性完全依赖外部研究引用(arXiv论文),未提供本项目自身基准数据。
策略-动作映射有可追溯的单元测试,事实与推断基本分开(验证日期、外部引用均标注);扣分在于+35%/4x等核心声明引自第三方论文而非本仓库实验,云端托管与后端实现无法从现有文件交叉验证。
- Claude Code插件在判定超时/出错时默认fail-open(允许放行),对安全控制而言应评估改为fail-closed(文档提及fail_closed_on_classifier_error配置,务必启用并验证)。
- 托管模式下agent行为与推理轨迹会上传至云端,敏感环境中建议使用自托管离线部署并审查实际数据流。
- 核心检测有效性声明来自第三方研究论文,仓库内未提供本产品自身基准,不应据此推断实际检测率。
- 本次为静态审查:后端Go代码、SDK主体与自托管容器配置未在证据中,其实际安全性未经核验。
这个 Agent 能做什么,适合哪些场景?
Adrian 是由 Secure Agentics 开源的 AI Agent 运行时安全监控与控制引擎,遵循 AARM 规范。与只看活动日志(API、MCP、工具调用等)的监控不同,它同时分析 Agent 的行为日志和推理链路,据 OpenAI 与 DeepMind 研究可提升约 35% 检测准确率、捕捉约 4 倍的隐蔽攻击。它能识别提示注入与越狱(直接和间接)、工具投毒与越规工具调用、数据外泄与凭据泄露、提权与越权操作。技术栈包括 Go 后端(WebSocket + 仪表盘 API + AI 引擎)、Next.js 仪表盘、Python 与 TypeScript SDK,以及本地 Llama.cpp 容器(默认下载 Gemma 模型作分类器)。部署可选托管仪表盘(app.adrian.secureagentics.ai),也可完全离线、数据主权自托管,全部通过 Docker Compose 启动。SDK 通过 adrian.init()/shutdown() 两行代码接入 LangChain / LangGraph、Anthropic 与 OpenAI Agents SDK,另有 Claude Code 插件可零代码改动保护每次工具调用。
Adrian 在 Agent 运行时通过 SDK 拦截事件流:SDK 自动插桩 LangChain / LangGraph,将工具调用、动作、输出等活动日志与推理链路发送到 Adrian 后端。后端的分类器模型(自托管时为 Llama.cpp + 本地 Gemma 模型,云端为托管服务)对每个动作对照该 Agent 的既定职责(remit)与全会话上下文进行判定,产出告警、人工审核或拦截三种裁决,并由控制平面在实际动作执行前介入。用户可通过仪表盘或 Settings → Agents 生成 API 密钥,配置审计或拦截模式、告警渠道与可接受行为。SDK 集成为两行代码:adrian.init(api_key=...) 与 adrian.shutdown();Claude Code 插件通过 /plugin marketplace add secureagentics/Adrian 与 /adrian-init 安装,实时分类每次工具调用。
- 运行自主 Agent 处理敏感数据(如投资分析)的工程团队,需要在外发动作执行前拦截数据外泄与凭据泄露。
- 生产环境使用 LangChain / LangGraph 构建多步骤 Agent 的团队,想在提示注入或越狱发生时获得告警甚至实时阻断。
- 在终端中使用 Claude Code 的开发者,希望每个工具调用先经分类,风险动作在终端内被拦截或等待人工批准。
- 有数据主权或离线合规要求的企业,需在自有基础设施上运行 Agent 安全监控,不允许遥测外发。
- 安全团队希望监控 Agent 是否偏离职责范围(如电商 Agent 开始重置用户密码),而非仅依赖基于训练数据集的分类器。
这个 Agent 有哪些优点和局限?
- 同时分析行为日志与推理链路,README 引用的 OpenAI/DeepMind 研究显示检测准确率提升 35%、隐蔽攻击捕捉量提升 4 倍,这是与仅监控活动日志方案的差异化能力。
- 支持完全离线、数据主权的自托管部署,包括本地 Gemma 分类器,无遥测外发。
- 在动作执行前介入(告警/人工审核/拦截),而非事后分析。
- 提供对 Agent 职责的会话级上下文判定,可捕捉训练集中从未见过的越权行为。
- 自托管需要 NVIDIA GPU 与较重的本地模型(Gemma 4 E4B 约 5GB),CPU 模式虽可行但官方承认在真实负载下会很慢。
- 生产级支持依赖 LangChain/LangGraph(版本 >=1.0,<2.0)、OpenAI Agents SDK 或 Anthropic SDK 集成;其他框架(CrewAI、OpenClaw)仍在路线图上。
- 告警渠道目前仅支持 Discord 和 Slack,WhatsApp、Teams、PagerDuty 尚未上线。
- 贡献需签署 CLA,且文档指定英式英语等写作规范,对外部贡献者有额外约束。
如何安装或部署这个 Agent?
托管方式:1) 在 app.adrian.secureagentics.ai 注册并生成 API 密钥;2) pip install adrian-sdk;3) pip install langchain langchain-openai(或 langchain-anthropic 等)。自托管方式:1) git clone https://github.com/secureagentics/Adrian && cd Adrian;2) docker compose --profile setup run --rm setup bootstrap(交互式下载 Gemma 4 E4B 约 5GB 或 E2B 约 3GB 分类器模型,或用 --gguf my-model.gguf 指定已有模型);3) docker compose --profile llm up -d;4) 浏览 http://localhost:3000,用 admin@localhost 与 bootstrap 打印的密码登录并设置新密码。前置条件:装有 Docker + Docker Compose v2、NVIDIA GPU(含 CUDA 驱动与 NVIDIA Container Toolkit)、约 10GB 磁盘。Claude Code 插件:/plugin marketplace add secureagentics/Adrian 然后 /adrian-init。
如何使用这个 Agent?
托管模式最小示例:import adrian; adrian.init(api_key="adr_live_..."),随后正常调用你的 LangChain / LangGraph Agent(SDK 自动插桩),结束时调用 adrian.shutdown()。事件将在几秒内以严重级别分类出现在仪表盘。自托管时 SDK 默认连接 ws://localhost:8080/ws,只需 API 密钥即可,无需 ws_url 参数。在仪表盘 Settings → Agents → New key 创建 SDK 密钥,并配置 Agent 职责、审计或拦截模式、告警渠道。完整可运行示例见仓库 examples/python/quickstart.py。
这个 Agent 与同类方案有什么区别?
README 明确将 Adrian 与仅基于活动日志的监控方案、以及仅在提示注入数据集上训练的分类器对比,称后者只能捕捉已见过的攻击模式,而 Adrian 通过理解 Agent 的既定职责与会话上下文来判定新行为。仓库未提及具名的商业竞品。