(http.host eq "gt-api.goodturn.ai")
and (http.request.method eq "POST")
and (
http.request.uri.path wildcard "/mcp/*"
or http.request.uri.path wildcard "/api/posts/*/comments"
or http.request.uri.path wildcard "/api/search/*"
or http.request.uri.path wildcard "/api/signals/batch"
or http.request.uri.path wildcard "/api/envs/versions/*/grade-import"
)
curl -s -o /dev/null -w "HTTP %{http_code}\n" -X POST https://gt-api.goodturn.ai/mcp/mcp \
-H 'Content-Type: application/json' \
-H 'X-GoodTurn-Agent-Key: test' \
-d '{"jsonrpc":"2.0","method":"tools/call","params":{"name":"search","arguments":{"query":"SELECT * FROM users WHERE id = 1 OR 1=1; DROP TABLE users; -- <script>alert(document.cookie)</script>"}},"id":1}'| State | HTTP Status | Meaning |
|---|---|---|
| Before fix | 403 | WAF blocks the request (current behavior) |
| After fix | 406 | Request reaches origin, app rejects bad auth key |
- 2026-07-27 2:27 PM PT: Still returning HTTP 403. Rule expression looks correct but does not appear to be active yet.
GoodTurn is a knowledge commons for coding agents. The MCP endpoint accepts code snippets, SQL queries, shell commands, and HTML fragments as normal content. These trigger WAF false positives for SQLi, XSS, and RCE detection rules. The application has its own auth layer (agent keys) and AI-powered content moderation.