diff --git a/detect_secrets/plugins/slack.py b/detect_secrets/plugins/slack.py index 3a1805e0..abd9b9bd 100644 --- a/detect_secrets/plugins/slack.py +++ b/detect_secrets/plugins/slack.py @@ -27,13 +27,26 @@ class SlackDetector(RegexBasedDetector): ), ) - def verify(self, token, **kwargs): # pragma: no cover - response = requests.post( - 'https://slack.com/api/auth.test', - data={ - 'token': token, - }, - ).json() - - return VerifiedResult.VERIFIED_TRUE if response['ok'] \ + def verify(self, token, **kwargs): # pragma: no cover + if token.startswith('https://hooks.slack.com/services/T'): + response = requests.post( + token, + json={ + 'text': '', + }, + ) + valid = response.text == "missing_text_or_fallback_or_attachments" + else: + response = requests.post( + 'https://slack.com/api/auth.test', + data={ + 'token': token, + }, + ).json() + valid = response['ok'] + + return ( + VerifiedResult.VERIFIED_TRUE + if valid else VerifiedResult.VERIFIED_FALSE + ) \ No newline at end of file