CMDCGateway.Plugs.Guardrails (cmdc_gateway v0.4.2)

Copy Markdown View Source

Gateway 层 Input/Output 内容过滤 Plug — Guardrails 安全控制面。

在 HTTP 入口(POST /v1/sessions/:id/prompt 与 /v1/a2a/tasks/send)拦截敏感词 / PII / 黑名单内容。CMDC.Plugin.Builtin.OutputFilter 互补

  • 本 Plug 只在 HTTP 边界做粗粒度过滤(防止恶意 prompt 进入 Agent)
  • OutputFilter Plugin 在 Agent 内细粒度过滤(LLM 响应再次过滤)

配置

Application 启动时可注入 allowlist / denylist 规则:

config :cmdc_gateway, CMDCGateway.Plugs.Guardrails,
  denylist_keywords: ["DROP TABLE", "rm -rf /", "sudo passwd"],
  denylist_regex: [~r/\b(password|api[_-]?key)\s*[:=]\s*\S+/i],
  max_prompt_length: 100_000,
  block_message: "Prompt rejected by Gateway guardrails"

默认空(不过滤),符合"Gateway 是协议层、策略在应用层"原则。