[settings]
max_file_bytes = 1048576
max_total_bytes = 268435456
max_targets_per_finding = 8
max_matches_per_rule = 64
min_confidence = 0.35
same_file_decay = 0.85
decay_line_step = 25
decay_max_steps = 4
decoded_confidence = 0.99
[[metadata]]
key = "account_id"
kind = "account"
service = "aws"
label = "AWS account"
[[rule]]
id = "database-uri-endpoint"
kind = "endpoint"
label = "database host"
pattern = '''(?i)\b(?:postgres|postgresql|mysql|mariadb|mongodb|mongodb\+srv|redis|rediss|amqp|amqps|mssql|sqlserver|clickhouse|cassandra|couchbase|elasticsearch)://(?:[^\s@/"'<>]*@)?([A-Za-z0-9._-]+(?::[0-9]{1,5})?)'''
group = 1
confidence = 0.95
redact = "none"
[[rule]]
id = "database-uri-name"
kind = "database"
label = "database name"
pattern = '''(?i)\b(?:postgres|postgresql|mysql|mariadb|mongodb|mongodb\+srv|mssql|sqlserver|clickhouse)://(?:[^\s@/"'<>]*@)?[A-Za-z0-9._-]+(?::[0-9]{1,5})?/([A-Za-z0-9._-]+)'''
group = 1
confidence = 0.9
redact = "none"
[[rule]]
id = "jdbc-endpoint"
kind = "endpoint"
label = "JDBC host"
pattern = '''(?i)\bjdbc:[a-z0-9]+://([A-Za-z0-9._-]+(?::[0-9]{1,5})?)'''
group = 1
confidence = 0.92
redact = "none"
[[rule]]
id = "aws-s3-uri-bucket"
kind = "resource"
label = "S3 bucket"
service = "aws"
pattern = '''\bs3://([a-z0-9][a-z0-9.-]{2,62})'''
group = 1
confidence = 0.95
redact = "none"
[[rule]]
id = "aws-s3-host-bucket"
kind = "resource"
label = "S3 bucket"
service = "aws"
pattern = '''\b([a-z0-9][a-z0-9.-]{2,62})\.s3(?:[.-][a-z0-9-]+)?\.amazonaws\.com'''
group = 1
confidence = 0.9
redact = "none"
[[rule]]
id = "aws-arn"
kind = "resource"
label = "AWS ARN"
service = "aws"
pattern = '''\b(arn:aws[a-z-]*:[a-z0-9-]+:[a-z0-9-]*:[0-9]{0,12}:[^\s"'<>,]+)'''
group = 1
confidence = 0.97
redact = "none"
[[rule]]
id = "aws-service-endpoint"
kind = "endpoint"
label = "AWS service endpoint"
service = "aws"
pattern = '''\b([a-z0-9][a-z0-9.-]*\.(?:[a-z]{2}-[a-z]+-[0-9]\.)?amazonaws\.com)'''
group = 1
confidence = 0.85
redact = "none"
[[rule]]
id = "azure-storage-account"
kind = "account"
label = "Azure storage account"
service = "azure"
pattern = '''\b([a-z0-9]{3,24})\.(?:blob|queue|table|file|dfs)\.core\.windows\.net'''
group = 1
confidence = 0.95
redact = "none"
[[rule]]
id = "azure-sql-server"
kind = "endpoint"
label = "Azure SQL server"
service = "azure"
pattern = '''\b([a-z0-9-]{1,63}\.database\.windows\.net)'''
group = 1
confidence = 0.95
redact = "none"
[[rule]]
id = "azure-tenant-domain"
kind = "tenant"
label = "Entra ID tenant"
service = "azure"
pattern = '''\b([a-z0-9-]{1,63}\.onmicrosoft\.com)'''
group = 1
confidence = 0.95
redact = "none"
[[rule]]
id = "gcp-project-id"
kind = "tenant"
label = "GCP project"
service = "gcp"
pattern = '''"project_id"\s*:\s*"([a-z][a-z0-9-]{4,28}[a-z0-9])"'''
group = 1
confidence = 0.97
redact = "none"
[[rule]]
id = "gcp-storage-bucket"
kind = "resource"
label = "GCS bucket"
service = "gcp"
pattern = '''\bgs://([a-z0-9][a-z0-9._-]{2,62})'''
group = 1
confidence = 0.95
redact = "none"
[[rule]]
id = "firebase-instance"
kind = "resource"
label = "Firebase instance"
service = "firebase"
pattern = '''\b([a-z0-9-]{3,63})\.firebaseio\.com'''
group = 1
confidence = 0.95
redact = "none"
[[rule]]
id = "slack-workspace"
kind = "tenant"
label = "Slack workspace"
service = "slack"
pattern = '''hooks\.slack\.com/services/(T[A-Z0-9]{6,20})'''
group = 1
confidence = 0.95
redact = "none"
[[rule]]
id = "slack-webhook-channel"
kind = "resource"
label = "Slack webhook channel"
service = "slack"
pattern = '''hooks\.slack\.com/services/T[A-Z0-9]{6,20}/(B[A-Z0-9]{6,20})'''
group = 1
confidence = 0.9
redact = "none"
[[rule]]
id = "okta-org"
kind = "tenant"
label = "Okta org"
service = "okta"
pattern = '''\b([a-z0-9-]{1,40}\.okta(?:preview)?\.com)'''
group = 1
confidence = 0.95
redact = "none"
[[rule]]
id = "atlassian-site"
kind = "tenant"
label = "Atlassian site"
service = "atlassian"
pattern = '''\b([a-z0-9-]{1,40})\.atlassian\.net'''
group = 1
confidence = 0.95
redact = "none"
[[rule]]
id = "shopify-store"
kind = "tenant"
label = "Shopify store"
service = "shopify"
pattern = '''\b([a-z0-9-]{1,60})\.myshopify\.com'''
group = 1
confidence = 0.95
redact = "none"
[[rule]]
id = "supabase-project"
kind = "tenant"
label = "Supabase project"
service = "supabase"
pattern = '''\b([a-z]{20})\.supabase\.co'''
group = 1
confidence = 0.95
redact = "none"
[[rule]]
id = "git-repository"
kind = "resource"
label = "git repository"
pattern = '''(?i)\b(?:github\.com|gitlab\.com|bitbucket\.org)[:/]([A-Za-z0-9][A-Za-z0-9._-]{0,38}/[A-Za-z0-9][A-Za-z0-9._-]{0,99})'''
group = 1
confidence = 0.8
redact = "none"
[[rule]]
id = "declared-api-endpoint"
kind = "endpoint"
label = "declared API endpoint"
pattern = '''(?i)\b(?:api[_-]?url|base[_-]?url|endpoint[_-]?url|service[_-]?url|host[_-]?url|api[_-]?base|endpoint)\s*[:=]\s*["']?(https?://[A-Za-z0-9._-]+(?::[0-9]{1,5})?)'''
group = 1
confidence = 0.6
redact = "none"