kingfisher/crates/kingfisher-rules/data/rules/exaai.yml

46 lines
1.3 KiB
YAML

rules:
- name: Exa AI API Key
id: kingfisher.exa.1
pattern: |
(?xi)
(?:
\b(?:exa|exa[_-]?api|exa[_-]?key|exa[_-]?api[_-]?key)\b
(?:.|[\n\r]){0,96}?
|
\bx-api-key\b
(?:\s*[:=]\s*|(?:.|[\n\r]){0,16}?)
)
\b
(
[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}
)
\b
pattern_requirements:
min_digits: 4
min_entropy: 3.0
confidence: medium
examples:
- EXA_API_KEY=3f5a9c1e-2b4d-4a6f-8c10-1d2e3f4a5b6c
- 'exa_api_key: "3f5a9c1e-2b4d-4a6f-8c10-1d2e3f4a5b6c"'
- 'x-api-key: 3f5a9c1e-2b4d-4a6f-8c10-1d2e3f4a5b6c'
references:
- https://docs.exa.ai/reference/answer
- https://docs.exa.ai/reference/getting-started
validation:
type: Http
content:
request:
method: POST
url: https://api.exa.ai/answer
headers:
x-api-key: "{{ TOKEN }}"
Content-Type: application/json
Accept: application/json
body: |
{"query":"ping","text":false}
response_matcher:
- report_response: true
- type: StatusMatch
status: [200]
- type: WordMatch
words: ['"answer"']