Xaidr——面向AI代理的进程内运行时安全与治理
Xaidr 是一个本地、进程内的 AI 代理运行时安全库,零依赖,在输入、工具调用、模型输出和代理间(A2A)协议四个边界扫描提示注入、越狱、危险工具调用、敏感数据泄露等风险。默认监控模式只标记不阻断,可切换为强制阻断模式,并支持 YAML 策略、OpenTelemetry 等遥测输出。
Xaidr 是一个面向 AI 代理的进程内运行时安全与治理工具。与大多数停留在模型边界、仅判断文本内容的防护方案不同,Xaidr 关注的是代理真正“执行”的层面:当提示词变成 shell 命令、数据库调用、HTTP 请求、工具调用或对另一个代理的委托时,Xaidr 能在这类动作生效前进行扫描和拦截。
Xaidr 的核心设计强调本地化和进程内运行。它不需要后端服务、账号、API 密钥,在核心扫描路径上不发起网络请求,默认情况下数据不会离开当前进程。安装方式很简单,通过 pip 安装即可,核心包没有任何必需的运行时依赖。Python 3.10 以上版本均可使用。
使用 Xaidr 时,开发者创建一个 Sensor 对象,然后在代理循环的不同边界调用扫描方法。输入边界扫描不可信的用户文本,工具边界在工具名称和参数执行前进行检查,输出边界在模型回复返回给用户之前做泄露检测,A2A 边界则在代理接收委托消息时进行协议级检查。每次扫描返回一个 ScanResult,包含 action、score、category、rules、latency_ms 等字段。
action 有四种取值:allowed 表示放行;flagged 表示仅观察并继续,不会终止操作;blocked 表示拒绝执行;approval_required 表示需要人工审批,操作被暂停但未最终否定。开发者在判断是否需要停止时,应同时检查 blocked 和 approval_required 这两种会暂停操作的状态,而不能简单使用 is_allowed,否则会把 flagged 也当成阻断信号。
Xaidr 默认采用监控模式:系统会计算并发出判定结果,但不会真正阻断任何操作。这种设计是有意为之,建议用户先观察度量,再切换到 enforcement_mode="block" 进行强制拦截。唯一例外是目标地址阻断,这类规则在包括监控模式在内的所有模式下都会生效。
安全工具必须明确自身边界。Xaidr 不是 UI,它像 Falco 或 Trivy 一样把告警输出到现有监控栈;它不做跨代理或跨会话的关联分析,因为单个进程内传感器无法看到分散在两个代理之间的攻击;它也不是身份提供者,set_origin() 只记录应用提供的身份信息,不验证令牌。
检测方面,Xaidr 无需配置即可使用,覆盖多种执行层风险:提示注入与越狱、混淆与规避性攻击、危险工具调用、敏感数据泄露、工具参数中的密钥外传、shell 命令导致的主机数据外流、A2A 协议滥用、伪造信任与委托注入、跨代理权限提升。底层由多个独立层顺序执行,包括归一化、大型规则集、多信号意图组合、语义层以及专用数据分析。
此外,Xaidr 还提供 YAML 授权策略引擎、基于 W3C Trace Context 的跨进程委托溯源,以及输出到 stdout、文件、webhook 或 OpenTelemetry 的结构化遥测。对于 LangChain 用户,官方提供了中间件,可自动接入三个边界;其他框架可以通过直接调用 API 完成集成。