安全检查清单
- API 只通过 TLS ingress 暴露,PostgreSQL/Redis/OTLP/远端 Agent 位于受控网络;
- 验证 OIDC issuer、audience、JWKS 与 token 时间字段;tenant 只取自已验证 claim;
- API 数据库角色启用 RLS 且无
BYPASSRLS,跨 tenant claim 仅授予独立 Worker 角色; - 容器使用 UID/GID 10001、只读 rootfs、禁用提权、丢弃 capabilities、RuntimeDefault seccomp;
- 图代码走普通生产代码 review、CI、SBOM、签名和不可变镜像发布;
- secret 只在调用边界解析,不进入 state/checkpoint/event/cache/trace;
- 为 tenant 配置 active/queued run、SSE、request/state/event 大小和速率上限;
- 高风险工具组合 permissions、动态 authorize、HITL、timeout 和幂等键。
审计与脱敏
审计记录 actor、action、resource、result、trace ID 与非敏感 metadata,不记录完整 prompt、state、消息或凭据。日志与 telemetry 应递归脱敏authorization、token、secret、password、api_key、cookie 等字段。
健康与指标
核心指标包括
lingxigraph_graphs、按状态的 lingxigraph_runs、lingxigraph_queue_depth、lingxigraph_active_runs、lingxigraph_run_events。
建议告警
- pending queue age p95 超过目标或持续增长;
failed/timed_out/dead_letter比率和 lease recovery 激增;- checkpoint commit p95、PostgreSQL 连接/事务饱和;
- SSE 断线率和事件端到端延迟增长;
- Redis 错误为警告,PostgreSQL 错误为高优先级;
- 模型/工具预算超限与 tenant quota 持续触发。
OTEL_EXPORTER_OTLP_ENDPOINT 后,进程会导出 run/task/checkpoint span。JSON 日志应保留 request ID、run ID、tenant、graph version 与 trace/span ID,但不记录业务敏感正文。