diff --git a/pkg/detectors/browserstack/browserstack.go b/pkg/detectors/browserstack/browserstack.go index f0802c42c..2a6075156 100644 --- a/pkg/detectors/browserstack/browserstack.go +++ b/pkg/detectors/browserstack/browserstack.go @@ -20,8 +20,8 @@ var ( client = common.SaneHttpClient() // Make sure that your group is surrounded in boundary characters such as below to reduce false positives. - keyPat = regexp.MustCompile(detectors.PrefixRegex([]string{"browserstack", "key", "automate", "local"}) + `\b([0-9a-zA-Z]{20})\b`) - userPat = regexp.MustCompile(detectors.PrefixRegex([]string{"browserstack", "user", "automate", "local"}) + `\b(^[a-zA-Z\d]+([._-]?[a-zA-Z\d]+)*[a-zA-Z\d]+$)\b`) + keyPat = regexp.MustCompile(detectors.PrefixRegex([]string{"browserstack", "key", "automate", "local"}) + `\b([0-9a-zA-Z_]{20})\b`) + userPat = regexp.MustCompile(detectors.PrefixRegex([]string{"browserstack", "user", "automate", "local"}) + `\b([a-zA-Z\d]{3,18}[._-]+[a-zA-Z\d]{6})\b`) ) // Keywords are used for efficiently pre-filtering chunks. diff --git a/pkg/detectors/browserstack/browserstack_test.go b/pkg/detectors/browserstack/browserstack_test.go index b12edb855..26e2cd01e 100644 --- a/pkg/detectors/browserstack/browserstack_test.go +++ b/pkg/detectors/browserstack/browserstack_test.go @@ -51,6 +51,7 @@ func TestBrowserStack_FromChunk(t *testing.T) { { DetectorType: detectorspb.DetectorType_BrowserStack, Verified: true, + RawV2: []byte(fmt.Sprintf("%s%s", secret, secretUser)), }, }, wantErr: false, @@ -67,6 +68,7 @@ func TestBrowserStack_FromChunk(t *testing.T) { { DetectorType: detectorspb.DetectorType_BrowserStack, Verified: false, + RawV2: []byte(fmt.Sprintf("%s%s", inactiveSecret, secretUser)), }, }, wantErr: false,