[detector]
id = "optimism-api-credentials"
name = "Optimism API Credentials"
service = "optimism"
severity = "high"
keywords = ["optimism", "OPTIMISM", "op", "OP", "optimistic.etherscan", "optimism.io"]
[[detector.patterns]]
regex = '(?:optimism|OPTIMISM|op|OP)[._-]?(?:rpc|RPC)[._-]?(?:url|URL|endpoint)[=:" \s]+(https?://[a-zA-Z0-9._-]+\.g\.alchemy\.com/v2/[a-zA-Z0-9_-]+)'
description = "Optimism RPC URL with Alchemy API key"
group = 1
[[detector.patterns]]
regex = '(?:optimism|OPTIMISM|op|OP)[._-]?(?:rpc|RPC)[._-]?(?:url|URL|endpoint)[=:" \s]+(https?://[a-zA-Z0-9._-]+/optimism/[a-zA-Z0-9_-]+)'
description = "Optimism RPC URL with embedded access token"
group = 1
[[detector.patterns]]
regex = '(?:optimism|OPTIMISM|op|OP)[._-]?(?:rpc|RPC)[._-]?(?:url|URL|endpoint)[=:" \s]+(https?://api-[a-zA-Z0-9._-]+\.dwellir\.com/[a-zA-Z0-9_-]+)'
description = "Optimism RPC URL with Dwellir API key"
group = 1
[[detector.patterns]]
regex = '(?:optimism|OPTIMISM|op|OP)[._-]?(?:api|API)[._-]?key[=:" \s]+([a-f0-9]{32})'
description = "Optimism API key (32 hex characters)"
group = 1