Webhook Exposure
Detects exposed webhook URLs with embedded tokens and secrets
5 rules in webhook_exposure.yml
CRITICAL: 1 | HIGH: 3 | MEDIUM: 1
| Rule ID | Severity | Title | Description | Refs |
|---|---|---|---|---|
scim_ | CRITICAL | SCIM Provisioning Endpoint Exposed Publicly Or Bearer-Token Literal | A task exposes a /scim/v2/* endpoint without an IP allowlist / mutual-TLS / WAF rule, or hard-codes the SCIM bearer token (Authorization: Bearer ... literal, scim_token: eyJ...). SCIM is the identity-sync firehose - a compromised SCIM endpoint lets an attacker provision admin accounts, disable MFA factors, and reset passwords for every user the IdP manages. | |
discord_ | HIGH | Discord Webhook URL with Token | discord(app).com/api/webhooks/ | |
slack_ | HIGH | Slack Webhook URL with Token | hooks.slack.com/services/ | |
teams_ | HIGH | Microsoft Teams Webhook URL | Microsoft Teams webhook URL contains embedded authentication | |
generic_ | MEDIUM | Generic Webhook URL with Token | An arbitrary webhook URL carries a ?token= / ?secret= / ?key= query parameter with a 10+ char value. The credential is in clear text in any logs that record the URL. |