VIGIL
基于图数据库的AI Agent运行时防火墙,通过PreToolUse钩子或MCP服务器拦截跨会话数据泄露,支持允许/询问/拒绝/重写四种决策
时间轴 (近 90 天)
VIGIL是一个由图数据库FalkorDB支撑的运行时防火墙,部署在AI Agent工具的前面,可作为Claude Code的PreToolUse钩子,也可作为MCP服务器运行。
VIGIL的输出结果有四种:允许、询问(需人工批准)、拒绝、重写(修改危险参数后放行)。
VIGIL项目包含68条决策相关查询,全部在FalkorDB 6.0.2上通过校验,每次决策的图数据库耗时中位数为0.71毫秒,p99为2.69毫秒。
VIGIL的核心图模型为 (:Session)-[:MADE]->(:Call)-[:READ]->(:Value) 和 (:Call)-[:ARG_CONTAINS]->(:Value),并对匹配密钥规则的值做哈希后存储在Value节点上,密钥本身不进入图。
VIGIL使用最大流最小割定理将安全决策转化为最小割成本计算,为参数边赋予容量2,为调用边赋予容量2n−1(n为参数个数),最大流返回值直接编码决策:0为允许,2k为重写,2n−1为拦截。
对于携带目的地的参数(如url、host、endpoint),VIGIL对应的边被赋予无限容量,只要目的地被污染,切割就必须发生在调用级别即直接拦截。
在一个真实案例中,Claude Code钩子对DNS更新返回了重写结果,updatedInput中的txt被替换为[REDACTED by VIGIL];当每个参数都携带敏感值时,最小割代价变成3,整个调用被拦截。
移除测试中,有图上下文时六个攻击场景全部被拦截或处理,图不可用时对照服务器对六个场景全部返回“无意见”;作者明确表示这不是通用安全基准,六个场景不足以确立普遍检出率。
全部知识事实 (8)
移除测试中,有图上下文时六个攻击场景全部被拦截或处理,图不可用时对照服务器对六个场景全部返回“无意见”;作者明确表示这不是通用安全基准,六个场景不足以确立普遍检出率。
50%待验证VIGIL的输出结果有四种:允许、询问(需人工批准)、拒绝、重写(修改危险参数后放行)。
50%待验证VIGIL项目包含68条决策相关查询,全部在FalkorDB 6.0.2上通过校验,每次决策的图数据库耗时中位数为0.71毫秒,p99为2.69毫秒。
50%待验证VIGIL的核心图模型为 (:Session)-[:MADE]->(:Call)-[:READ]->(:Value) 和 (:Call)-[:ARG_CONTAINS]->(:Value),并对匹配密钥规则的值做哈希后存储在Value节点上,密钥本身不进入图。
50%待验证VIGIL使用最大流最小割定理将安全决策转化为最小割成本计算,为参数边赋予容量2,为调用边赋予容量2n−1(n为参数个数),最大流返回值直接编码决策:0为允许,2k为重写,2n−1为拦截。
50%待验证对于携带目的地的参数(如url、host、endpoint),VIGIL对应的边被赋予无限容量,只要目的地被污染,切割就必须发生在调用级别即直接拦截。
50%待验证VIGIL是一个由图数据库FalkorDB支撑的运行时防火墙,部署在AI Agent工具的前面,可作为Claude Code的PreToolUse钩子,也可作为MCP服务器运行。
50%待验证在一个真实案例中,Claude Code钩子对DNS更新返回了重写结果,updatedInput中的txt被替换为[REDACTED by VIGIL];当每个参数都携带敏感值时,最小割代价变成3,整个调用被拦截。
50%