{ "enabled": true, "mode": "fail-closed", "entropyThreshold": 4.5, "minSecretLength": 16, "maxSecretsPerSession": 1000, "patterns": [ { "name": "aws_access_key_id", "pattern": "AKIA[0-9A-Z]{16}", "flags": "", "category": "credential", "description": "AWS Access Key ID starting with AKIA", "severity": "critical", "example": "AKIAIOSFODNN7EXAMPLE" }, { "name": "aws_secret_access_key", "pattern": "[0-9a-zA-Z/+]{40}", "flags": "", "category": "credential", "description": "AWS Secret Access Key (40-character base64-like string)", "severity": "critical", "example": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY" }, { "name": "azure_subscription_key", "pattern": "[a-f0-9]{32}", "flags": "", "category": "credential", "description": "Azure Subscription Key (32-character hex string)", "severity": "high", "example": "a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6" }, { "name": "gcp_api_key", "pattern": "AIza[0-9A-Za-z_-]{35}", "flags": "", "category": "api_key", "description": "Google Cloud Platform API Key starting with AIza", "severity": "high", "example": "AIzaSyDdI0hCZtE6vySjMm-WEfRq3CPzqKqqsHI" }, { "name": "gcp_oauth_token", "pattern": "ya29\\.[0-9A-Za-z_-]+", "flags": "", "category": "token", "description": "Google OAuth 2.0 Access Token starting with ya29", "severity": "critical", "example": "ya29.a0Aa4b16C3D4e5F6g7H8i9J0k1L2m3N4o5P6q7R8s9T0" }, { "name": "github_personal_token", "pattern": "ghp_[a-zA-Z0-9]{36}", "flags": "", "category": "token", "description": "GitHub Personal Access Token starting with ghp_", "severity": "critical", "example": "ghp_aBcDeFgHiJkLmNoPqRsTuVwXyZ1234567890" }, { "name": "gitlab_personal_token", "pattern": "glpat-[a-zA-Z0-9\\-]{20}", "flags": "", "category": "token", "description": "GitLab Personal Access Token starting with glpat-", "severity": "critical", "example": "glpat-abcdefghij12345678" }, { "name": "bitbucket_app_password", "pattern": "[a-zA-Z0-9]{32}@[a-zA-Z0-9_-]+", "flags": "", "category": "password", "description": "Bitbucket App Password with username suffix", "severity": "high", "example": "a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6@username" }, { "name": "slack_bot_token", "pattern": "xoxb-[0-9]{10,13}-[0-9]{10,13}-[a-zA-Z0-9]{24}", "flags": "", "category": "token", "description": "Slack Bot Token starting with xoxb-", "severity": "critical", "example": "xoxb-1234567890123-1234567890123-AbCdEfGhIjKlMnOpQrStUvWx" }, { "name": "slack_user_token", "pattern": "xoxp-[0-9]{10,13}-[0-9]{10,13}-[a-zA-Z0-9]{24}", "flags": "", "category": "token", "description": "Slack User Token starting with xoxp-", "severity": "critical", "example": "xoxp-1234567890123-1234567890123-AbCdEfGhIjKlMnOpQrStUvWx" }, { "name": "stripe_live_key", "pattern": "sk_live_[a-zA-Z0-9]{24,}", "flags": "", "category": "api_key", "description": "Stripe Live Secret Key starting with sk_live_", "severity": "critical", "example": "sk_live_abcdefghijklmnopqrstuvwxyz123456" }, { "name": "stripe_test_key", "pattern": "sk_test_[a-zA-Z0-9]{24,}", "flags": "", "category": "api_key", "description": "Stripe Test Secret Key starting with sk_test_", "severity": "high", "example": "sk_test_abcdefghijklmnopqrstuvwxyz123456" }, { "name": "jwt_token", "pattern": "eyJ[a-zA-Z0-9_-]*\\.eyJ[a-zA-Z0-9_-]*\\.[a-zA-Z0-9_-]*", "flags": "", "category": "token", "description": "JSON Web Token (JWT) in standard format", "severity": "high", "example": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIn0.dozjgNryP4J3jVmNHl0w5N_XgL0n3I9PlFUP0THgR8o" }, { "name": "bearer_token", "pattern": "Bearer\\s+[a-zA-Z0-9_\\-\\.=]+", "flags": "", "category": "token", "description": "Bearer token in Authorization header", "severity": "high", "example": "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9" }, { "name": "oauth_access_token", "pattern": "[a-zA-Z0-9_-]{20,}", "flags": "", "category": "token", "description": "OAuth 2.0 Access Token (20+ alphanumeric characters)", "severity": "high", "example": "a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0" }, { "name": "basic_auth", "pattern": "Basic\\s+[a-zA-Z0-9+/=]+", "flags": "", "category": "credential", "description": "Basic Authentication header with base64 credentials", "severity": "critical", "example": "Basic dXNlcjpwYXNzd29yZA==" }, { "name": "generic_api_key", "pattern": "(api[_-]?key|apikey)\\s*[:=]\\s*[a-zA-Z0-9_\\-]{16,}", "flags": "i", "category": "api_key", "description": "Generic API key pattern (api_key, api-key, apikey followed by value)", "severity": "medium", "example": "api_key: a1b2c3d4e5f6g7h8i9j0k1l2" }, { "name": "private_key", "pattern": "-----BEGIN\\s+(RSA\\s+)?PRIVATE\\s+KEY-----", "flags": "", "category": "private_key", "description": "Private key in PEM format (RSA or generic)", "severity": "critical", "example": "-----BEGIN RSA PRIVATE KEY-----" }, { "name": "database_connection_string", "pattern": "(postgres|mysql|mongodb|redis)://[^:]+:[^@]+@[^/]+/[^\\s]+", "flags": "", "category": "connection_string", "description": "Database connection string with embedded credentials", "severity": "critical", "example": "postgres://user:password@localhost:5432/database" }, { "name": "password_in_code", "pattern": "(password|passwd|pwd)\\s*[:=]\\s*[\"']?[^\"'\\s]{8,}[\"']?", "flags": "i", "category": "password", "description": "Password assignment in code (password = value)", "severity": "high", "example": "password = 'secret123456'" } ], "customPatterns": [] }