forked from mirrors/kingfisher
42 lines
1.1 KiB
YAML
42 lines
1.1 KiB
YAML
rules:
|
|
- name: Statuspage API Key
|
|
id: kingfisher.statuspage.1
|
|
pattern: |
|
|
(?xi)
|
|
\b
|
|
statuspage
|
|
(?:.|[\n\r]){0,32}?
|
|
(?:SECRET|PRIVATE|ACCESS|KEY|TOKEN|API)
|
|
(?:.|[\n\r]){0,48}?
|
|
\b
|
|
(
|
|
[0-9a-f]{64}
|
|
|
|
|
# Legacy UUID-ish keys (seen in older configs)
|
|
[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}
|
|
)
|
|
\b
|
|
pattern_requirements:
|
|
min_digits: 2
|
|
min_entropy: 3.5
|
|
confidence: medium
|
|
examples:
|
|
- 'statuspage_api: OAuth 89a229ce1a8dbcf9ff30430fbe35eb4c0426574bca932061892cefd2138aa4b1'
|
|
- statuspage_key = 123e4567-e89b-12d3-a456-426614174000
|
|
references:
|
|
- https://developer.statuspage.io/
|
|
validation:
|
|
type: Http
|
|
content:
|
|
request:
|
|
method: GET
|
|
url: "https://api.statuspage.io/v1/pages"
|
|
headers:
|
|
Authorization: "OAuth {{ TOKEN }}"
|
|
Accept: "application/json"
|
|
response_matcher:
|
|
- report_response: true
|
|
- type: StatusMatch
|
|
status: [200]
|
|
- type: WordMatch
|
|
words: ['"id"', '"name"']
|