FL FlowLens / Security Lifecycle
当前参考 · lab/flowlens-all.yaml · proxy mode
End-to-end call anatomy

安全防护不只在入口,而在每次内容过境时。

FlowLens 位于 agent 与外部模型之间,只观察经过模型代理的请求与响应。它能在请求转发前模型响应交给 Agent 前同步干预,并在响应完成后异步审计。

3类同步控制点
2模型流量方向
1统一事件账本
Inline request

on_request 可查看 headers、path、body、消息和 agent 身份,并在上游收到前 allow / modify / block。

Inline tool review

on_tool_use 在完整 tool name + input 生成后、模型响应交给 mens 前同步审查;它不观察真实 executor。

Async evidence

on_response 审查上游原始响应,capture 合并安全事件并按 body_mode 落盘;它们不再改变已返回内容。

01 / COMPLETE CALL PATH

模型请求与响应,六个控制与观测阶段

点击控制点查看它能看见的内容与可采取的动作;切换场景可观察一次风险内容沿链路如何被处理。

播放场景
agent → gateway gateway → agent
A
Agent / mens 发起请求 · 携带身份
HTTP
FORWARD
modified body
LLM外部模型上游
Provider OpenAI / Anthropic
Gemini compatible
A
Agent / mens 接收同一份响应
后续本地行为不可见
STREAM
RETURN
reviewed response
Δtext / tool calls
Response 流式 SSE / 非流式 JSON
LLM PATH
模型建议的工具调用

模型响应里的 tool_calls / tool_use 走 ⑤ on_tool_use;放行后同一份响应交给 mens。真实 dispatch、UI、journal 与工具结果落盘不经过 FlowLens。

on_request · inline

请求入口审查

在任何内容发往模型上游之前执行。插件按 YAML 顺序串行运行,block 立即短路,modify 结果交给下一个插件。

能够看到

    能够保护

      02 / PROTECTION MATRIX

      阶段、内容与动作对照

      “审查”不等于“一定拦截”。每个插件只按自己的规则返回 allow、modify、block 或事件;未命中则继续。

      阶段 同步性 可见内容 典型防护 可执行动作 当前 all 配置
      请求入口
      on_request
      同步 · 转发前 method、path、headers、原始 body、解析后的 messages、model、agent 身份 QPS 限流、prompt injection、用户/系统/tool result 中的敏感数据、策略熔断 allowmodifyblock rate_limiter
      injection_guard
      mask
      policy breaker 未启用
      响应内容
      create_transform
      同步 · 返回途中 模型 text、reasoning、tool arguments;存在可逆映射时处理已知 token 已知可逆 token 还原、跨协议响应转换;当前不扫描模型新生成的敏感值 passtransform mask token restore
      scan_response: false
      LLM 工具调用
      on_tool_use
      同步 · 响应交给 mens 前 标准化后的 tool id、name、完整 input JSON、agent / session 元数据 工具白黑名单、危险参数、角色策略、危险 bash 改写、违规熔断计数 allowmodify inputblock call teacher
      policy
      响应完成
      on_response + capture
      异步 · 事后 on_response 看转发请求、上游原始响应、provider、状态码、session_id;capture 另持有此前累计事件 hook 可追加事后事件;随后 capture 合并全部事件,供告警、训练负例、统计与 dashboard 使用 auditevent capture + logger
      capture 使用 transform 前内容;messages / none 只控制 raw body,解析后的正文、reasoning、tool calls 仍可能留存;当前无“完全不记录敏感响应”模式
      03 / SECURITY BOUNDARY

      FlowLens 看得到什么,也要看清看不到什么

      A / LOCAL EXECUTION

      不直接观察本地副作用

      模型生成的 tool intent 通过审查后,shell 展开、文件写入和本地网络行为发生在 mens 进程侧。只有下一轮把工具结果发给模型时,内容才再次经过请求入口。

      B / RULE COVERAGE

      经过审查不等于命中规则

      default: allow 下,未被 allow/deny 或 pattern 捕获的工具调用会放行。审查入口存在,规则覆盖仍决定实际效果。

      C / FAILURE MODE

      插件异常默认 fail-open

      插件异常、tool review RPC 超时、截断流会放行;OpenAI 流式 n>1 也跳过工具审查。因此 FlowLens 不替代 mens 权限、沙箱或出网控制。

      完整心智模型:请求内容在发往模型前审;模型返回的 tool intent 在交给 agent 前审;响应内容在回给 agent 前变换;完成后,按配置保留的解析字段与安全事件进入审计。真实工具执行、UI、journal 与未发送给模型的结果不在 FlowLens 可见范围。