[INS-465] Add datadogapikey detector to defaults.go (#4969)

This commit is contained in:
Mustansir
2026-06-09 10:49:34 +05:00
committed by GitHub
parent 6cefc1efcc
commit ba02c92dc9
5 changed files with 21 additions and 8 deletions
+1
View File
@@ -533,6 +533,7 @@ func run(state overseer.State, logSync func() error) {
feature.CloudinaryDetectorEnabled.Store(true) feature.CloudinaryDetectorEnabled.Store(true)
feature.GitLabOAuthDetectorEnabled.Store(true) feature.GitLabOAuthDetectorEnabled.Store(true)
feature.EnigmaDetectorEnabled.Store(true) feature.EnigmaDetectorEnabled.Store(true)
feature.DatadogApiKeyDetectorEnabled.Store(true)
conf := &config.Config{} conf := &config.Config{}
if *configFilename != "" { if *configFilename != "" {
@@ -72,6 +72,9 @@ func TestDataDogApiKey_FromChunk(t *testing.T) {
DetectorType: detector_typepb.DetectorType_DatadogApikey, DetectorType: detector_typepb.DetectorType_DatadogApikey,
Verified: false, Verified: false,
Raw: []byte(invalidApiKey), Raw: []byte(invalidApiKey),
SecretParts: map[string]string{
"api_key": invalidApiKey,
},
}, },
}, },
wantErr: false, wantErr: false,
+4
View File
@@ -218,6 +218,7 @@ import (
"github.com/trufflesecurity/trufflehog/v3/pkg/detectors/dareboost" "github.com/trufflesecurity/trufflehog/v3/pkg/detectors/dareboost"
"github.com/trufflesecurity/trufflehog/v3/pkg/detectors/databox" "github.com/trufflesecurity/trufflehog/v3/pkg/detectors/databox"
"github.com/trufflesecurity/trufflehog/v3/pkg/detectors/databrickstoken" "github.com/trufflesecurity/trufflehog/v3/pkg/detectors/databrickstoken"
"github.com/trufflesecurity/trufflehog/v3/pkg/detectors/datadogapikey"
"github.com/trufflesecurity/trufflehog/v3/pkg/detectors/datadogtoken" "github.com/trufflesecurity/trufflehog/v3/pkg/detectors/datadogtoken"
"github.com/trufflesecurity/trufflehog/v3/pkg/detectors/datagov" "github.com/trufflesecurity/trufflehog/v3/pkg/detectors/datagov"
"github.com/trufflesecurity/trufflehog/v3/pkg/detectors/deepai" "github.com/trufflesecurity/trufflehog/v3/pkg/detectors/deepai"
@@ -1097,6 +1098,7 @@ func buildDetectorList() []detectors.Detector {
&dareboost.Scanner{}, &dareboost.Scanner{},
&databox.Scanner{}, &databox.Scanner{},
&databrickstoken.Scanner{}, &databrickstoken.Scanner{},
&datadogapikey.Scanner{},
&datadogtoken.Scanner{}, &datadogtoken.Scanner{},
&datagov.Scanner{}, &datagov.Scanner{},
// &debounce.Scanner{}, // &debounce.Scanner{},
@@ -1780,6 +1782,8 @@ func buildDetectorList() []detectors.Detector {
return !feature.GitLabOAuthDetectorEnabled.Load() return !feature.GitLabOAuthDetectorEnabled.Load()
case *enigma.Scanner: case *enigma.Scanner:
return !feature.EnigmaDetectorEnabled.Load() return !feature.EnigmaDetectorEnabled.Load()
case *datadogapikey.Scanner:
return !feature.DatadogApiKeyDetectorEnabled.Load()
default: default:
return false return false
} }
+12 -8
View File
@@ -111,25 +111,29 @@ func TestAllDetectorTypesAreInDefaultList(t *testing.T) {
// //
// TODO: audit this list periodically — entries in the "mistakenly missed" group // TODO: audit this list periodically — entries in the "mistakenly missed" group
// should be removed once the corresponding detector is added to defaults.go. // should be removed once the corresponding detector is added to defaults.go.
//
//nolint:staticcheck // SA1019: intentionally references deprecated DetectorType values to keep them excluded. //nolint:staticcheck // SA1019: intentionally references deprecated DetectorType values to keep them excluded.
var excludedFromDefaultList = map[detector_typepb.DetectorType]struct{}{ var excludedFromDefaultList = map[detector_typepb.DetectorType]struct{}{
// TODO: these detectors have implementations but were mistakenly never added // TODO: these detectors have implementations but were mistakenly never added
// to buildDetectorList() — discovered by TestAllDetectorTypesAreInDefaultList. // to buildDetectorList() — discovered by TestAllDetectorTypesAreInDefaultList.
// They are not added immediately out of caution for the impact on customers/users. // They are not added immediately out of caution for the impact on customers/users.
// Remove each entry once its detector has been carefully added. // Remove each entry once its detector has been carefully added.
detector_typepb.DetectorType_Guru: {},
detector_typepb.DetectorType_IPInfo: {},
detector_typepb.DetectorType_Lob: {},
detector_typepb.DetectorType_Rev: {},
detector_typepb.DetectorType_TLy: {},
detector_typepb.DetectorType_Tru: {},
detector_typepb.DetectorType_User: {},
detector_typepb.DetectorType_Wit: {},
// Feature flag gated detectors
// These should be removed from this list when we remove the feature flag
detector_typepb.DetectorType_Cloudinary: {}, detector_typepb.DetectorType_Cloudinary: {},
detector_typepb.DetectorType_DatadogApikey: {}, detector_typepb.DetectorType_DatadogApikey: {},
detector_typepb.DetectorType_Enigma: {}, detector_typepb.DetectorType_Enigma: {},
detector_typepb.DetectorType_GitLabOauth2: {}, detector_typepb.DetectorType_GitLabOauth2: {},
detector_typepb.DetectorType_Guru: {},
detector_typepb.DetectorType_IPInfo: {},
detector_typepb.DetectorType_Lob: {},
detector_typepb.DetectorType_Pinecone: {}, detector_typepb.DetectorType_Pinecone: {},
detector_typepb.DetectorType_Rev: {},
detector_typepb.DetectorType_TLy: {},
detector_typepb.DetectorType_Tru: {},
detector_typepb.DetectorType_User: {},
detector_typepb.DetectorType_Wit: {},
// Reserved / special types. // Reserved / special types.
detector_typepb.DetectorType_CustomRegex: {}, // added dynamically via engine config, not via buildDetectorList() detector_typepb.DetectorType_CustomRegex: {}, // added dynamically via engine config, not via buildDetectorList()
+1
View File
@@ -20,6 +20,7 @@ var (
CloudinaryDetectorEnabled atomic.Bool CloudinaryDetectorEnabled atomic.Bool
GitLabOAuthDetectorEnabled atomic.Bool GitLabOAuthDetectorEnabled atomic.Bool
EnigmaDetectorEnabled atomic.Bool EnigmaDetectorEnabled atomic.Bool
DatadogApiKeyDetectorEnabled atomic.Bool
) )
type AtomicString struct { type AtomicString struct {