| 123456789101112131415161718192021222324252627282930313233343536 |
- package rules
- import (
- "regexp"
- "github.com/rs/zerolog/log"
- "github.com/zricethezav/gitleaks/v8/config"
- "github.com/zricethezav/gitleaks/v8/detect"
- )
- func PyPiUploadToken() *config.Rule {
- // define rule
- r := config.Rule{
- Description: "PyPI upload token",
- RuleID: "pypi-upload-token",
- Regex: regexp.MustCompile(
- `pypi-AgEIcHlwaS5vcmc[A-Za-z0-9\-_]{50,1000}`),
- Keywords: []string{
- "pypi-AgEIcHlwaS5vcmc",
- },
- }
- // validate
- tps := []string{"pypiToken := \"pypi-AgEIcHlwaS5vcmc" + sampleHex32Token +
- sampleHex32Token + "\""}
- d := detect.NewDetector(config.Config{
- Rules: []*config.Rule{&r},
- })
- for _, tp := range tps {
- if len(d.DetectString(tp)) != 1 {
- log.Fatal().Msg("Failed to validate pypi-upload-token")
- }
- }
- return &r
- }
|