桃子桃子快讯
返回首页
工具

Xaidr:为 AI 智能体提供进程内运行时安全防护

Xaidr 是一个零依赖的 Python 库,可在进程内扫描智能体的输入、工具调用、模型输出与 A2A 消息,实时阻断提…

2026.08.17 · 周一4 分钟阅读

随着 AI 智能体(Agent)从「能说会道」走向「能执行操作」,其安全边界也从模型输出扩展到了执行层:调用 Shell 命令、访问内部 API、消耗资源、甚至向其他智能体发起委派。Xaidr 正是面向这一「执行层」推出的开源运行时安全库,主打零依赖、进程内、跨框架的检测与治理能力。

核心思路:在执行层设防

Xaidr 将自身定位为「执行层传感器」,不只审视模型的文字输出,而是扫描智能体跨越的每一个边界——包括用户输入、工具调用、模型输出以及智能体间(A2A)协议消息。其检测覆盖提示注入、越权破解、破坏性工具调用、密钥泄露以及协议层滥用等典型风险,并可在危害发生前进行阻断或标记。

与常见的模型边界护栏不同,Xaidr 默认工作在「监控模式」:仅给出判定结果而不主动拦截,便于先观测、再治理。这一设计借鉴了 Falco、Trivy 等传统安全工具的思路,将告警事件接入用户已有的可观测性栈,而非另起一套 UI。

安装与使用

Xaidr 通过 pip 分发,核心包不引入任何运行时依赖:

  • 基础安装:pip install xaidr
  • 可选扩展:
    • xaidr[langchain]:LangChain 中间件
    • xaidr[policy]:YAML 策略文件加载(依赖 PyYAML)
    • xaidr[http]:HTTP 客户端保护与 Webhook 报告(依赖 httpx)
    • xaidr[otel]:以 OpenTelemetry 日志记录形式输出事件
    • xaidr[trace]:读取入站 traceparent 或当前 OTel span

环境要求为 Python 3.10+。用户可在智能体的四个边界分别调用 sensor.scansensor.scan_tool_callsensor.scan_outputsensor.scan_a2a,每次扫描返回一个 ScanResult,包含 .action(allowed / flagged / blocked / approval_required)、.score(0.0–1.0 融合分数)与 .category(高层类别)等字段。

治理与可观测性

除了检测,Xaidr 还提供本地 YAML 授权策略引擎,构成「检测之上的治理层」。其跨进程委派溯源基于 W3C Trace Context 规范,结构化遥测数据可输出至 stdout、文件、Webhook 或 OpenTelemetry,方便与既有监控体系整合。

需要明确的是,Xaidr 并不替代身份提供方(IdP):set_origin() 仅记录应用方声明的主体,不校验令牌;它也不处理跨智能体、跨会话的关联分析——这类能力需要带状态的后端支持。

适用范围与边界

Xaidr 适合需要为自主智能体增加执行层防护的 Python 开发者,尤其是已采用 LangChain 或自研智能体循环的团队。对于仅需在模型输出侧做内容审核的场景,传统护栏方案或更轻量;但只要智能体具备调用工具、读取外部文档或与其他智能体交互的能力,针对执行层的检测便难以被绕过。

项目采用显式声明边界的设计哲学:宁可少覆盖一些场景,也不让用户对防护范围产生误判——这一点在 AI 安全工具快速涌现的当下,值得同类项目借鉴。

信源