40 lines
963 B
Go
40 lines
963 B
Go
package rules
|
|
|
|
import (
|
|
"github.com/zricethezav/gitleaks/v8/cmd/generate/config/utils"
|
|
"github.com/zricethezav/gitleaks/v8/config"
|
|
)
|
|
|
|
func Notion() *config.Rule {
|
|
// Define the identifiers that match the Keywords
|
|
identifiers := []string{"ntn_"}
|
|
|
|
// Define the regex pattern for Notion API token
|
|
secretRegex := `ntn_[0-9]{11}[A-Za-z0-9]{32}[A-Za-z0-9]{3}`
|
|
|
|
regex := utils.GenerateUniqueTokenRegex(secretRegex, false)
|
|
|
|
r := config.Rule{
|
|
Description: "Notion API token",
|
|
RuleID: "notion-api-token",
|
|
Regex: regex,
|
|
Entropy: 4,
|
|
Keywords: identifiers,
|
|
}
|
|
|
|
// validate
|
|
tps := []string{
|
|
"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",
|
|
"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",
|
|
"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",
|
|
}
|
|
|
|
fps := []string{
|
|
"ntn_12345678901",
|
|
"ntn_123456789012345678901234567890123456789012345678901234567890",
|
|
"ntn_12345678901abc",
|
|
}
|
|
|
|
return utils.Validate(r, tps, fps)
|
|
}
|