Prechádzať zdrojové kódy

adding airtable and adafruit (#902)

Zachary Rice 3 rokov pred
rodič
commit
9cc19ec0f8

+ 2 - 0
cmd/generate/config/main.go

@@ -16,9 +16,11 @@ const (
 
 func main() {
 	configRules := []*config.Rule{}
+	configRules = append(configRules, rules.AdafruitAPIKey())
 	configRules = append(configRules, rules.AdobeClientID())
 	configRules = append(configRules, rules.AdobeClientSecret())
 	configRules = append(configRules, rules.AgeSecretKey())
+	configRules = append(configRules, rules.Airtable())
 	configRules = append(configRules, rules.AlgoliaApiKey())
 	configRules = append(configRules, rules.AlibabaAccessKey())
 	configRules = append(configRules, rules.AlibabaSecretKey())

+ 23 - 0
cmd/generate/config/rules/adafruit.go

@@ -0,0 +1,23 @@
+package rules
+
+import (
+	"github.com/zricethezav/gitleaks/v8/cmd/generate/secrets"
+	"github.com/zricethezav/gitleaks/v8/config"
+)
+
+func AdafruitAPIKey() *config.Rule {
+	// define rule
+	r := config.Rule{
+		Description: "Adafruit API Key",
+		RuleID:      "adafruit-api-key",
+		Regex:       generateSemiGenericRegex([]string{"adafruit"}, alphaNumericExtendedShort("32")),
+		SecretGroup: 1,
+		Keywords:    []string{"adafruit"},
+	}
+
+	// validate
+	tps := []string{
+		generateSampleSecret("adafruit", secrets.NewSecret(alphaNumericExtendedShort("32"))),
+	}
+	return validate(r, tps, nil)
+}

+ 23 - 0
cmd/generate/config/rules/airtable.go

@@ -0,0 +1,23 @@
+package rules
+
+import (
+	"github.com/zricethezav/gitleaks/v8/cmd/generate/secrets"
+	"github.com/zricethezav/gitleaks/v8/config"
+)
+
+func Airtable() *config.Rule {
+	// define rule
+	r := config.Rule{
+		Description: "Airtable API Key",
+		RuleID:      "airtable-api-key",
+		Regex:       generateSemiGenericRegex([]string{"airtable"}, alphaNumeric("17")),
+		SecretGroup: 1,
+		Keywords:    []string{"airtable"},
+	}
+
+	// validate
+	tps := []string{
+		generateSampleSecret("airtable", secrets.NewSecret(alphaNumeric("17"))),
+	}
+	return validate(r, tps, nil)
+}

+ 18 - 0
config/gitleaks.toml

@@ -20,6 +20,15 @@ paths = [
     '''vendor''',
 ]
 
+[[rules]]
+description = "Adafruit API Key"
+id = "adafruit-api-key"
+regex = '''(?i)(?:adafruit)(?:[0-9a-z\-_\t .]{0,20})(?:[\s|']|[\s|"]){0,3}(?:=|>|:=|\|\|:|<=|=>|:)(?:'|\"|\s|=|\x60){0,5}([a-z0-9_-]{32})(?:['|\"|\n|\r|\s|\x60]|$)'''
+secretGroup = 1
+keywords = [
+    "adafruit",
+]
+
 [[rules]]
 description = "Adobe Client ID (Oauth Web)"
 id = "adobe-client-id"
@@ -45,6 +54,15 @@ keywords = [
     "age-secret-key-1",
 ]
 
+[[rules]]
+description = "Airtable API Key"
+id = "airtable-api-key"
+regex = '''(?i)(?:airtable)(?:[0-9a-z\-_\t .]{0,20})(?:[\s|']|[\s|"]){0,3}(?:=|>|:=|\|\|:|<=|=>|:)(?:'|\"|\s|=|\x60){0,5}([a-z0-9]{17})(?:['|\"|\n|\r|\s|\x60]|$)'''
+secretGroup = 1
+keywords = [
+    "airtable",
+]
+
 [[rules]]
 description = "Algolia API Key"
 id = "algolia-api-key"