kingfisher/crates/kingfisher-rules/data/rules/wakatime.yml
2026-03-03 16:47:59 -08:00

59 lines
1.6 KiB
YAML

rules:
- name: WakaTime API Key
id: kingfisher.wakatime.1
pattern: |
(?xi)
(?:wakatime|waka_time|WAKATIME)
(?:.|[\n\r]){0,32}?
(?:KEY|TOKEN|SECRET|API)
(?:.|[\n\r]){0,16}?
\b
(
[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}
)
\b
min_entropy: 3.0
confidence: medium
examples:
- "WAKATIME_API_KEY=a1b2c3d4-e5f6-7890-abcd-ef1234567890"
- 'wakatime_api_key: "d4e5f6a7-b8c9-0123-4567-89abcdef0123"'
- "export WAKATIME_API_KEY=f9e8d7c6-b5a4-3210-fedc-ba9876543210"
references:
- https://wakatime.com/developers
validation:
type: Http
content:
request:
method: GET
url: "https://api.wakatime.com/api/v1/users/current?api_key={{ TOKEN }}"
response_matcher:
- report_response: true
- type: StatusMatch
status: [200]
- name: WakaTime Prefixed API Key
id: kingfisher.wakatime.2
pattern: |
(?xi)
\b
(
waka_[a-z0-9]{36,64}
)
\b
min_entropy: 3.0
confidence: medium
examples:
- "WAKATIME_API_KEY=waka_a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8"
- 'api_key: "waka_f9e8d7c6b5a4321098765abcdef012345678"'
references:
- https://wakatime.com/developers
validation:
type: Http
content:
request:
method: GET
url: "https://api.wakatime.com/api/v1/users/current?api_key={{ TOKEN }}"
response_matcher:
- report_response: true
- type: StatusMatch
status: [200]