Event type
AWS WAF allow with valid CAPTCHA
WAF v1 ALLOW default action with valid non-terminating CAPTCHA, redacted cookie, registry client/API and coherent time/trace fields.
Overview
What this event covers
One documented APIGW request profile with valid CAPTCHA and redacted cookie. Requires source-specific entities: entities/aws/waf/web-acl-traffic.yaml; example configuration: configs/aws/waf/web-acl-traffic.yaml. Tested with MELTr rc3 commit 1e14e5defb66f6ac24decbe59c1c4f4e64877618. Entity fixtures must be selected per source; generic registry preview entities are not sufficient.
When generated
- โบA valid CAPTCHA permits continued evaluation and default ALLOW.
Security relevance
InformationalFrequency notes
One event/second local test rate; independent requests, no token/session lifecycle.
Resources
Docs and tools
Generation
Configuration
- Base frequency
- 3600 events/hour
- Business hours
- 1.0x
- Night hours
- 1.0x
- Weekend
- 1.0x
Schema
Field definitions
Field reference for this event type โ types, requirements, examples, and allowed values.
timestamp
Single now() โ unix_timestamp ร 1000 โ int: epoch milliseconds.
Source: Single now() โ unix_timestamp ร 1000 โ int: epoch milliseconds.
1790894870700formatVersion
Fixed 1.
Source: Fixed 1.
1webaclId
Named service waf-api.webacl_id; pinned to the sample ACL.
Source: Named service waf-api.webacl_id; pinned to the sample ACL.
arn:aws:wafv2:us-east-1:111122223333:regional/webacl/example-captcha/fbafb30f-345b-5618-8cd9-4bb0d8f19448terminatingRuleId
Fixed "Default_Action".
Source: Fixed "Default_Action".
Default_ActionterminatingRuleType
Fixed "REGULAR".
Source: Fixed "REGULAR".
REGULARaction
Fixed "ALLOW".
Source: Fixed "ALLOW".
ALLOWterminatingRuleMatchDetails
Exactly 0 item(s) in this profile.
Source: Exactly 0 item(s) in this profile.
[]httpSourceName
Fixed "APIGW".
Source: Fixed "APIGW".
APIGWhttpSourceId
Same service http_source_id; pinned to sample account/API/stage.
Source: Same service http_source_id; pinned to sample account/API/stage.
111122223333:abc123def4:labruleGroupList
Exactly 0 item(s) in this profile.
Source: Exactly 0 item(s) in this profile.
[]rateBasedRuleList
Exactly 0 item(s) in this profile.
Source: Exactly 0 item(s) in this profile.
[]nonTerminatingMatchingRules
Exactly 1 item(s) in this profile.
Source: Exactly 1 item(s) in this profile.
[{"action":"CAPTCHA","captchaResponse":{"responseCode":0,"solveTimestamp":1790894865},"ruleId":"captcha-rule","ruleMatchDetails":[]}]nonTerminatingMatchingRules[0]
Required container; keys exactly as shown below.
Source: Required container; keys exactly as shown below.
{"action":"CAPTCHA","captchaResponse":{"responseCode":0,"solveTimestamp":1790894865},"ruleId":"captcha-rule","ruleMatchDetails":[]}nonTerminatingMatchingRules[0].ruleId
Fixed "captcha-rule".
Source: Fixed "captcha-rule".
captcha-rulenonTerminatingMatchingRules[0].action
Fixed "CAPTCHA".
Source: Fixed "CAPTCHA".
CAPTCHAnonTerminatingMatchingRules[0].ruleMatchDetails
Exactly 0 item(s) in this profile.
Source: Exactly 0 item(s) in this profile.
[]nonTerminatingMatchingRules[0].captchaResponse
Required container; keys exactly as shown below.
Source: Required container; keys exactly as shown below.
{"responseCode":0,"solveTimestamp":1790894865}nonTerminatingMatchingRules[0].captchaResponse.responseCode
Fixed 0.
Source: Fixed 0.
0nonTerminatingMatchingRules[0].captchaResponse.solveTimestamp
Same clock truncated to seconds minus five.
Source: Same clock truncated to seconds minus five.
1790894865requestHeadersInserted
Exactly 1 item(s) in this profile.
Source: Exactly 1 item(s) in this profile.
[{"name":"x-amzn-waf-test-header-name","value":"test-header-value"}]requestHeadersInserted[0]
Required container; keys exactly as shown below.
Source: Required container; keys exactly as shown below.
{"name":"x-amzn-waf-test-header-name","value":"test-header-value"}requestHeadersInserted[0].name
Fixed "x-amzn-waf-test-header-name".
Source: Fixed "x-amzn-waf-test-header-name".
x-amzn-waf-test-header-namerequestHeadersInserted[0].value
Fixed "test-header-value".
Source: Fixed "test-header-value".
test-header-valueresponseCodeSent
Fixed null.
Source: Fixed null.
nullhttpRequest
Required container; keys exactly as shown below.
Source: Required container; keys exactly as shown below.
{"args":"","clientIp":"192.0.2.41","country":"US","headers":[{"name":"X-Forwarded-For","value":"192.0.2.41"},{"name":"X-Forwarded-Proto","value":"https"},{"name":"X-Forwarded-Port","value":"443"},{"name":"Host","value":"abc123def4.execute-api.us-east-1.amazonaws.com"},{"name":"X-Amzn-Trace-Id","value":"Root=1-6abee316-fcef3751758c51565657973f"},{"name":"cache-control","value":"max-age=0"},{"name":"sec-ch-ua","value":"\"Chromium\";v=\"94\", \"Google Chrome\";v=\"94\", \";Not A Brand\";v=\"99\""},{"name":"sec-ch-ua-mobile","value":"?0"},{"name":"sec-ch-ua-platform","value":"\"Windows\""},{"name":"upgrade-insecure-requests","value":"1"},{"name":"user-agent","value":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.54 Safari/537.36"},{"name":"accept","value":"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9"},{"name":"sec-fetch-site","value":"same-origin"},{"name":"sec-fetch-mode","value":"navigate"},{"name":"sec-fetch-user","value":"?1"},{"name":"sec-fetch-dest","value":"document"},{"name":"referer","value":"https://abc123def4.execute-api.us-east-1.amazonaws.com/lab/pets"},{"name":"accept-encoding","value":"gzip, deflate, br"},{"name":"accept-language","value":"en-US,en;q=0.9"},{"name":"cookie","value":"REDACTED"}],"httpMethod":"GET","httpVersion":"HTTP/1.1","requestId":"58c67959a50fff0f","uri":"/lab/pets"}httpRequest.clientIp
Selected device ip_address.
Source: Selected device ip_address.
192.0.2.41httpRequest.country
Fixed "US".
Source: Fixed "US".
UShttpRequest.headers
Exactly 20 item(s) in this profile.
Source: Exactly 20 item(s) in this profile.
[{"name":"X-Forwarded-For","value":"192.0.2.41"},{"name":"X-Forwarded-Proto","value":"https"},{"name":"X-Forwarded-Port","value":"443"},{"name":"Host","value":"abc123def4.execute-api.us-east-1.amazonaws.com"},{"name":"X-Amzn-Trace-Id","value":"Root=1-6abee316-fcef3751758c51565657973f"},{"name":"cache-control","value":"max-age=0"},{"name":"sec-ch-ua","value":"\"Chromium\";v=\"94\", \"Google Chrome\";v=\"94\", \";Not A Brand\";v=\"99\""},{"name":"sec-ch-ua-mobile","value":"?0"},{"name":"sec-ch-ua-platform","value":"\"Windows\""},{"name":"upgrade-insecure-requests","value":"1"},{"name":"user-agent","value":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.54 Safari/537.36"},{"name":"accept","value":"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9"},{"name":"sec-fetch-site","value":"same-origin"},{"name":"sec-fetch-mode","value":"navigate"},{"name":"sec-fetch-user","value":"?1"},{"name":"sec-fetch-dest","value":"document"},{"name":"referer","value":"https://abc123def4.execute-api.us-east-1.amazonaws.com/lab/pets"},{"name":"accept-encoding","value":"gzip, deflate, br"},{"name":"accept-language","value":"en-US,en;q=0.9"},{"name":"cookie","value":"REDACTED"}]httpRequest.headers[0]
Required container; keys exactly as shown below.
Source: Required container; keys exactly as shown below.
{"name":"X-Forwarded-For","value":"192.0.2.41"}httpRequest.headers[0].name
Fixed "X-Forwarded-For".
Source: Fixed "X-Forwarded-For".
X-Forwarded-ForhttpRequest.headers[0].value
Same selected device ip_address; equals clientIp.
Source: Same selected device ip_address; equals clientIp.
192.0.2.41httpRequest.headers[1]
Required container; keys exactly as shown below.
Source: Required container; keys exactly as shown below.
{"name":"X-Forwarded-Proto","value":"https"}httpRequest.headers[1].name
Fixed "X-Forwarded-Proto".
Source: Fixed "X-Forwarded-Proto".
X-Forwarded-ProtohttpRequest.headers[1].value
Fixed "https".
Source: Fixed "https".
httpshttpRequest.headers[2]
Required container; keys exactly as shown below.
Source: Required container; keys exactly as shown below.
{"name":"X-Forwarded-Port","value":"443"}httpRequest.headers[2].name
Fixed "X-Forwarded-Port".
Source: Fixed "X-Forwarded-Port".
X-Forwarded-PorthttpRequest.headers[2].value
Fixed "443".
Source: Fixed "443".
443httpRequest.headers[3]
Required container; keys exactly as shown below.
Source: Required container; keys exactly as shown below.
{"name":"Host","value":"abc123def4.execute-api.us-east-1.amazonaws.com"}httpRequest.headers[3].name
Fixed "Host".
Source: Fixed "Host".
HosthttpRequest.headers[3].value
Fixed "abc123def4.execute-api.us-east-1.amazonaws.com".
Source: Fixed "abc123def4.execute-api.us-east-1.amazonaws.com".
abc123def4.execute-api.us-east-1.amazonaws.comhttpRequest.headers[4]
Required container; keys exactly as shown below.
Source: Required container; keys exactly as shown below.
{"name":"X-Amzn-Trace-Id","value":"Root=1-6abee316-fcef3751758c51565657973f"}httpRequest.headers[4].name
Fixed "X-Amzn-Trace-Id".
Source: Fixed "X-Amzn-Trace-Id".
X-Amzn-Trace-IdhttpRequest.headers[4].value
Root=1- + eight-digit lowercase hex epoch seconds + 24 Faker hex digits.
Source: Root=1- + eight-digit lowercase hex epoch seconds + 24 Faker hex digits.
Root=1-6abee316-fcef3751758c51565657973fhttpRequest.headers[5]
Required container; keys exactly as shown below.
Source: Required container; keys exactly as shown below.
{"name":"cache-control","value":"max-age=0"}httpRequest.headers[5].name
Fixed "cache-control".
Source: Fixed "cache-control".
cache-controlhttpRequest.headers[5].value
Fixed "max-age=0".
Source: Fixed "max-age=0".
max-age=0httpRequest.headers[6]
Required container; keys exactly as shown below.
Source: Required container; keys exactly as shown below.
{"name":"sec-ch-ua","value":"\"Chromium\";v=\"94\", \"Google Chrome\";v=\"94\", \";Not A Brand\";v=\"99\""}httpRequest.headers[6].name
Fixed "sec-ch-ua".
Source: Fixed "sec-ch-ua".
sec-ch-uahttpRequest.headers[6].value
Fixed "\"Chromium\";v=\"94\", \"Google Chrome\";v=\"94\", \";Not A Brand\";v=\"99\"".
Source: Fixed "\"Chromium\";v=\"94\", \"Google Chrome\";v=\"94\", \";Not A Brand\";v=\"99\"".
"Chromium";v="94", "Google Chrome";v="94", ";Not A Brand";v="99"httpRequest.headers[7]
Required container; keys exactly as shown below.
Source: Required container; keys exactly as shown below.
{"name":"sec-ch-ua-mobile","value":"?0"}httpRequest.headers[7].name
Fixed "sec-ch-ua-mobile".
Source: Fixed "sec-ch-ua-mobile".
sec-ch-ua-mobilehttpRequest.headers[7].value
Fixed "?0".
Source: Fixed "?0".
?0httpRequest.headers[8]
Required container; keys exactly as shown below.
Source: Required container; keys exactly as shown below.
{"name":"sec-ch-ua-platform","value":"\"Windows\""}httpRequest.headers[8].name
Fixed "sec-ch-ua-platform".
Source: Fixed "sec-ch-ua-platform".
sec-ch-ua-platformhttpRequest.headers[8].value
Fixed "\"Windows\"".
Source: Fixed "\"Windows\"".
"Windows"httpRequest.headers[9]
Required container; keys exactly as shown below.
Source: Required container; keys exactly as shown below.
{"name":"upgrade-insecure-requests","value":"1"}httpRequest.headers[9].name
Fixed "upgrade-insecure-requests".
Source: Fixed "upgrade-insecure-requests".
upgrade-insecure-requestshttpRequest.headers[9].value
Fixed "1".
Source: Fixed "1".
1httpRequest.headers[10]
Required container; keys exactly as shown below.
Source: Required container; keys exactly as shown below.
{"name":"user-agent","value":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.54 Safari/537.36"}httpRequest.headers[10].name
Fixed "user-agent".
Source: Fixed "user-agent".
user-agenthttpRequest.headers[10].value
Fixed "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.54 Safari/537.36".
Source: Fixed "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.54 Safari/537.36".
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.54 Safari/537.36httpRequest.headers[11]
Required container; keys exactly as shown below.
Source: Required container; keys exactly as shown below.
{"name":"accept","value":"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9"}httpRequest.headers[11].name
Fixed "accept".
Source: Fixed "accept".
accepthttpRequest.headers[11].value
Fixed "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9".
Source: Fixed "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9".
text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9httpRequest.headers[12]
Required container; keys exactly as shown below.
Source: Required container; keys exactly as shown below.
{"name":"sec-fetch-site","value":"same-origin"}httpRequest.headers[12].name
Fixed "sec-fetch-site".
Source: Fixed "sec-fetch-site".
sec-fetch-sitehttpRequest.headers[12].value
Fixed "same-origin".
Source: Fixed "same-origin".
same-originhttpRequest.headers[13]
Required container; keys exactly as shown below.
Source: Required container; keys exactly as shown below.
{"name":"sec-fetch-mode","value":"navigate"}httpRequest.headers[13].name
Fixed "sec-fetch-mode".
Source: Fixed "sec-fetch-mode".
sec-fetch-modehttpRequest.headers[13].value
Fixed "navigate".
Source: Fixed "navigate".
navigatehttpRequest.headers[14]
Required container; keys exactly as shown below.
Source: Required container; keys exactly as shown below.
{"name":"sec-fetch-user","value":"?1"}httpRequest.headers[14].name
Fixed "sec-fetch-user".
Source: Fixed "sec-fetch-user".
sec-fetch-userhttpRequest.headers[14].value
Fixed "?1".
Source: Fixed "?1".
?1httpRequest.headers[15]
Required container; keys exactly as shown below.
Source: Required container; keys exactly as shown below.
{"name":"sec-fetch-dest","value":"document"}httpRequest.headers[15].name
Fixed "sec-fetch-dest".
Source: Fixed "sec-fetch-dest".
sec-fetch-desthttpRequest.headers[15].value
Fixed "document".
Source: Fixed "document".
documenthttpRequest.headers[16]
Required container; keys exactly as shown below.
Source: Required container; keys exactly as shown below.
{"name":"referer","value":"https://abc123def4.execute-api.us-east-1.amazonaws.com/lab/pets"}httpRequest.headers[16].name
Fixed "referer".
Source: Fixed "referer".
refererhttpRequest.headers[16].value
Fixed "https://abc123def4.execute-api.us-east-1.amazonaws.com/lab/pets".
Source: Fixed "https://abc123def4.execute-api.us-east-1.amazonaws.com/lab/pets".
https://abc123def4.execute-api.us-east-1.amazonaws.com/lab/petshttpRequest.headers[17]
Required container; keys exactly as shown below.
Source: Required container; keys exactly as shown below.
{"name":"accept-encoding","value":"gzip, deflate, br"}httpRequest.headers[17].name
Fixed "accept-encoding".
Source: Fixed "accept-encoding".
accept-encodinghttpRequest.headers[17].value
Fixed "gzip, deflate, br".
Source: Fixed "gzip, deflate, br".
gzip, deflate, brhttpRequest.headers[18]
Required container; keys exactly as shown below.
Source: Required container; keys exactly as shown below.
{"name":"accept-language","value":"en-US,en;q=0.9"}httpRequest.headers[18].name
Fixed "accept-language".
Source: Fixed "accept-language".
accept-languagehttpRequest.headers[18].value
Fixed "en-US,en;q=0.9".
Source: Fixed "en-US,en;q=0.9".
en-US,en;q=0.9httpRequest.headers[19]
Required container; keys exactly as shown below.
Source: Required container; keys exactly as shown below.
{"name":"cookie","value":"REDACTED"}httpRequest.headers[19].name
Fixed "cookie".
Source: Fixed "cookie".
cookiehttpRequest.headers[19].value
Fixed "REDACTED".
Source: Fixed "REDACTED".
REDACTEDhttpRequest.uri
Fixed "/lab/pets".
Source: Fixed "/lab/pets".
/lab/petshttpRequest.args
Fixed "".
Source: Fixed "".
httpRequest.httpVersion
Fixed "HTTP/1.1".
Source: Fixed "HTTP/1.1".
HTTP/1.1httpRequest.httpMethod
Fixed "GET".
Source: Fixed "GET".
GEThttpRequest.requestId
Faker hexify: 16 lowercase hex characters, local synthetic nonempty-string subset.
Source: Faker hexify: 16 lowercase hex characters, local synthetic nonempty-string subset.
58c67959a50fff0f