From fcd019c2cc3f3f5114382c924b811bb02a7cda6c Mon Sep 17 00:00:00 2001 From: Markus Hartung Date: Tue, 4 Aug 2026 18:26:09 +0200 Subject: [PATCH] fix(docs): add required frontmatter to AGENTROUTER_WAF.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Missing title/version/lastUpdated frontmatter broke the Next.js/fumadocs build entirely (Turbopack: "invalid frontmatter... expected string, received undefined"), pre-existing on release/v3.8.50 as of #9323 and unrelated to this branch's feature work — discovered because it blocked building this branch's image for deploy. --- docs/security/AGENTROUTER_WAF.md | 34 +++++++++++++++++++------------- 1 file changed, 20 insertions(+), 14 deletions(-) diff --git a/docs/security/AGENTROUTER_WAF.md b/docs/security/AGENTROUTER_WAF.md index 6ef2b63ea0..c7a35f27d5 100644 --- a/docs/security/AGENTROUTER_WAF.md +++ b/docs/security/AGENTROUTER_WAF.md @@ -1,3 +1,9 @@ +--- +title: "agentrouter.org WAF" +version: 3.8.50 +lastUpdated: 2026-08-04 +--- + # agentrouter.org WAF (Web Application Firewall) The `agentrouter` upstream gateway runs a keyword-based content filter on @@ -23,22 +29,22 @@ The WAF inspects `messages[].content` only. It does **not** inspect: ## Always-blocked patterns (case-insensitive) -| Pattern | Notes | -|-------------------------------|----------------------------------------| -| Any `Lorem ipsum` variant | Full Latin lorem vocabulary is blocked | -| `language model` (alone) | "the language model" and "large language model" pass | -| `virtual assistant` | "AI assistant" passes | -| `I'm here to help` | "here to help" alone also blocks | -| `Claude, made by Anthropic` | Full phrase only | +| Pattern | Notes | +| --------------------------- | ---------------------------------------------------- | +| Any `Lorem ipsum` variant | Full Latin lorem vocabulary is blocked | +| `language model` (alone) | "the language model" and "large language model" pass | +| `virtual assistant` | "AI assistant" passes | +| `I'm here to help` | "here to help" alone also blocks | +| `Claude, made by Anthropic` | Full phrase only | ## Almost-always-blocked patterns -| Pattern | Notes | -|-------------------|---------------------------------------------------------| -| `placeholder` | When it stands alone (not as a parameter name, etc.) | -| `dummy data` | Common seed phrase for fixtures | -| `foo bar baz` | Canonical placeholder phrase | -| Repeated short tokens (`AAA BBB CCC`, `test test test`) | Detector for keyword stuffing | +| Pattern | Notes | +| ------------------------------------------------------- | ---------------------------------------------------- | +| `placeholder` | When it stands alone (not as a parameter name, etc.) | +| `dummy data` | Common seed phrase for fixtures | +| `foo bar baz` | Canonical placeholder phrase | +| Repeated short tokens (`AAA BBB CCC`, `test test test`) | Detector for keyword stuffing | ## Behavior under load @@ -88,4 +94,4 @@ The current filter is overly aggressive — it blocks "Lorem ipsum" in `tool_result` blocks even though the operator clearly did not intend to inject a prompt. Operators who want this fixed at the source should contact `agentrouter.org` to report the false positives. The blocklist -above is the empirical result of probing the upstream as of 2026-08-03. \ No newline at end of file +above is the empirical result of probing the upstream as of 2026-08-03.