Gateway 层 Input/Output 内容过滤 Plug — Guardrails 安全控制面。
在 HTTP 入口(POST /v1/sessions/:id/prompt 与 /v1/a2a/tasks/send)拦截敏感词 /
PII / 黑名单内容。与 CMDC.Plugin.Builtin.OutputFilter 互补:
- 本 Plug 只在 HTTP 边界做粗粒度过滤(防止恶意 prompt 进入 Agent)
OutputFilterPlugin 在 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 是协议层、策略在应用层"原则。