keyhog-core 0.5.4

keyhog-core — shared data model and detector specifications for the KeyHog secret scanner
Documentation
# Docs: https://www.falconpy.io/Usage/Authenticating-to-the-API.html
# Format: Client ID (32 alphanumeric) and Client Secret (32 alphanumeric) pair
# Verify: POST /oauth2/token to obtain bearer token
# Prefix: none (requires context anchoring)

[detector]
id = "crowdstrike-api-credentials"
name = "CrowdStrike API Credentials"
service = "crowdstrike"
severity = "critical"
keywords = ["CROWDSTRIKE", "crowdstrike", "FALCON", "falcon", "CS_CLIENT"]

[[detector.patterns]]
regex = "(?:CROWDSTRIKE|crowdstrike|FALCON|falcon)[_\\s]*(?:CLIENT[_\\s]*)?ID[=:\\s\"'']+([a-f0-9]{32})"
description = "CrowdStrike client ID with context anchor"
group = 1

[[detector.patterns]]
regex = "(?:CROWDSTRIKE|crowdstrike|FALCON|falcon)[_\\s]*(?:CLIENT[_\\s]*)?(?:SECRET|KEY)[=:\\s\"'']+([a-f0-9]{32})"
description = "CrowdStrike client secret with context anchor"
group = 1

[[detector.companions]]
name = "client_secret"
regex = "(?:CROWDSTRIKE|crowdstrike|FALCON|falcon)[_\\s]*(?:CLIENT[_\\s]*)?(?:SECRET|KEY)[=:\\s\"'']+[a-f0-9]{32}"
within_lines = 5